Monitoring State of Charge of the Batteries (SoC)

How do I monitor the State of Charge of the battery pack? With Lead-Acid Deep Cycle batteries, it’s not recommended discharging them below 50%. A simple voltmeter is all you need, but I’m wondering if there is software utility to monitor battery voltage?

Yes, the ubiquity_motor node reads the data from the MCB and publishes battery information into the /battery_state ROS topic.

Excellent. I’ll monitor the /battery_state ROS topic. Thanks!

We are also near end stage of qualification of some new firmware that will monitor battery voltage at power on as well as every 45 seconds and indicate low battery on the ‘STAT’ led.

We also discovered an issue with absolute accuracy of battery voltage that is being addressed in the rev 5.3 MCB board. Contact me at if you need better than 0.3 or so volt accuracy today with current boards.

Thanks Mark. The question I had was about the accuracy of the voltage readings under load, ie, if the motor has to move a 150 lb payload for example. The need to monitor the battery’s voltage and state of charge matters more for Pb than for LiFePO4 chemistries. I will contact you separately. Thx

Understood @ravi This question has come up on the past and that prompted me to make parts substitutions for our board a couple weeks ago so that the next run of boards will be using 0.1% tollerance resistors for battery monitoring instead of 1% which accounted for most of todays error in absolute level. This change will be on our rev 5.3 boards and will likely be very acceptable for the sort of measurement you are looking for in the product.

Something I have not mentioned but your post hints at is that you may find of value that each motor has a current sensor and that current sensor can be read. For the case of high load you are discussing this too may be of value to you. I can look into if that value is exposed or not in todays ROS topics. In the mean time, Stay Healthy, Mark

Also, using a current shunt will give you stable voltage readings under high current load and hence better battery capacity estimates. A cheap 50 Amp shunt should suffice.

Agree, thanks. Each motor has a 20amp hall sensor, specifically the ACS712 line of sensors.