Makka bikes use the BAC2000 controller made by ASI, who helpfully publish a list of faults and warnings on their website.
The error codes shown on the Makka display don’t directly match the faults in the tables from ASI, so we must look up the error using one of the methods below.
Error codes are shown on the bottom right corner of the Makka's display (Display v2):
If the Makka has only one fault, the error code can be found in the table below:
Makka code | Bit | Fault | Flash code |
---|---|---|---|
000100 |
0 | Controller over voltage | 1 short, 1 long |
000200 |
1 | Phase over current | 1 short, 2 long |
000400 |
2 | Current sensor calibration | 1 short, 3 long |
000800 |
3 | Current sensor over current | 1 short, 4 long |
001000 |
4 | Controller over temperature | 1 short, 5 long |
002000 |
5 | Motor Hall sensor fault | 1 short, 6 long |
004000 |
6 | Controller under voltage | 1 short, 7 long |
008000 |
7 | POST static gating test | 1 short, 8 long |
000001 |
8 | Network communication timeout | 2 short, 1 long |
000002 |
9 | Instantaneous phase over current | 2 short, 2 long |
000004 |
10 | Motor over temperature | 2 short, 3 long |
000008 |
11 | Throttle voltage outside range | 2 short, 4 long |
000010 |
12 | Instantaneous controller over voltage | 2 short, 5 long |
000020 |
13 | Internal error | 2 short, 6 long |
000040 |
14 | POST dynamic gating test | 2 short, 7 long |
000080 |
15 | Instantaneous under voltage | 2 short, 8 long |
If your Makka is displaying an error code that is not listed above, it may be because multiple faults are present at once. If so, you can convert your error code like so:
004001
00 40 01
→ 40 01
, this is our hex value40 01
→ 01 40
0140
→ 0000000101000000
Bits: | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Binary number: | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
In this hypothetical example, bits 6 and 8 are active. Using the above table, we can see that bit 6 corresponds to “Controller under voltage” and bit 8 corresponds to “Network communication timeout”.
If you need help figuring this out, please reach out in the “Error codes” thread on Discord, or email [email protected].
If your error cannot be found using the above method (or you want further verification), you can use the controller's flash code.
Each fault has a unique flash code, represented as 𝑥,𝑦
. Where 𝑥 is the number of short flashes from the controller’s LED, and 𝑦 is the number of long flashes.
For example, if the LED shows 2 short flash then 3 long flashes, the flash code is 2,3
which corresponds to “Motor over temperature” in the ASI fault tables: