E²SC: Small Dual FOC / Hall ESC based on the ESP32-S3

ESC top view ESC designed for driving two BLDC motors per board, up to 32A per channel and 2x 15A indefinitely (reliably). The in-phase shunt resistors allow FOC, a feature not present in drone ESCs. Hall sensors are also supported. The control interface is 12Mbps USB for more flexible control and telemetry, in addition to in-the-field firmware updates.

Design Goals

These ESCs are meant to fit in between the cheap, simple and compact quadcopter (BLHeli) ESCs and the more complex, featured and expensive VESC (and ODrive) ones.

Compared to quadcopter ESCs:

  • In-phase shunt resistors for FOC and other closed-loop control
  • Hall sensor support
  • Use connectors instead of soldering / unsoldering (optional)
  • Have a high-speed interface that can directly connect to a Raspberry Pi, Nvidia Jetson or similar board
  • Two outputs to make maximum use of the MCU and limit the amount of interface wiring
  • MOSFET temperature monitoring
  • Input ESD / spike protection
  • Bus voltage spike protection
  • Mounting holes! For both securing the board and heatsink
  • No built-in BEC, 5V needs to be supplied
  • Open schematics
  • Open-source firmware

Compared to VESC:

  • Lower voltage and current rating (for costs reduction)
  • Only 5V Hall sensors with 3.3V pullups
  • Simpler firmware and interfacing for less debugging (hopefully) and easier application specific customisation
  • Fewer parts to break
  • Layout both much smaller and more sensible (like quadcopter ESCs)

Other considerations:

  • Components on the top side only to make mounting easier
  • These will be used with a power distribution board that has bulk capacitors (and very short power leads). A bulk cap can also be soldered to the input connector
  • The MOSFET area allows usign a heatsink that sticks out at both sides so multiple boards can share one (for example).
  • While having connectors these boards aren’t meant to be unplugged often, for cost and space reasons there aren’t any protection features.

Specifications规格SpezifikationenEspecificacionesTekniset tiedotSpecificaties

The converging of above design goals, time budget and parts availability lead to these specs:

  • Two independent motor outputs
  • Input voltage: ~10 to 25V / 3-6S + 5V (from USB)
  • Output current (per motor): 2x 15A continuous, 32A peak (shared)
  • Size: 45mm long, 30mm wide, and approx 7mm thick (depending on heatsink)
  • Host interface: USB 2.0 Full Speed (12Mbps)
  • Amass XT-30 power input connector
  • Amass MR-30 motor connectors
  • Hall sensor pin header: 2x4, 1.27mm pitch
  • Power LED and firmware-configurable status LED
  • Debug UART shared with Hall header

ESC top view

ESC bottom view

Output power

The Amass XT-30 input connector is rated at 30A. For an idea of how well that fares in testing check for example this video

The two motor connectors are Amass MR-30 types which are rated for 15-30A DC current and 40A peaks. These are used for AC signals and should hold up fine.

Another factor would be the shunt resistors. These are 1mΩ and are rated for 1W, limiting the current to 32A. Using larger shunts would help, but also make the board quite a bit larger and more expensive.

Finally the MOSFETS. These are rated for 68A and have a typical R_{DS(ON)} of 3.9mΩ, the low ON-state resistance was the main attraction here, to create a board with good efficiency and low cooling requirements.

To summarise: With sufficient cooling the power stage should do fine up to ~32A per channel and more than that collectively.

Schematics

These are v1.0.0 schematics, the v2.0.0 ones will be uploaded soon.

MCU, connectors and power

MOSFETs and drivers

Voltage and current measurement