Balancing Robot - Component Selection

Hi everyone :slight_smile:
I am building a two-wheeled balancing robot for a University project and looking for a bit of assistance in selecting components.

It will be controlled using an STM32 Nucleo dev board and IMU sensor (supplied by the Uni) while all other components are chosen and supplied ourselves. My idea was to try and build a slow but stable system, using low voltage, higher amperage components (most other students are using 12v stepper motors).

Currently my electronic components include:

  • 2x NEMA17 stepper motors, 2.8v, 1.7A/phase, 200 steps/rev
  • 2x DRV8825 high current stepper motor driver
  • 2x 3.7v lipo cells (to get 7.4v total)
  • STM32 Nucleo board
  • IMU sensor
  • Various diodes, resistors, switches etc

I still need to decide on:

  • a voltage regulator
  • control system (for manual control, wired controller vs bluetooth etc)

Components will fit together on a custom PCB with a size limit of 100x80mm.

I was hoping to get some help confirming the compatibility of selected components and suggestions for the selection of a voltage regulator and/or control system.
Thanks in advance!!


Hey Mic,

Welcome to the forum!!

A bit of an aside, your tutors in class will definitely be able to lend a hand as they will know the ins and outs of the assignment (they would have completed it before).

Heads up with the DRV8825’s they require a motor voltage between 8.2 – 45 V.
Which LiPo cells were you looking at? to power the whole system I’d also be factoring in a bit of a safety factor as sometimes motors can draw large current spike (above the rated max)

The logic level of the STM will also be a driving factor for the motor driver and method of control you opt for.

As for voltage regulators, there are two available, linear regulators and switching regulators (some are adjustable and some are not) depending on what you want to power from it will also have

With a system as extensive as that collating all of the datasheets and making sure the flow of the system works would probably be the fastest way to confirm.
Most Nucleo boards are super generous with the comms that are ported out so the world is basically your oyster! The HC bluetooth line use serial communication, RC controllers typically use PWM or PPM. The implementation of it is the hard part :wink:

For the control your actuator will be limited in some area always, the torque/force or speed and the combination of the two will give you the total power. Which is all good for slower transients as saturating the input will slowly bring it back to any equilibrium, in the case of a balancing robot it will change wildly on the range that you will try to operate between.


Hey Liam, thanks for your insight.

Our tutors are providing lots of help witht he programming side of things but are encouraging us to research all the components ourselves.

I have access to a bunch of spare 504070 and 18650 3.7v cells, through my work. Using them out of convienence more than anything (2000-4000mAh cells, was going to use whatever packaged up the best within the completed chassis).

Thanks for the pickup on the voltages for the DRVs. Would using a 3rd lipo cell be a pheasible solution? bump up the supply voltage to 11v??

And do you have any reccomendation on a particular regulator that would suit?


Just remembered the rule of having even number of lipo cells.
Am I right in thinking I could use 4 cells (but balancing them may become an issue??), get some higher voltage cells or switch to lower input voltage drivers??

1 Like

Hey Michael,

If your tutors were more looking for you to explore how all of the different parts interact I would probably preference that route. While forums are excellent places to learn sometimes a maker might miss something that is quintessential to the system (I did it just before in another topic).

A few good resources to check out would be Great Scott and EEV blog

To rapid fire your questions without giving away too much.
There are a few gotchas with LiPo’s notable how much current you can pull from them. The cell count its denoted as S where a 3 cell battery will be 3S.
That will depend on your system as a whole, make sure you driver can work with your microcontroller and your motors can work with your motor driver/controller.
Your regulator selection would strongly depend on how much current you have to draw and at what voltage.

It sounds like there are lots of factors in the system and finding a balance between all of them is one of the hardest parts, also be sure to implements some safety when using a LiPo a fuse can go a long way (LiPo fires are not pretty).


Cheers for your help!

Being in my last year, they expect us to have a good knowledge of components and are providing more assitance with the coding as we are yet to implement our code on physical systems, only simulations.

Realistically, im just looking for a high level gut check that my selected components would be suitable. Have made the switch to DRV8834 drivers. They take an input of 2.5-10.8v and output a constant 1.5A which should suit the steppers better (they have a max current draw of 1.7A while the DRV8825 outputs up to 2.2A and requires an 8.2V input)