Power LiPo3S PCB - Error Codes, Commands and Messages

In this section:
Warning Codes
Error Codes
Clearing Errors
Firmware Commands
System Messages
Log Output Explained
LED Status Indicator

The XAXXON POWER LiPO3S System Power Battery Management Board charges the 3 cell LiPo battery, allows continuous system up-time while switching back-and-forth between wall power and battery, and provides real-time statistics on individual cell voltages and current draw.

The embedded software employs fairly strict error checking, to enhance battery longevity and safety, so it’s not uncommon to see power system errors appear in the web browser remote interface. The error codes can be broken down into the categories ‘warning’, and ‘error.’ ‘Warning’ messages can be cleared from within the web browser interface, while ‘error’ messages will disable or limit charging until the code is cleared manually. (See the clearing errors section below).

Errors and warnings are reported as a historical list, so the message is shown even if the condition that caused it is no longer present.

Warning Codes

This occurs if the battery drain exceeds 4.25 amps, which is getting close to blowing the 5A fuse. This typically happens if one or more of the wheel motors are stalled (at 3.75 amps the java system turns off the motors automatically, but this error still may be thrown if the reaction isn’t quick enough). All system power is immediately shut down.

Occurs if no battery is plugged in

Occurs if the voltage coming thru the dock from the power adapter goes below threshold. This is sometimes caused by a misaligned dock connection, and the system will automatically attempt re-docking. If this error persists and re-docking is common, make sure the wall power adapter plugs are securely attached, and try unplugging the adapter from the wall momentarily

Occurs if one or more battery cells drops below safe voltage. It could have been only for a few seconds, but under-voltage situations can cause internal cell shorts and off-gassing; it is a good idea to check the pack for excessive swelling. Charging will occur at a reduced current until the cells are within safe voltage range

Occurs if the battery is drained completely (but still within non-cell-damaging levels). The battery should typically be kept topped up to maximize longevity

Occurs after prolonged operation with no communication with the host java server software (ie., no way to send warning emails).

Error Codes

Occurs if individual cell voltages differ beyond an acceptable range, usually indicating a faulty or damaged pack. Charging is disabled

Occurs if little or no current is detected flowing into the battery when charging. Check for continuity in the fuse wiring between the ‘BATT SWITCH’ terminals on the PCB. Charging disabled

Occurs if voltage of one or more cells are detected above safe range, usually indicating a faulty or damaged pack. Charging is disabled

Occurs when the target charging current can’t be reached; could be caused by an under-powered wall power adapter. Charging is disabled

Occurs if the battery fails to accept charge; could be caused by faulty or damaged pack. Charging is disabled

Occurs if the battery fails to complete charging within the allotted time, could be caused by faulty or damaged pack. Charging is disabled

Occurs if the ‘powershutdown’ command fails to kill power to the system. Occasionally this can be seen when the battery is fully topped up, but it could mean a circuitry fault. Charging is limited to low voltage

Occurs if warning and error codes fill the entire eeprom, potentially losing error history (and ability to diagnose problems). Charging is limited to low voltage

Occurs if the current sensor is reading incorrectly, possibly due to a faulty or damaged sensor. Charging is disabled, and dock power needs to be removed (the Oculusprime Java application reacts to errors 80 and higher by un-docking and disabling future docking)

Occurs if current is detected flowing into the battery when not intending to charge, indicating potentially faulty or damaged circuitry. Charging is disabled, and dock power needs to be removed (the Oculusprime Java application reacts to errors 80 and higher by un-docking and disabling future docking)

Occurs if charging current is higher than expected for extended time, possibly due to faulty or damaged circuitry. Charging is disabled, and dock power needs to be removed (the Oculusprime Java application reacts to errors 80 and higher by un-docking and disabling future docking)

Occurs if the java application had communication with the Power PCB but lost it, potentially due to a faulty USB connection.

Clearing Errors

Codes 40 and higher require the error to be cleared manually, before resuming normal operation. This is a normal step in troubleshooting, to see if the problem persists, as long as you understand what the original errors were and are now physically present and closely monitoring the hardware.
NOTE: always feel free to email us a copy of the power log file (‘oculusPrime/log/power.log’) so we can help troubleshoot!

To clear errors, from within the web browser interface go to ‘menu’ > ‘advanced’ > ‘telnet text command’ and enter:

powercommand 4

