Skip to main content


RC Current Sensor

Most of the RC current sensor designs are using a hall effect-based current sensor, like the ACS758. In this project I would like to try something different (more difficult?) and use a conventional high-side current sensor to achieve the following goals:
Maximum 60A continuous current sensing capabilityMaximum 5S (18.5V) LiPo battery inputSend telemetry data (current, voltage, power and capacity) to my Jeti DS-24 transmitterLightweight, small (and cheap) design Hardware design In the project I used an STM32G431KBU which is a powerful 32bit processor in a small package (LQFP32). It is too much for this job, but I bought them in bulk because I would like to use them in other projects too.

The design based on a high-side current sense amplifier: MAX4081. The current from the battery to the speed controller flows through a precision high power current-sense resistor (CSS2H-3920R-L200FE) which is sensed by the MAX4081. The current-sense resistor dissipates its own I2 × R loss, so for 60A i…
Recent posts

High Resolution PWM Signal Generation for RC Servos With STM32

Currently, I'm building an RC transmitter/receiver based on the SX1280 RF chip. One of the goal for the project is that I want 12 bit servo resolution from the sticks all away down to the servos. Partly because modern digital servos have 12 bit resolution secondly a high-end transmitter is using 12 bits anyway. I was investigating how I can generate high resolution PWM signals on STM32 devices. I'm using black pill (STM32F103C8T8) at the moment for the prototype.

Any STM32F103 development board (blue pill, black pill, etc.) A USB power bank as power supply STM32 programmer (Segger j-links, ST-LINK/V2, or simply an st-link clone) Software
STM32CubeMXAtollic TrueSTUDIO for STM32Project source from github The Obvious Solution
Probably the easiest solution is to use one of the timer which can generate PWM signals, like TIM1-3 on an STM32F103. For a modern digital servo the frame rate can go down to 5 ms or so, but for an old analog servo it should be 20 ms or 50 Hz. So…

Controlling RC Servos Wirelessly Over UDP

In this project I want to use my iPhone to control RC servos. I'll use the accelerometer to control two servos over UDP connection. This is a Proof Of Concept project to verify that a connection between an iPhone and a peripheral can achieve high update rates (higher then BLE) using UDP.

ESP8266 (Wemos D1 mini pro) boardTwo RC servos A USB power bank as power supply Some jumper wires An iPhone or iPad using iOS12 A mac to build the project Software
Arduino IDE with ESP8266 Arduino core installed: Installation manualXcode 10: arduino sketch can be found here The Swift source of the iPhone app is here Hardware setup

The hardware setup is very simple. I use the D1 (pitch) and D2 (roll) output on the ESP8266 board to control the RC servos respectively. The board is powered from a USB power bank. The RC servos are powered from the 5v and GND pin of the board.
Software The control app for the iPhone is written in Swift which connects to the …