I just thought it could be helpfull to rassemble all command on a single thread.
These are the command you can type in a serial terminal communication software installed on your pc that can communicate via the rs232 port. It can be done with a usb to RS-232 cable adaptor that you just connect the rs232 pins TX and RX to the MBB ( Main Bike Board) OBDII port or Battery BMS. You will need to connect 4 wires ( GND, 5V, TX and TX). i'll try to add images later
Here is the list of known command and what they do.
Credit to (
offthegrid, protomech and Terry )
help: _________give you a list of commands
balance:_______to get the battery balance
dobalance:_____force the BMS resistors to burn energy off the highest voltage cells
calsincos: ____?
? known to work just for the sevcon and motoenergy brushless on the 2012
eventdumplog:___ seem to give some history about the event that are recorded in the MBB
h:_____________ menu pops up with all commands.
More command to come.
Here is an exemple of what you get with the command BALANCE:
"ZERO BMS> balance
" - Bank Voltage(mV) Diff(mV) Graph
- 01 4108 4 -----------------------------|
- 02 4107 3 ---------------------------|
- 03 4106 2 --------------------------|
- 04 4104 0 -----------------------|
- 05 4106 2 --------------------------|
- 06 4106 2 --------------------------|
- 07 4106 2 --------------------------|
- 08 4106 2 --------------------------|
- 09 4107 3 ---------------------------|
- 10 4107 3 ---------------------------|
- 11 4106 2 --------------------------|
- 12 4106 2 --------------------------|
- 13 4107 3 ---------------------------|
- 14 4105 1 ------------------------|
- 15 4107 3 ---------------------------|
- 16 4106 2 --------------------------|
- 17 4106 2 --------------------------|
- 18 4107 3 ---------------------------|
- Highest Bank : 01 (4108 mV)
- Lowest Bank : 04 (4104 mV)
- Imbalance : 4 mV
- Load Resistor States
- Cell: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18
- Res : 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 "
Here is an exemple of what you get with the command EVENTDUMPLOG:
"ZERO BMS> eventlogdump
*************************************************************
* Event Log *
*************************************************************
Printing 5806 of 5806 log entries..
Entry Time of Log Event Conditions
...
...
...
05686 09/08/2012 17:38:50 Discharge level 065 AH, SOC: 46%, I: 0A, L:3424, l:3424, H:3483, B:059, PT:031C, BT:034C, PV:62373, M:Idle
05687 09/08/2012 17:42:26 Bike Turned On
05688 09/08/2012 17:42:28 Discharge level 065 AH, SOC: 46%, I:-13A, L:3426, l:3383, H:3485, B:059, PT:032C, BT:032C, PV:62418, M:Bike On
05689 09/08/2012 17:43:28 Discharge level 065 AH, SOC: 46%, I:-12A, L:3399, l:3359, H:3472, B:073, PT:032C, BT:034C, PV:62107, M:Bike On
05690 09/08/2012 17:44:28 Discharge level 065 AH, SOC: 46%, I:186A, L:3118, l:3712, H:3294, B:176, PT:031C, BT:035C, PV:58326, M:Bike On
05691 09/08/2012 17:45:28 Discharge level 067 AH, SOC: 44%, I: 60A, L:3003, l:3214, H:3324, B:321, PT:031C, BT:033C, PV:58193, M:Bike On
05692 09/08/2012 17:46:28 Discharge level 067 AH, SOC: 44%, I:-13A, L:3260, l:3215, H:3435, B:175, PT:031C, BT:034C, PV:60920, M:Bike On
05693 09/08/2012 17:47:18 Discharged To Empty 068 AH, SOC: 44%, L:2763, H:3284, B:521, PT:032C, BT:033C, PV:56694
05694 09/08/2012 17:47:28 Discharge level 120 AH, SOC: 0%, I: 53A, L:2715, l:3065, H:3287, B:572, PT:032C, BT:034C, PV:56636, M:Bike On
05695 09/08/2012 17:47:53 Bike Turned Off
05696 09/08/2012 17:47:54 Discharge level 120 AH, SOC: 0%, I: 0A, L:3018, l:3018, H:3384, B:366, PT:032C, BT:033C, PV:59196, M:Idle
05697 09/08/2012 17:48:24 Bike Turned On
05698 09/08/2012 17:48:25 Discharge level 120 AH, SOC: 0%, I:-12A, L:3093, l:3013, H:3401, B:308, PT:032C, BT:033C, PV:59707, M:Bike On
05699 09/08/2012 17:48:39 Bike Turned Off
05700 09/08/2012 17:48:40 Discharge level 120 AH, SOC: 0%, I: 0A, L:3112, l:3112, H:3406, B:294, PT:032C, BT:033C, PV:59843, M:Idle"
And here is some details about the data you get from the console:
05686 // log number
09/08/2012 17:38:50 // datetime, may or may not be set to proper local time
Discharge level 065 Ah // pack capacity consumed
SOC: 46% // (55 Ah / 120 Ah = 45.8% SOC)
I: 0A // pack current, no present discharge
L:3424 // low bank millivolt
l:3424 // other millivolt? not sure what's going on here - you see it jump from 3.383 to 3.359 then 3.712 under moderate discharge. sometimes l is lower than L or higher than H.
H:3483 // high bank millivolt
B:059 // H - L or the difference between the highest cell and lowest. guessing "B" stands for "balance"
PT:031C // pack temp
BT:034C // BMS temp
PV:62373 // pack voltage in millivolt
M:Idle // bike mode
(UNKNOWN COMMAND TO GET THE FOLLOWING) any idea?
Code:Current Low High Pack Avg 16 Avg 18
0 3424 3483 62373 3467 3465
-13 3426 3485 62418 3469 3468
-12 3399 3472 62107 3452 3450
186 3118 3294 58326 3245 3240
60 3003 3324 58193 3242 3233
-13 3260 3435 60920 3389 3384
2763 3284 56694 3165 3150
53 2715 3287 56636 3165 3146
0 3018 3384 59196 3300 3289
Average 16 is the average voltage of the mid 16 banks (excluding high, low). Average 18 is the average voltage of all banks.
More to come...