Sooo basically I want to challenge myself into building a radio-controlled toy from scratch. I am more inclined to electronics than mechanics, so I decided that the mobile mechanical platform would be just any one I can put my hands on. Now the electronics are of my interest!.

I bought the RC toy car above for around US$5 (actually R$30 in Brazil) as a first platform for tests.
I confess that I am not a RC hobbyist myself, so I have never had contact with any aspect of that world. I didn't really know how an ESC (electronic speed controller) worked before starting this project; so I decided I would implement every line of code of this project without looking at anything already available on the market.
That means I would try to make everything (code, hardware) from scratch; what a challenge!.
The first step was to define which microcontroller platform to use on the project; of course I decided for Arduino (haha!), mainly because I own a bunch of ATMEGA328's and also because I currently run a blog on embedded systems ( www.FritzenLab.com.br ) and use Arduino as the core and for most articles.
Second step was to assemble a (half-functional) mechanical prototype of the circuit boards, just to have a feeling of the size and look/feel of it. Pictures are below for both the emitter (radio controller) and the receiver (motor controller).

From the picture you can see a bunch of details of the hardware, but never forget all files (Eagle, Fritzen, Arduino code) are hosted in this Github.
The emitter (controller) features:
- One true analog X-Y joystick
- Six push buttons
- Two LED's (outputs)
- One analog potentiometer (for analog trimming)
- Pin header for radio (I plan to test and use most-likely the 433Mhz HM-10)
- USB connector for power
The receiver (motor controller) features:
- Eight IO's (Inputs or outputs) from ATMEGA328 (Arduino UNO)
- Pin header for radio (I plan to test and use most-likely the 433Mhz HM-10)
- USB connector for power
Third step was to draw schematic diagram and PCB for the prototypes. I did it in a couple of hours using Eagle CAD and some Adafruit and Sparkfun libraries. Results can be seen below.
This project is an ongoing thing, I don't even have the code to test it. At the moment I am waiting for prototype PCB's to arrive from JLCPCB China (this thing take 2-3 months to arrive in Brazil, seriously).

