Dagor Brushless Motor Controller

Brushless motor controller for velocity and position control with wireless communication.

Public Chat
Similar projects worth following
After having played with compliant joints and BLDC motors I decided to develop a controller that will work in a variety of my projects. The controller will be Arduino-based and will allow to control the velocity and position of brushless motors and use wireless communication through ESPNOW.

This controller is based on my previous design, but this time I have an on-board ESP32, a buck regulator, a DRV8353 and a temperature sensor. I have tested wireless communication with the ESP32 through ESPNOW and it seems to work reliable and more-than-fast enough without affecting the control sample-time. With ESPNOW you could potentially create a full robot without any single cable aside from power.

The code will be completely open-source and Arduino based. The bulk of the code will be based on the SimpleFOC arduino library, since it has worked perfectly in the past and is constantly being upgraded and updated. I will order the first revision soon from PCBWay and post all updates.

  • 1 × ESP32 Wroom module
  • 1 × DRV8305 Smart MOSFET Gate Driver
  • 3 × TPH1R403NL Discrete Semiconductors / Power Transistors and MOSFETs
  • 1 × AS5147 Magnetic Encoder
  • 1 × LMR14010A 4-40V 1A Buck regulator

View all 7 components

View all 7 project logs

Enjoy this project?



Owen Williams wrote 08/28/2020 at 09:02 point

I want one.  When do you think yours will arrive? I've read about espnow, wonder how the latency will compare with can bus. E.g for balancing applications it probably needs to be <5ms.

I'd love to study your design files. I've been following your janus and didn't realise you've moved on to dagor. 

Is this a jlpcb? What parts will you need to solder?

  Are you sure? yes | no

Simon Merrett wrote 08/28/2020 at 22:18 point

@Owen Williams off the top of my head I recall ESP-NOW taking under 1ms each way. But I could be confusing that timing with NRF24 which is around the same order of magnitude.

  Are you sure? yes | no

David Gonzalez wrote 08/29/2020 at 19:11 point

I haven't done a proper latency test, but I believe for small payloads it should be around 3-4 ms, which in my opinion is totally acceptable for most applications.

  Are you sure? yes | no

Paul Gould wrote 08/30/2020 at 01:57 point

You are correct. It varies between 0.5ms and 1ms for small payloads.

  Are you sure? yes | no

David Gonzalez wrote 08/29/2020 at 19:13 point

I think I will have them on my hand by next Friday. I will have to solder the ESP32, the encoder, buttons and an inductor; I already have all these parts here. I'll try to make sure you get one soon enough :)

  Are you sure? yes | no

Aaron wrote 08/06/2020 at 09:11 point

Nice,so tiny

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates