PiKoder     ...digital RC for Makers...

Open Source Arduino Digital RC Transmitter

Overview Arduino Digtial RC

Arduino Digital RC is a feature rich RC addressing all needs of a state-of-the-art transmitter. It is based on fully digital encoding of all control information in the miniSSC - protocol rather than using a PPM frame. A PiKoder/SSC or another Serial Servo Controller would be employed as the receiver controlling the servos. This fully digital encoding enables transmitting over a transparent serial channel such as Bluetooth, Wifi, and XBee.
This digital RC transmitter is based on the Open Source project "arduinorc" by Richard Goutorbe inheriting the full feature set such as:
  • up to 9 proportional channels (Nano), 6 channels by default (Uno)
  • up to 6 additional digital channels (switches)
  • 9 model memories
  • Dual rate/Exponential switch
  • Throttle cut switch
  • 2 programmable mixers
  • End point adjustment, Potentiometer and Servo calibration
  • Throttle security check at startup
  • Optional Transmitter battery low voltage alarm
  • Programmable with Linux or Windows via USB (terminal application)
The original arduinorc-Sketch has been modified and became the ArduinoDTx-sketch, which outputs all channel information in miniSSC-format rather than a PPM-pulse frame on Arduino pin D6. Every time a stick position would change a miniSSC message is generated. Thus the Serial Servo Controller (SSC) can be connected directly to the Arduino or through a transparent serial link.
The ArduinoDTx sketch is open source and provided through a respective github repository under the terms of the GNU General Public License Version 3.

Prototype setup: Digital four channel RC

Setup Arduino Digtial RC
An RC transmitter with four channels will serve as a prototype project. As shown in the image to the right two Thumb-Joysticks are evaluated by the Arduino (Pot 1/2 and Pot 3/4 in the above schematic). The connection to the Arduino's analog pins is through a proto-shield. This shield does also accomodate the mode switch and the LED with the respective 270R resistor.
The RC is designed for battery operation. To guarantee the required minimum voltage of 6 V for the Arduino - even when using rechargeable batteries with a nominal voltage of 1,2 V - 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.
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.

Commissioning and testing

Test setup Arduino Digtial RC
For commissioning the RC you would download the arduinodtx sketch (.ino-file) which is provided through an respective github repository. Please note that building the sketch requires the Arduino "TimerOne"-library.
After you have uploaded the sketch to your Arduino the easiest way to test the RC would be to build the "wired remote control" 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.
If you wanted to customize your RC then you would have to follow the steps described on the "arduinorc"-page. All commands for programming are still available to you - for more information please refer to the (arduinorc command documentation).

Using Bluetooth communication

Bluetooth Shield Configuration for Arduino Digtial RC
You can easily customize the digital remote control to a Bluetooth RC with an ITEAD-Bluetooth Shield and then use the PiKoder/SSC RX as a readily available and fully compatible 8 channel receiver.
The configuration of the sender is shown on the picture and laid out in more detail in my Maker blog. The receiver is described in detail on the PiKoder/SSC wRX page.
Prior to operating the RC the connection between the wifi modules has to be configured. Please refer to the PiKoder/SSC wRX Construction Manual for a detailed description.

Using Wifi communication

Wifi Configuration of Arduino Digtial RC
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 my Makerblog.

Additional Application Examples

In order to increase the range of your radio control you can upgrade from Bluetooth to XBee. The setup is described in the Makerprojects Blog and in the PiKoder/SSC Application Note #3: XBee Communication.

Supported Products

Kit for PiKoder/SSC receiver

PiKoder/SSC wRX wlan receiver kit
Logo Pikoder
Shopping cart
...digital RC for Makers...
Logo PiKoder
Shopping cart
PiKoder       ...digital RC for Makers...