Sunday, 8 August 2021

ESP8266 Remote Controls

Covid, working at home etc. Not published here since 2018.

But I have published here:

https://hackaday.io/projects/hacker/1200554

Ok, plan was to have ESP8266 based Controllers (Transmitters) and Receivers.

Hackaday is now a little dated.

The receiver is good:

Top is all bought in, 2 off 1200mAh LiPo batteries, simple motor, 3 servos.
Bottom left is a bought in ESC, £1.50 from AliExpress, middle is my charging PCB, right is my receiver. It's all mounted onto a piece or cardboard so I can put it aside to Work From Home.

The charger PCB has 2 off TP4056 LiPo charging circuits, 2 batteries are connected to PCB, in normal state they are connected in series through Normally Closed (NC) of relays giving 3.7V * 2 = 7.2V. The switch allows this to be used as output (or not).
When USB micro is connected then relays both switch, batteries are separated and each goes to a TP2046 charging circuit, LEDs are RGB, they light red to show charging, green to show charged. During charging there is no output.

Looking carefully at photo, both batteries connect to left of Charging PCB, output is on right and is connected to ESC. ESC normally has a switch, that is removed, linked to always on. It supplies fixed 5V to receiver via standard RC 3 way cable, (+V, GND, Signal). It is connected to motor and supplies voltage as dictated by RC cable signal.

The receiver contains an ESP-M2 module, it contains a regulator to convert the 5V from ESC into 3.3V for ESP. It contains CD40109 to convert ESP 3V3 PWM outputs to 5V for the channels. It contains a voltage divider which goes between the charger PCB output and the ESP ADC so that it can read the total battery voltage. It contains 4 standard RC channels each with standard 3 way headers (+V, GND, Signal). The receiver also contains a programming connector (6 way lower right).

Looking again at photo, left channel is connected to ESC, supplies 5V and controls motor. Other 3 channels are all connected to servos. Charger PCB and Receiver PCB were actually created by ELECROW, the first PCBs that I have ever had made, I usually create my own.
 

Programming lead, common to receiver and transmitters, connects to my PCBs on right, using standard FTDI board with USB micro connector to PC. Switch toward FTDI puts ESP into programming mode. Momentary resets ESP. Link to 3V3 on FTDI for development without my PCB powered, link off if powered. Nothing special, single sided, etched by me. I use 1 for receiver, 1 for transmitter.



My original 2 channel transmitter. A single joystick, up down is one channel to control speed, left right is other channel to control direction. It has an ESP-M2. It has a joystick connected to ESP via ADS1015 (I2C ADC). It has an 800mAH LiPo. Battery is connected through divider to ADS1015. It has a connector for 1.8 inch LCD (as used on Sipeed Longan Nano). It has a regulator to convert battery voltage to 3V3. It has a switch to turn it on/off. It has a TP4056 charging circuit to allow charging of battery over USB (as charger PCB). In use, LCD displays controller battery level, receiver (model) battery level and WiFi signal strength.
It is fully working, but case is hard to print and LCD support is not good enough (can get easily pushed in). PCB design is flawed, battery goes to regulator then switch. This means that regulator is always powered and battery goes flat. I've redesigned the case, currently printing. I've redesigned the PCB, but not made yet.
New 4 channel transmitter, very similar to 2 channel but with 2 joysticks. ADS1015 has 4 channels, now all used by joysticks, so battery voltage goes through divider to ESP ADC.

All files now published at: