Skip to content
Candas1 edited this page May 11, 2022 · 48 revisions

Most of the Hoverboard mainboards use a 10S2P LIPO Batteries (36v Nominal - 42v Charged ).
If you want to use a battery with less or more cells in series, change BAT_CELLS parameter in config.h (10 by default).
Batteries up to 12S have been used safely in the community, but do it at your own risk.

🔌 Charging

You can charge the battery through the mainboard pcb or connect the battery directly to the charger through a custom xt60 adapter.

🔔 Battery level low alerts:

Default battery level are for safe use of LIPO batteries.
You can adjust the levels to your needs in config.h if you want to use a battery with a different chemistry.

Level Single Cell Voltage Sideboard Led Alert Enable
Parameter
Ajust
Parameter
LVL5 3.9v Green blink BAT_LVL5
LVL4 3.8v Yellow BAT_LVL4
LVL3 3.7v Yellow blink BAT_LVL3
LVL2 3.6v Red Slow beeps BAT_LVL2_ENABLE BAT_LVL2
LVL1 3.5v Red Blink Fast beeps BAT_LVL1_ENABLE BAT_LVL1
DEAD 3.37v Power Off BAT_DEAD_ENABLE

BAT_LVL1_ENABLE and BAT_DEAD_ENABLE are enabled by default, you can disable it by making it 0 in the config.h file.

💤 Inactivity timeout - Power Saving

The board will automatically power off after approximatively 8 minutes of inactivity by default.
The counter is reset if commands or cruise target are below -30 or above 30.
Parameter INACTIVITY_TIMEOUT can be used to set up the number of minutes of inactivity before power off. It is not very precise.

📉 Calibration:

Battery voltage has to be calibrated to have a more accurate reading, for this you need Debug Serial to be active

  • Measure battery voltage with a multimeter and write the value * 100 to parameter BAT_CALIB_REAL_VOLTAGE in config.h
  • Turn the board on and wait a minute for the Battery ADC to stabilize
  • Read value BatAdc(5) from Debug Serial Output and write it to parameter BAT_CALIB_ADC in config.h
  • Save, compile and flash the board
  • Value BatV(6) in Debug Serial should match with the measured battery voltage now

🧰 Troubleshooting:

If the board is beeping because of low battery level or turning off with the melody

  • Make sure you have updated the number of cells in config.h if you use a battery with less cells in series
  • Calibrate the battery voltage
  • With a battery of low quality/bad health, pulling a lot of current will result in a big battery voltage drop and trigger battery low alerts. You can use a better battery or several similar batteries in parallel
  • Reducing the battery low levels can help but going too low can be risky for your battery
  • You can limit the current being drawn to reduce the voltage drop but you will also reduce the power
  • Debug Serial can be used to monitor battery voltage

You can turn off the battery dead power off with BAT_DEAD_ENABLE parameter for debugging.

If the board turns off without the melody, the BMS is shutting the power off

  • You are drawing too much current which triggers the over-discharge protection of your BMW. You can limit the current but you will reduce the power
  • It can happen if your battery is fully charged and too much current is flowing back (regenerative braking), it can trigger overcharge protection of your BMS
  • When using phase advance/field weakening and braking, a voltage higher than the battery voltage can flow back to the battery and trigger the over-voltage protection of your BMS

You will have to unplug the battery and plug it again