{"id":912,"date":"2019-10-04T19:16:57","date_gmt":"2019-10-04T19:16:57","guid":{"rendered":"https:\/\/makerprojekte.de\/open-source-arduino-digital-rc-transmitter\/"},"modified":"2023-11-21T11:28:51","modified_gmt":"2023-11-21T11:28:51","slug":"open-source-arduino-digital-rc-transmitter","status":"publish","type":"post","link":"https:\/\/makerprojekte.de\/en\/open-source-arduino-digital-rc-transmitter\/","title":{"rendered":"Open Source Arduino Digital RC Transmitter"},"content":{"rendered":"\n<p>The sketch <strong><em>ArduinoDTX<\/em><\/strong> implements a feature rich RC addressing all needs of a state-of-the-art transmitter on an Arduino. It is based on fully digital encoding of all control information in the miniSSC &#8211; protocol rather than using a PPM frame. This fully digital encoding enables transmitting over a transparent serial channel such as Bluetooth, Wifi, and XBee. As a receiver for e.g. Bluetooth a <a href=\"https:\/\/www.pikoder.de\/Bluetooth_RC_EN.htm\">PiKoder\/SSC RX<\/a> would be deployed.<\/p>\n<p>This digital RC transmitter is based on the Open Source project <strong><em>arduinorc <\/em><\/strong>by Richard Goutorbe and thus inheriting the respective full feature set such as:<\/p>\n<ul style=\"list-style-type: square;\">\n<li>up to 9 proportional channels (Nano), 6 channels by default (Uno)<\/li>\n<li>up to 6 additional digital channels (switches)<\/li>\n<li>9 model memories<\/li>\n<li>Dual rate\/Exponential switch<\/li>\n<li>Throttle cut switch<\/li>\n<li>2 programmable mixers<\/li>\n<li>End point adjustment, Potentiometer and Servo calibration<\/li>\n<li>Throttle security check at startup<\/li>\n<li>Optional Transmitter battery low voltage alarm<\/li>\n<li>Programmable with Linux or Windows via USB (terminal application)<\/li>\n<\/ul>\n<p>The original <strong><em>arduinorc<\/em><\/strong>-sketch has been modified and became the <strong>ArduinoDTx<\/strong> sketch, which outputs all channel information in the miniSSC-format rather than a PPM-pulse frame on Arduino pin D6. Every time a stick position would change a miniSSC message is generated. The PPM output has been removed completely.<\/p>\n<p>The ArduinoDTx sketch is open source and provided through a respective <a href=\"https:\/\/github.com\/makerprojects\/arduinodtx\">github repository<\/a> under the terms of the <a href=\"http:\/\/www.gnu.org\/licenses\/gpl-3.0-standalone.html\">GNU General Public License Version 3<\/a>.<\/p>\n<h2>Prototype setup: Digital four channel RC<\/h2>\n<p><a href=\"https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoRC-Breadboard_448p-300x239.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-891\" src=\"https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoRC-Breadboard_448p-300x239.jpg\" alt=\"\" width=\"300\" height=\"239\" srcset=\"https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoRC-Breadboard_448p-300x239.jpg 300w, https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoRC-Breadboard_448p-400x319.jpg 400w, https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoRC-Breadboard_448p.jpg 421w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><\/a><\/p>\n<p>Schematic setup of the Arduino Digtial RC transmitter<\/p>\n<p>An RC transmitter with four channels will serve as a prototype project. As shown in the image two Thumb-Joysticks are evaluated by the Arduino (Pot 1\/2 and Pot 3\/4 in the above schematic). The connection to the Arduino&#8217;s analog pins is through a proto-shield. This shield does also accomodate the mode switch and the LED with the respective 270R resistor.<\/p>\n<p>The RC is designed for battery operation. To guarantee the required minimum voltage of 6 V for the Arduino &#8211; even when using rechargeable batteries with a nominal voltage of 1,2 V &#8211; a battery holder for five AA elements has been selected. The two side panels support your palm operating the remote control and would enhance the user comfort significantly.<\/p>\n<p>Please note that the USB port of the Arduino is easily accessible. This allows you to download software upgrades but also to customize the RC to your application.<\/p>\n<h3>Commissioning and testing<\/h3>\n<p><a href=\"https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoDTx_4_Kanal_Testaufbau-scaled-225x300.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-893\" src=\"https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoDTx_4_Kanal_Testaufbau-scaled-225x300.jpg\" alt=\"\" width=\"225\" height=\"300\" srcset=\"https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoDTx_4_Kanal_Testaufbau-scaled-225x300.jpg 225w, https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoDTx_4_Kanal_Testaufbau-scaled.jpg 369w\" sizes=\"auto, (max-width: 225px) 85vw, 225px\" \/><\/a><\/p>\n<p>Test setup Arduino Digtial RC transmitter<\/p>\n<p>For commissioning the RC you would download the <a href=\"https:\/\/github.com\/makerprojects\/arduinodtx\">arduinodtx sketch (.ino-file)<\/a> which is provided through an respective github repository. Please note that building the sketch requires the Arduino &#8220;TimerOne&#8221;-library.<\/p>\n<p>After you have uploaded the sketch to your Arduino the easiest way to test the RC would be to build the &#8220;wired remote control&#8221; shown to the right using a PiKoder\/SSC evalutation board. In the standard configuration the pots 1-4 would control the respective servo channels 1-4 of the PiKoder\/SSC.<\/p>\n<p>If you wanted to customize your RC transmitter then you would hve to follow the steps described on the <strong><em>arduinorc-page<\/em><\/strong>. All commandos for programming the <strong><em>arduinorc<\/em><\/strong> are still available to you &#8211; for more information please refer to the (<em>arduinorc command documentation<\/em>).<\/p>\n<h2>Using Bluetooth communication<\/h2>\n<p><a href=\"https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoDTx_Shield_Configuration_445p-294x300.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-895\" src=\"https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoDTx_Shield_Configuration_445p-294x300.jpg\" alt=\"\" width=\"294\" height=\"300\" srcset=\"https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoDTx_Shield_Configuration_445p-294x300.jpg 294w, https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoDTx_Shield_Configuration_445p-400x408.jpg 400w, https:\/\/makerprojekte.de\/wp-content\/uploads\/2019\/09\/ArduinoDTx_Shield_Configuration_445p.jpg 445w\" sizes=\"auto, (max-width: 294px) 85vw, 294px\" \/><\/a><\/p>\n<p>Bluetooth shield configuration for Arduino Digtial RC transmitter<\/p>\n<p>You can easily customize the digital remote control to a Bluetooth RC with an <strong><em>ITEAD-<\/em><\/strong>Bluetooth Shield and then use the <a href=\"https:\/\/www.pikoder.de\/Bluetooth_RC_EN.htm\">PiKoder\/SSC RX<\/a> as a readily available and fully compatible 8 channel receiver. Since the transmission is based on a tranparent serial protocol there are no changes needed in the sketch and the complete feature set is also available for the Bluetooth RC.<\/p>\n<p>The transmitter setup is shown in the image. Prior to operating the RC the connection between the wifi modules has to be configured. Please refer to the PiKoder\/SSC RX User Manual for a detailed description.<\/p>\n<h2>Using WLAN communication<\/h2>\n<p>You can also easily customize the digital remote control to a Wifi RC by adding a logic level converter, a dc-dc converter, two jumpers as UART multiplexers (to allow for programming the wifi radio) and an ESP8266-01 Wifi module and then use the PiKoder\/SSC wRX as a readily available and fully compatible 8 channel receiver. The hardware setup and the programming of the wifi radios is described in great detail in the blog <strong><em><a href=\"https:\/\/makerprojekte.de\/en\/arduino-wlan-rc-transmitter\/\">Arduino WLAN RC Transmitter<\/a><\/em><\/strong>.<\/p>\n<h2>Additional Application Examples<\/h2>\n<p>In order to increase the range of your radio control you can upgrade from Bluetooth to XBee. The setup is described in the blog <strong><em><a href=\"https:\/\/makerprojekte.de\/en\/arduino-based-xbee-radio-control\/\">Arduino based XBee radio control<\/a><\/em><\/strong> and in the PiKoder\/SSC Application Note #3: XBee Communication.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The sketch ArduinoDTX implements a feature rich RC addressing all needs of a state-of-the-art transmitter on an Arduino. It is based on fully digital encoding of all control information in the miniSSC &#8211; protocol rather than using a PPM frame. This fully digital encoding enables transmitting over a transparent serial channel such as Bluetooth, Wifi, &hellip; <a href=\"https:\/\/makerprojekte.de\/en\/open-source-arduino-digital-rc-transmitter\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Open Source Arduino Digital RC Transmitter&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":889,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51,58,54,52],"tags":[],"class_list":["post-912","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino-en","category-bluetooth-en","category-esp8266-en","category-rc"],"_links":{"self":[{"href":"https:\/\/makerprojekte.de\/en\/wp-json\/wp\/v2\/posts\/912","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/makerprojekte.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/makerprojekte.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/makerprojekte.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/makerprojekte.de\/en\/wp-json\/wp\/v2\/comments?post=912"}],"version-history":[{"count":9,"href":"https:\/\/makerprojekte.de\/en\/wp-json\/wp\/v2\/posts\/912\/revisions"}],"predecessor-version":[{"id":1839,"href":"https:\/\/makerprojekte.de\/en\/wp-json\/wp\/v2\/posts\/912\/revisions\/1839"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/makerprojekte.de\/en\/wp-json\/wp\/v2\/media\/889"}],"wp:attachment":[{"href":"https:\/\/makerprojekte.de\/en\/wp-json\/wp\/v2\/media?parent=912"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/makerprojekte.de\/en\/wp-json\/wp\/v2\/categories?post=912"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/makerprojekte.de\/en\/wp-json\/wp\/v2\/tags?post=912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}