An Arduino Nano Electronic Speed Controller (ESC) — Part 1

David Such
9 min readNov 10, 2022

Now that we have delved into how BLDC motors operate and provided an overview of trapezoidal sensorless control, we can bring it all together in the design of an Arduino ESC shield. This exercise is a useful test of our understanding of the previous material.

The block diagram for our ESC design is shown in Figure 1. We will use a board from the Arduino Nano family to orchestrate proceedings. Control of the motor speed will be by a PCB mounted potentiometer which will be converted to a PWM output. This design will allow us to test motors and map PWM duty cycle to BLDC motor RPM using an external tachometer.

This series of articles was sponsered by PCBWay — PCB Prototype the Easy Way! Thank you for providing all the prototype printed circuit boards used in designing our Nano ESC carrier board.

We will break out the motor voltages to a terminal strip so that we can display the waveforms on an oscilloscope. The Arduino will also control an OLED display to provide feedback on the ESC status. Total motor current will be monitored using a high-side current amplifier and sense resistor.

--

--

David Such
David Such

Written by David Such

Reefwing Software · Embedded Systems Engineer · iOS & AI Development · Robotics · Drones · Arduino · Raspberry Pi · Flight Control