Member-only story
An Arduino Nano Electronic Speed Controller (ESC) — Part 7
Our new prototype boards from PCBWay look fantastic! We have changed some components as explained in Part 6, and altered the board layout. Assembly is straight forward when all the parts fit.
In Part 7, we continue development of the ESC firmware, starting with voltage and current monitoring. There is also one more hardware issue we need to fix.

Powering the Nano via USB worked as expected (Figure 1), although we do keep forgetting to switch between OLED and serial, when we upload a new sketch. Pin D1 is now shared between the UART transmit function and the SPI DC pin when controlling the OLED display (Figure 8). Thanks to this change, we can now use hardware SPI which is 50% faster than software emulation.
Our problem occurred when plugging in the 3S LiPo battery. This burnt out the voltage regulator on our Nano board and it took a bit of investigating to determine the reason.
Always read the fine print
Our design is based on the Arduino Nano which uses the Texas Instruments LM1117 voltage regulator (Figure 2). This regulator can handle a continuous 15V and has a maximum rating of 20V. We measured the fully charged voltage of our 3S LiPo to be 12.4V, so no worries.
However, we didn’t buy an original Arduino Nano, but purchased the cheaper Seeed Nano. This board is advertised as being fully compatible with the Arduino Nano in terms of pinout and size. Which is true. What we didn’t consider was how Seeed managed to make a clone so much cheaper than Arduino. The Seeed version uses the same ATMega328P processor but swaps out the supporting components. One of these is the voltage regulator. The Seeed board uses a JCST CJ1117B-5.0 (Figure 3), and the Seeed Wiki recommends a VIN of between 7 and 12V. The CJ1117 data sheet states an absolute input voltage of 20V, but experience suggests otherwise.