Back in October 2013, I made an Arduino based adapter that allows unidirectional aeroplane ESCs to work with surface/pistol radios for RC cars and boats. I've already detailed on what the adapter is and how it works or even why it is needed, check out the Ver.1 instructables.
I used a ATmega8 microcontroller in that adapter and honestly, that by itself was the size of an average ESC, I couldn't really put it anywhere conveniently on my car due to space constraints and weight concerns (If I can cut down on 5g, believe me, I will).
Last week I fried that adapter that was using the ATmega8 and so I decided optimize it by replacing the Mega8 with an ATtiny45. It's a pretty straight forward switch from the Mega to Tiny, the only difference is in the code, It uses the Servo8Bit library for the Tiny45.
I ran my car on more than 12 packs over the course of two weeks and I haven’t noticed any problems, no run-away car, nothing. The new adapter works like it should, hassle-free! However, if someone builds one and experiences problems, I’d be happy to help you guys out.
NOTE: The only electronic component used in the adapter is an ATtiny microcontroller, it’s not supposed to heat up even after hours or continuous usage. If you do feel the adapter dissipating heat, there has to be something wrong with it; please stop using it immediately and double-check all connections. The ATtiny45/85 set to 8MHz clock frequency is rated to run on an optimum 5V (Typical BEC voltage of most ESCs), anything significantly less or more may affect the performance of the microcontroller.
Step 1: Schematic
Step 2: Etch-free PCB for SoIC Package
I used an 8-pin SoIC package, so I needed a PCB. DIPs should be easier to solder and not need a PCB.
This article on how to soldering SoIC devices by hand should get you started.
Step 3: Programming the ATtiny45
Temporarily tack on wires to the SPI pins (MOSI, MISO, SCL, RST, GND, VCC) so you can program it.
I used a USBasp programmer to upload the code to the Tiny45. You can also use an Uno or Mega to program it, here's how.
Before you burn the code, select ATtiny45 (Internal 8MHz clock) from Tools > Boards
It's important that you select the 8MHz clock, because the Serv8Bit library is limited work at to 8MHz.
Download Arduino code.
Step 4: Soldering the Servo Connectors
Be very careful while soldering the servo connectors, make sure you don’t have any accidental solder bridges between pins, run a sharp blade in between pins just in case. Looks a bit ugly, but it works!
Double check connections after you're done, test it and wrap it in heat shrink insulation tube.
Visit my blog for the extra bit of story behind this DIY!
Good luck, DIYers!