Introduction: DIY- XESC Adapter for Surface Radios

About: Mechatronics Engineer . Hopeless Realist
First of all, this is not an ESC. Its an adapter that lets your use non-reversible ESCs like the ones used in model aeroplanes with a surface radio or pistol grip radios. It goes in between the Rx and ESC. This DIY is based on Arduino. Although, there's already an adapter called Pistix available in the market for the same purpose, I couldn't find any schematics or instructions about how to build one myself (I didn't want to pay $5+shipping). So I designed my own for a little over Rs.100 ($1.52).

HOW THE ADAPTER WORKS:
An aeroplane ESC needs 0% throttle indication at startup, but since a surface radio throttle is set at about 25% by default, it makes the ESC beep as a warning to set the throttle to 0%. For the aeroplane ESC to work, you can either mechanically modify the Tx by setting the default position of the throttle to 0% or if that is not possible, you can do it the software way; the adapter takes the 25% signal coming from the Rx and remaps it to 0%, as an indication of 'no throttle' to the ESC.
I used an ATmega8 for this project just because I had a bunch of those laying around, it's definitely an overkill.
The microcontroller of your choice for this project must have flash memory in upwards of 4 KB and have 16-bit timers. If it's a 3.3v chip, then you'll have to do some level shifting. An ATtiny44 or ATtiny88 would be apt.
Materials required:
1) ATmega8 or equivalent microcontroller- 1 nos
2) 16MHz crystal (one that matches your chip) - 1 nos
3) 22pF ceramic capacitors- 2 nos
4) Servo extender- 1 nos
5) Strip board
Additionally, you'll need an USBasp programmer to burn the code on to the ATmega8.
However, I used an Arduino UNO board for the same.
I did this in an hour with ugly hardwires on a piece of strip board. I urge you to do it on a nice PCB, if you need help designing the PCB for your microcontroller, ask. I'll be glad to help.
Good luck, DIYers!

Hardware Hacking

Participated in the
Hardware Hacking