Preparation of HMBGC and BGC drivers

I’m working on motor design much more than on controllers and software.
So I have problems to implement the SimpleFOC stuff on the drivers mentioned in the headline.
In the compatibility list for the library I found the HMBGC and BGC drivers. I have some of them from a project I finished lately.

So I tried to start with implementing and testing the SimpleFOC on this boards. But obviously this will not work without preparing the boards for Arduino communication.

Could anyone give me an hint how to make the things work?

I intent to try out the SimpleFOC library because I’m working currently on a pretty unusual motor type. It is a Lorentz-Force-Motor. Due to this it is pretty bothering to work with pre-configured controllers because such a motor has its most powerful space vector at 0 degree, not at 90°. The idea is to use SimpleFOC because this would enable me to adjust anything I need.

Looking forward to get some reply


Hey Jürgen,

Your project is very interesting, I never heared about Lorentz-Force-Motors :smiley:
The SimpleFOC will give you a way to setup this without problem.

I am not 100% sure that I understand your question though, do you want to say that you cannot program your boards with Arduino IDE, or that you have a custom driver that prevents you of doing so?

In my case, HMBGC and similar boards I have used so far have ATMega328p chip and USB to serial interface.
So basically I can connect it directly to your PC with a regular usb cable and use it as any Arduino device.

To upload the code you need to select the Serial Port (COM port) number and the set the board type: “Arduino Pro or Pro Mini”


thanks for the very, very immediat replay.
I’m a newby at this arduino stuff. This is not hard to recognize.

Guess what, I tried the right board and it works. Im going to try out the library with some bldc motors before adopting it to my motor.

A Lorentz-Force-Motor doesn’t work with magnetic attraction, but with the force on the electrons in a magnetic field. See your physic lessons of your high school :wink:

There is some advantages of this design. No ripple, extreamly high efficiency (~95%), no saturation problems. But also some disadvantages like the problems to get the heat out of the stator. As long as the efficiency is up to his maximum, all works fine. If you are out of the sweet spot the motor melts. So it is my task to keep anything in the cool range. We’ll see.


Hi Antun,
I tried to run a AS5048A (SPI) at a BGC 3.1. I failed to get connection when running the “magnetic_sensor_only_example”.
I recognized that I have no idea what pin is the CS.
I remember that you have played with this controller, as well.

Ever tried to go via SPI? If yes, what is the CS - Number at this board.



Hey @Juxo!
Sorry for the late reply. I am actually not sure. I have used it with the encoders and I do not have it with me at the moment.

But what I was able to find on the internet, you can connect the cs pin to the analog pins A1 or A2 of the BGC3.1.

Are you still having the same problem?

Hi Antun,
I have still problems with that BGC-clones, but this is not about the library.
I bought a couple of that boards in different configurations but all of them has their own errors.
At the first I recognized that they have no over-current protection. Was a funny firework.
The second (when asking you for help) had no power supply at the SPI interface. The third failed after sending new code a couple of times.

Meanwhile I decided to stop further tries with the boards because it is a waste of time. Beside of all problems they can not handle low-resistant motors in a adequate way.

So, sorry for asking, at all. BGC-Clones are not useful for professional applications.

maybe you can try this board just 18$ with current control and 120A FETs

This is exactly what I selected for my application. Works pretty fine.

“Works pretty fine.”

Very nice

       Thank you for info