This sends the single byte ‘4’ to clear the error history from the eeprom. Then enter:


to reset the board.

If the error state contains a code higher than 80, you’ll have to clear the ‘force undock’ state in the java server application. Either restart the application, or enter the command:

state delete forceundock

Firmware Commands

From within the web browser remote interface, you can send commands directly to the board using the telnet command powercommand. To view the board’s response/output, check the ‘oculusPrime/log/power.log’ file.

To enter a command, go to 'MENU > advanced > telnet text command' and enter:

powercommand command

CAUTION: entering the wrong command can adversely affect the board’s operation and cause damaging situations. Resetting the board can fix most situations (power cycle or issue telnet command ‘powerreset’)

Where command is one of the following (case sensitive):

Report firmware version

s (lower case)
Read all error codes

B (upper case)
Clear all error codes only if all warning only

C (upper case)
Clear latest single warning code

Clear all error codes

Report battery capacity mAh. Note: capacity is adaptive, and is automatically set whenever the battery is drained to around 5%

5 {INT}
Set battery capacity mAh

D {INT} (upper case)
Set dock voltage, millivolts (default is 14000). This sets the minimum voltage from wall power adapter to set ‘docked’ status

E (upper case)
Report dock voltage, volts

F {INT} (upper case)
Set current mAh remaining, 1 byte percentage (0-100)

G (upper case)
Report safe current amps

H {INT} (upper case)
Set safe current milliamps (default is 4250). Battery current drains above this will cause immediate power shutdown. Warning current level (causing motor stop) is 500mA less. CAUTION: tampering with this setting can cause blown fuse or damage to system.

Erase entire EEPROM (warning: this will set battery capacity to default, erase all error code history, and set dock voltage, current calibration, and safe current to default)

System Messages

The PCB periodically outputs the following system messages, some of which are important to react to for battery safety reasons. NOTE: system message output is typically surrounded with “<>” braces

reset – indicates the microcontroller has just reset and is initializing

redock – indicates low voltage dock connection, re-docking recommended. The Oculusprime Java application reacts to this message by un-docking and re-docking the robot (failure to do so could result in overheating of contact points)

charged – charge complete

docked – dock status detected

undocked – un-docked status detected

wallpower – wall-power connection detected (system typically outputs ‘docked’ status after a short delay, unless the connection is inadequate, in which case the Oculusprime Java application reacts by backing the robot up and trying docking again)

shutdown – power will be cut to system after a short delay (if the host system immediately responds with a ‘w’ command, the delay is lengthened, allowing time for graceful OS shutdown)

power_error {CODE} – error or warning

high_current – high current drain detected. Oculusprime Java application responds to this by stopping motors

Log Output Explained

In the power log file (‘oculusPrime/log/power.log’) you’ll see something like the following, output from the board every few seconds:

docked 18%_charging cells:3.76_3.77_3.77_idle:3.74_3.77_3.75_sh:000_ sCV:13.61_sIV:14.26_pwm:158_amps:1.01_mAh:989_lV:11.26_cC:0.05_bP:0_eR:0


18%_charging – General status

cells:3.76_3.77_3.77 – Individual cell voltages

idle:3.74_3.77_3.75 – If charging active, individual cell voltages between charge pulses

sh:000 – If charging, indicates which balance shunt resistors are active (for each of 3 cells, ‘1’ indicates active, ‘0’ indicates inactive)

sCV:13.61 – If charging, indicates total pack voltage during charge pulse

sIV:14.26 – Indicates total pack voltage between charge pulses

pwm:158 – Charge current regulator duty cycle value

amps:1.01 – Current to/from battery (negative value indicates battery draining, positive indicates charge)

mAh:989 – Estimated battery mAh remaining

lV:11.26 – Latest recorded pack voltage when battery draining

cC:0.05 – Current sensor calibration offset

bP:0 – Pack positive terminal pFET state

eR:0 – Current error code

Led Status Indicator

The red LED (LED6) has the following states:

Off – Battery not charging

Steady On – Battery charging

Steady Flash – Error

Periodic pulse (Short flash every 1.5 seconds) – Low battery

CART 0 items | US$
    Check Order Status
Follow →
instagram twitter facebook youtube
© 2023 Xaxxon
Products Documentation Downloads Source Code
Warranty & Returns About Us Contact/Support News
instagram twitter facebook youtube