dtv2ser is a small hardware device that bridges TLR’s dtvtrans protocol used to communicate with a DTV via a RS232 interface to your Mac or PC. By using an internal or external serial-to-USB adapter the dtv2ser provides dtvtrans access for all modern PCs where the original dtvtrans parallel cable cannot be used.

The data flow is as follows:

DTV <--dtvtrans--> dtv2ser <--RS232--> USB2Serial <--USB--> Mac/PC


The dtv2ser package currently consists of the following parts:

  1. Hardware
    • 1. board: internal prototype with ATmega8 and RS232 connected via MAX232A and external USB/serial dongle
    • 2. board: protoype design (cvm8board) with published schematics containing ATmega8 in a USB-Stick-like board with FT 232 RL based USB-to-serial chip running at 14.54760 MHz. Limited number of boards were available but now sold out.
    • 3. board: off-the-shelf Arduino 2009 board with minimal adapter HW running an ATmega168 with 16 MHz. This is the current design (as of v0.5) and suitable for all users that want to build their own dtv2ser device.
    • all have 3 LEDs for Status: “Ready”, “Transmit”, “Error”
    • wiring for the dtvtrans DB-9 joystick connector
  2. dtv2ser Server Firmware
    • full dtvtrans command set
    • a full featured firmware with rich command set
    • full description of the dtv2ser serial protocol
    • high speed UART serial transfer 115.2 kbps up to 230.4 kbps
    • hardware RTS/CTS handshaking, 8 bit data, parity none, 1 stop bit
    • config parameters settable during runtime and storable in EEPROM
    • includes AVR bootloader that allows to upgrad the firmware directly via serial and without an ISP
  3. dtv2sertrans Client Tool
    • dtv2sertrans command line tool (similar to original dtvtrans tool)
    • python module for dtv2ser communication
    • portable: runs on Mac, Linux and Windows
    • requires PySerial


  • Version 0.5 – 11.12.2010:
    • size: 1128081
    • md5: f6df968c33acf6d806ad4d785fdbc804
    • minor bug fix release
    • added support for Arduino 2009 boards
  • Version 0.4 – 28.9.2008:
    • size: 1120051
    • md5: 4b8b372d5d078a91c86649d49f4753ee
    • added full dtvtrans 1.0 support (load, save, run, init)
    • added full flash support (sync, dump, map, program, erase, …)
  • Version 0.3 – 3.3.2008:
    • size: 1060708
    • md5: 71c2cba9a53df4d7e521ee7dc1f7e545
    • added fast transfer for dtvtrans 1.0
    • added AutoType and JoyStream
    • added fully automatic bootstrap for mini-modded DTV
  • Version 0.2 – 29.11.2007:
    • size: 1020063
    • md5: fa151986e1ea142c4c07d340c6364720
    • added dtv2ser+usb device schematic and board
    • added ‘boot’ command
    • added serial bootloader for AVR
  • Version 0.1 – 11.09.2007:
    • size: 362418
    • md5: 984ca9c048ae1a6d3c2707d42754e32d
    • initial public release

The archive contains all GPL’ed source code for the dtv2ser server firmware, pre-compiled firmware, the Mac/PC client written in Python (running on Mac OS X, Linux, and Windows), and the schematic for the Hardware.



My dtv2ser connected to my modded DTV (blue case) and attached to my Keyspan USA-HS19 USB-to-Serial adapter.

My development setup: MacBook Pro (left) connected via dtv2ser to my DTV (blue box).

Arduino 2009 board connected as a dtv2ser device to my good old DTV mod.

11 comments to dtv2ser

Leave a Reply