{"id":187,"date":"2010-12-11T23:03:26","date_gmt":"2010-12-11T21:03:26","guid":{"rendered":"http:\/\/lallafa.de\/blog\/"},"modified":"2012-02-26T14:25:22","modified_gmt":"2012-02-26T12:25:22","slug":"arduino","status":"publish","type":"page","link":"https:\/\/lallafa.de\/blog\/c64-projects\/dtv2ser\/arduino\/","title":{"rendered":"dtv2ser Arduino"},"content":{"rendered":"<h3><strong><a href=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-side.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"193\" data-permalink=\"https:\/\/lallafa.de\/blog\/c64-projects\/dtv2ser\/arduino\/dtv2ardu-side\/\" data-orig-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-side.jpg?fit=320%2C213&amp;ssl=1\" data-orig-size=\"320,213\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"dtv2ardu-side\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-side.jpg?fit=300%2C199&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-side.jpg?fit=320%2C213&amp;ssl=1\" class=\"aligncenter size-full wp-image-193\" title=\"dtv2ardu-side\" src=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-side.jpg?resize=320%2C213\" alt=\"\" width=\"320\" height=\"213\" srcset=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-side.jpg?w=320&amp;ssl=1 320w, https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-side.jpg?resize=300%2C199&amp;ssl=1 300w, https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-side.jpg?resize=150%2C99&amp;ssl=1 150w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><\/a>1. Introduction<\/strong><\/h3>\n<p>The original dtv2ser project uses a custom made board with an ATmega8 to provide the interface between a serial port and the DTV dtvtrans software. The layout and the schematics for the board are freely available but unfortunately most users have difficulties to create the HW from scratch.<\/p>\n<p>With the <a href=\"http:\/\/www.arduino.cc\">Arduino platform<\/a> an AVR ATmega platform was released to the public that is available very easily and rather cheap. This document describes how to transform an off-the shelve Arduino board into a dtv2ser device. The HW modifications required are very simple and this allows even unexperienced users to create their own device.<\/p>\n<h3><strong>2. HW Requirements<\/strong><\/h3>\n<ul>\n<li> An &#8220;Arduino 2009&#8221; aka &#8220;Arduino Duemilanove&#8221; board with ATmega168 or ATmega328<\/li>\n<li> 3x LEDs (red, green, blue)<\/li>\n<li> 3x 220 Ohm Resistors<\/li>\n<li> A DB9 female connector (for the DTV joystick port)<\/li>\n<li> some wire<\/li>\n<\/ul>\n<p>The Arduino2009 has an ATmega168\/328 with 16 MHz clock frequency on the board and provides a USB\/Serial connector with a FT232 chip that has HW RTS\/CTS handshaking support.<\/p>\n<p>You can use one of the many Arduino clones (Seeduino, &#8230;) if they have similar HW parameters.<\/p>\n<p><strong>Update (26.2.2012): <\/strong>Even the new Arduino Uno is supported. As it does not have a FT 232 USB chip with HW RTS\/CTS on board it does not allow you to enable HW handshaking as described on this page. You rather have to buy an extra FT232 break out board (e.g. from <a href=\"http:\/\/www.sparkfun.com\/products\/718\">sparkfun<\/a>) with RTS\/CTS signals available and then connect TxD, RxD, RTS, CTS, and GND from this board to your Arduino on the mentioned pins. This <a href=\"http:\/\/www.forum64.de\/wbb3\/board65-neue-hardware\/board289-diverses\/board155-c64-dtv\/40252-dtv2ser-0-5-released\/\">Forum64 thread<\/a> gives instructions on this mod (in german). Then the same firmware can be used.<\/p>\n<p>The Arduino2009&#8217;s USB to serial connector is used with 250kB\/s as a transfer rate. Please make sure that your host operating system allows to set this non-standard speed. Its reported to work on Mac OS X and Windows with the FTDI drivers.<\/p>\n<h3><strong>3. HW Build Instructions<\/strong><\/h3>\n<p><strong> <\/strong><strong><a href=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-detail.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"194\" data-permalink=\"https:\/\/lallafa.de\/blog\/c64-projects\/dtv2ser\/arduino\/dtv2ardu-detail\/\" data-orig-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-detail.jpg?fit=640%2C426&amp;ssl=1\" data-orig-size=\"640,426\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"dtv2ardu-detail\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-detail.jpg?fit=300%2C199&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-detail.jpg?fit=584%2C389&amp;ssl=1\" class=\"aligncenter size-medium wp-image-194\" title=\"dtv2ardu-detail\" src=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-detail-300x199.jpg?resize=300%2C199\" alt=\"\" width=\"300\" height=\"199\" srcset=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-detail.jpg?resize=300%2C199&amp;ssl=1 300w, https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-detail.jpg?resize=150%2C99&amp;ssl=1 150w, https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-detail.jpg?resize=400%2C266&amp;ssl=1 400w, https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-detail.jpg?w=640&amp;ssl=1 640w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>3.1 Add CTS Line to the AVR<\/strong><\/p>\n<p>The vanilla Arduino board does not allow to control the HW CTS serial signal from the AVR chip. But this is required to allow high performance data transfer for the dtv2ser firmware. Fortunately, this signal of the FT232 chip is available on the solder pad X3 and can be added by soldering a wire from there to a pin that is connected to the AVR port labeled &#8220;DIGITAL 2&#8221;.<\/p>\n<p><code>.\u00c2\u00a0 Solder Pad X3\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 DIGITAL .<br \/>\n.\u00c2\u00a0 4\u00c2\u00a0\u00c2\u00a0 3\u00c2\u00a0\u00c2\u00a0 2\u00c2\u00a0\u00c2\u00a0 1 \u00c2\u00a0 \u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 .<br \/>\n.\u00c2\u00a0 (x) (x) (x) (x)\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 .<br \/>\n. \u00c2\u00a0 \u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 |\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 * 3<br \/>\n. \u00c2\u00a0 \u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 +----------------------------------&gt;\u00c2\u00a0 * 2<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 * 1 TX<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 * 0 RX<br \/>\n<\/code><\/p>\n<h4>3.2 Add the dtv2ser LEDs<\/h4>\n<p>The dtv2ser uses three LEDs in green, orange and red to signal its internal status to the user. In this step we add those LEDs by simple connecting them with a resistor each to the DIGITAL pins 8, 9 and, 10. The positive side of each LED is connected to +5V that is available on the POWER connector.<\/p>\n<p><code>.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 \u00c2\u00a0\u00c2\u00a0 Red LED<br \/>\n.\u00c2\u00a0 Reset *\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 +------&gt;|----| 220 |--------------* DIGITAL 10<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 3V3 *\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 |\u00c2\u00a0 Orange LED<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 5V *---------+------&gt;|----| 220 |--------------* DIGITAL 9<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 GND *\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 |\u00c2\u00a0 Green LED<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 GND *--+\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 +------&gt;|----| 220 |--------------* DIGITAL 8<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 Vin *\u00c2\u00a0 |<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 |<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 v\u00c2\u00a0 This line is used in section 3.3<br \/>\n<\/code><\/p>\n<h4>3.3 Add the joystick connector<\/h4>\n<p>Finally, the Arduino needs to be connected to your DTV. As dtvtrans uses one of the joystick ports for communication it is quite common to use a DB9 standard joystick connector for this.<\/p>\n<p>The 6 signal lines and GND need to be soldered to the DB9 (female) connector and on some pin headers to get connected to the Arduino on the connector labeled &#8220;ANALOG IN&#8221;.<\/p>\n<p><code><br \/>\n.\u00c2\u00a0 DB9 Connector\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 DB9\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 ANALOG IN<br \/>\n.\u00c2\u00a0 (rear view)\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 1 * ----------- * 0<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 2 * ----------- * 1<br \/>\n.\u00c2\u00a0 1 2 3 4 5\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 3 * ----------- * 2<br \/>\n.\u00c2\u00a0 * * * * *\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 4 * ----------- * 3<br \/>\n.\u00c2\u00a0\u00c2\u00a0 * * * *\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 6 * ----------- * 4<br \/>\n.\u00c2\u00a0\u00c2\u00a0 6 7 8 9\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 9 * ----------- * 5<br \/>\n<\/code><\/p>\n<p><code>.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 DB9\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 POWER CONNECTOR (see 3.2)<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 8 * ----------- * GND<\/code><\/p>\n<h4>3.4 Add RTS Line to the AVR<\/h4>\n<p><a href=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ser_ArduionRTSCTS.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"210\" data-permalink=\"https:\/\/lallafa.de\/blog\/c64-projects\/dtv2ser\/arduino\/dtv2ser_arduionrtscts\/\" data-orig-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ser_ArduionRTSCTS.jpg?fit=587%2C341&amp;ssl=1\" data-orig-size=\"587,341\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"dtv2ser_ArduionRTSCTS\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ser_ArduionRTSCTS.jpg?fit=300%2C174&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ser_ArduionRTSCTS.jpg?fit=584%2C339&amp;ssl=1\" class=\"aligncenter size-medium wp-image-210\" title=\"dtv2ser_ArduionRTSCTS\" src=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ser_ArduionRTSCTS-300x174.jpg?resize=300%2C174\" alt=\"\" width=\"300\" height=\"174\" srcset=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ser_ArduionRTSCTS.jpg?resize=300%2C174&amp;ssl=1 300w, https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ser_ArduionRTSCTS.jpg?resize=150%2C87&amp;ssl=1 150w, https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ser_ArduionRTSCTS.jpg?resize=400%2C232&amp;ssl=1 400w, https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ser_ArduionRTSCTS.jpg?w=587&amp;ssl=1 587w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>The RTS is required for firmware versions 0.5b and up.<\/p>\n<p>The RTS line is available on the left solder pad of the unpopulated resistor found on the right hand side of the X3 pads. Have a look at the picture above to find the exact location. The RTS line needs to be connected to port DIGITAL 3 on the AVR.<\/p>\n<p><code>.\u00c2\u00a0 Solder Pad X3\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 DIGITAL .<br \/>\n.\u00c2\u00a0 4\u00c2\u00a0\u00c2\u00a0 3\u00c2\u00a0\u00c2\u00a0 2\u00c2\u00a0\u00c2\u00a0 1 \u00c2\u00a0 \u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 .<br \/>\n.\u00c2\u00a0 (x) (x) (x) (x)\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 .<br \/>\n. \u00c2\u00a0 \u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 +----------------------&gt; \u00c2\u00a0 * 3<br \/>\n. \u00c2\u00a0 \u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 | \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0 \u00c2\u00a0\u00c2\u00a0 * 2<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 *\u00c2\u00a0 * \u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 * 1 TX<br \/>\n.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 unpopulated solder pads \u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 * 0 RX<br \/>\n<\/code><\/p>\n<p>Do NOT connect the line to the right pad and do NOT short circuit poth pads. The right line is the RESET line and will restart your board every time RTS is triggered&#8230; You have been warned \ud83d\ude09<\/p>\n<p>That&#8217;s it! Now your arduino is a dtv2ser board \ud83d\ude09<\/p>\n<h3>4. Flash the firmware<\/h3>\n<p>All software including the firmware is included in the dtv2ser release archive on the <a title=\"dtv2ser\" href=\"http:\/\/lallafa.de\/blog\/dtv2ser\/\">dtv2ser homepage<\/a>.<\/p>\n<p>New (3.1.2011): Recompiled Firmware with AVR GCC 4.3.3 and -fno-inline to avoid timing problems in inlined code.<\/p>\n<ul>\n<li>For <strong>Arduino 2009 with ATmega 328<\/strong>: <a href=\"https:\/\/www.lallafa.de\/files\/dtv2ser-0.5a-250000-arduino2009-atmega328.zip\">dtv2ser-0.5a-250000-arduino2009-atmega328.zip<\/a><\/li>\n<li>For <strong>Arduino 2009 with ATmega 168<\/strong>: <a href=\"https:\/\/www.lallafa.de\/files\/dtv2ser-0.5a-250000-arduino2009-atmega168.zip\">dtv2ser-0.5a-250000-arduino2009-atmega168.zip<\/a><\/li>\n<\/ul>\n<p>New (3.1.2011): Fixed timing issue with AVR GCC 4.3.3 and added RTS support (requires RTS line as described above)<\/p>\n<ul>\n<li>For <strong>Arduino 2009 with ATmega 328<\/strong>: <a href=\"https:\/\/www.lallafa.de\/files\/dtv2ser-0.5b-250000-arduino2009-atmega328.zip\">dtv2ser-0.5b-250000-arduino2009-atmega328.zip<\/a><\/li>\n<li>For <strong>Arduino 2009 with ATmega 168<\/strong>: <a href=\"https:\/\/www.lallafa.de\/files\/dtv2ser-0.5b-250000-arduino2009-atmega168.zip\">dtv2ser-0.5b-250000-arduino2009-atmega168.zip<\/a><\/li>\n<\/ul>\n<p>I use the <a href=\"http:\/\/savannah.nongnu.org\/projects\/avrdude\/\">avrdude<\/a> command line tool to flash the firmware.<\/p>\n<p>But you can use any downloader SW that supports flashing the arduino.<\/p>\n<p>The firmware file is called &#8220;<em>dtv2ser-x.y-250000-arduino2009-atmega168.hex<\/em>&#8221; with x.y being the current version of dtv2ser. This file comes with this distribution.<\/p>\n<p>Connect your Arduino board to your Mac or PC and find out the serial port where it is connected (here on my Mac: \/dev\/cu.usbserial-A7006RWQ, on PCs something like COM5, on Linux \/dev\/ttyUSB0).<\/p>\n<p>The following command flashes the firmware:<\/p>\n<pre>&gt; cd server\r\n&gt; make prog_arduino2009 LDR_PORT=&lt;serial port&gt;<\/pre>\n<p>or without Makefile call (for Arduino 2009 with ATmega 168):<\/p>\n<pre>&gt; avrdude -p m168 -c arduino -P &lt;serial port&gt; \\\r\n                  -b 19200 -U flash:w:dtv2ser-0.5a-250000-arduino2009-atmega168.hex<\/pre>\n<p>Or on a board with ATmega328 (Thanks to giox!):<\/p>\n<pre>&gt; avrdude -p m328p -c arduino -P &lt;serial port&gt; \\\r\n                  -b 57600 -U flash:w:dtv2ser-0.5a-250000-arduino2009-atmega328.hex<\/pre>\n<p>Some bootloaders (esp. for the ATmega 328) use a higher baudrate, e.g. 38400. Adjust the -b switch accordingly.<\/p>\n<p>If everything worked fine then your newly attached Green LED goes on after a reset.<\/p>\n<h3>5. Using dtv2sertrans Host SW<\/h3>\n<p>Starting from version 0.4 the dtv2sertrans SW directly supports the arduino board. See the manual for this tool for further details.<\/p>\n<p>Note the following:<\/p>\n<ul>\n<li>The arduino uses a baud rate of 250kB\/s and not 240kB\/s as set as default.<br \/>\nSo you have to specify the -s switch or set the DTV2SER_SPEED environment<br \/>\nvariable:<\/li>\n<\/ul>\n<pre>&gt; .\/dtv2sertrans -s 250000 ...<\/pre>\n<ul>\n<li>Due to its HW the Arduino is reset every time the serial port is opened from dtv2sertrans. With this behaviour it is not possible to keep parameter settings during calls of dtv2sertrans. Therefore it is advisable to perform all parameter commands on the same command line and concatenate the commands with +. Additionally. you can save changed parameters to the EEPROM to have them survive a reset.<\/li>\n<\/ul>\n<pre>&gt; .\/dtv2sertrans  .... + param set_byte 0 5 + ....\r\n&gt; .\/dtv2sertrans  .... + param set_byte ... + param save<\/pre>\n<p>That&#8217;s it! Have fun using dtv2ser&#8230;<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-front.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"195\" data-permalink=\"https:\/\/lallafa.de\/blog\/c64-projects\/dtv2ser\/arduino\/dtv2ardu-front-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-front.jpg?fit=640%2C427&amp;ssl=1\" data-orig-size=\"640,427\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"dtv2ardu-front\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-front.jpg?fit=300%2C200&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-front.jpg?fit=584%2C390&amp;ssl=1\" class=\"aligncenter size-medium wp-image-195\" title=\"dtv2ardu-front\" src=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-front-300x200.jpg?resize=300%2C200\" alt=\"\" width=\"300\" height=\"200\" srcset=\"https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-front.jpg?resize=300%2C200&amp;ssl=1 300w, https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-front.jpg?resize=150%2C100&amp;ssl=1 150w, https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-front.jpg?resize=400%2C266&amp;ssl=1 400w, https:\/\/i0.wp.com\/lallafa.de\/blog\/wp-content\/uploads\/2010\/12\/dtv2ardu-front.jpg?w=640&amp;ssl=1 640w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Introduction The original dtv2ser project uses a custom made board with an ATmega8 to provide the interface between a serial port and the DTV dtvtrans software. The layout and the schematics for the board are freely available but unfortunately &hellip; <a href=\"https:\/\/lallafa.de\/blog\/c64-projects\/dtv2ser\/arduino\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":42,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-187","page","type-page","status-publish","hentry"],"jetpack_shortlink":"https:\/\/wp.me\/PiBMF-31","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/pages\/187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/comments?post=187"}],"version-history":[{"count":12,"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/pages\/187\/revisions"}],"predecessor-version":[{"id":198,"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/pages\/187\/revisions\/198"}],"up":[{"embeddable":true,"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/pages\/42"}],"wp:attachment":[{"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/media?parent=187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}