Hardware support for newbie. Teensy + B-G431B-ESC1 + AS5047u

Hi All,

First post/newbie here. I am intending on building a robot arm with a teensy or other arduino as the microcontroller and 5 G431B ESCs as drivers for five BLDC motors. I believe each ESC will need 5V input supply and 3PWM signals from the Teensy?

I am intending on daisy chaining AS5047u sensors on SPI lines (each individual sensor with a unique chip select pin). Has anyone had any experience with this?

Can the PWM inputs be 3.3v for the ESC from the teensy or do they need to be 5V?
This may result in changing microcontroller to arduino mega or similar.
I have used ODrive’s on a CAN bus before with an arduino uno (with can hat) which were relatively user friendly, and now looking for a more cost effective and challenging project by implementing simple FOC.

Any advice or answers to the above questions would be greatly appreciated.

1 Like

Each G431B ESC has it’s own microcontroller, so you need to write some interface between the main controller and each independent motor controller. It’s not as easy as just wiring 3PWM to each board!

You would probably be best to do something like I2C (at 3.3v for all devices) on each G431B and have one big bus, or maybe canbus with the SimpleCanLib that has been passed around here on the forum.

Yeah, SimplFOC is a library of modules, which can be used to build a motor driver system. It’s not as easy as you seem to think. There is no small motor driver like the odrive but cheaper apparently on the market, ready to roll. There is one I have been looking at called the x-esc but it’s not really ready yet.

It’s doable but you should be bracing yourself more than that.

The pwm can be 3.3 on this board, the inputs I think are 5 volt tolerant but it’s generally better to use 3.3 volts for everything when you can.

The esc does not need 5 volts from anywhere, it has it’s own regulators on board.