ASI Controller Troubleshooting Guide
Preface:
Preface: This guide is intended to be a step-by-step guide to troubleshoot issues with low power controllers (BAC355, BAC555, BAC855) and to facilitate a warranty claim. It is generalized and not application specific.
Required Tools
- Safety glasses
- ESD mat
- Current limited power supply (up to 48V)
- Digital multimeter
- ASI evaluation harness
- PC BACDoorTM (+ Mobile with BACDoorTM app if testing Bluetooth functionality)
- USB isolator
- Wire stripper and Electrical tape
- PEAK CAN dongle + PCAN viewer (If using CAN compatible variant)
Note:
when stripping a wire, make sure to isolate it from other stripper wires and connection points, preferably using electrical tape on the exposed part of the wire
Caution:
DO NOT PROVIDE POWER TO CONTROLLER UNTIL INSTRUCTED TO DO SO BY THIS GUIDE.
DO NOT CONNECT A MOTOR TO THE CONTROLLER WHILE FOLLOWING THIS GUIDE.
Wiring Reference

| Pin # | Color | Function |
|---|---|---|
| 1 | Black | Hall GND |
| 2 | White/Black | Hall 5V Out |
| 3 | Green | Hall-A |
| 4 | Blue | Hall-C |
| 5 | Black | GND |
| 6 | Yellow | Hall-B |
| 7 | Purple/White | ABMS |
| 8 | Orange/White | Brake 2 |
| 9 | Blue/Black | PFS |
| 10 | Orange | Brake 1 |
| 11 | Red/White | 5V Output |
| 12 | Blue/White | Cruise |
| 13 | Brown | 12V Output |
| 14 | Purple | Throttle |
| 15 | Purple/Black | HDQ |
| 16 | Black | GND |
| 17 | Grey/White | TTL-RX |
| 18 | Yellow/White | TTL-TX |
| 19 | Grey/Black | CAN-L |
| 20 | Yellow/Black | CAN-H |
| 21 | Red | B+ Out |
| 22 | White | Key-in |
| 23 | Green/White | 6V Light |
| 24 | Black | Light ground |

Visual Inspection

Record
- the Model Number
- Record the Part Number
- Record the Hardware Number
- Record the Firmware Number
- Record the Parameter File Number
- Record the Revision
- Record the Serial Number
- Record the Country of Origin
- Record the nature of the issue you are facing. Use as much detail as possible
Inspect
- the controller thoroughly. Look for any cracks, burns or damage to the outer housing, connectors, LED indicator or any other noticeable defects
Short Check
-
Using the resistance function on the multimeter, measure the resistance between the battery positive and battery negative terminals on the controller with the positive and negative probes from the multimeter respectively.

-
Repeat the above resistance test between Heatsink to battery negative
-
Repeat the above resistance test between battery positive and Hall ground

-
Repeat the above resistance test between battery positive and Light ground

- Repeat the above resistance test between battery positive and control board ground

- Repeat the above resistance test between battery negative and Phase U

- Repeat the above resistance test between battery negative and Phase V

- Repeat the above resistance test between battery negative and Phase W

- Repeat the above resistance test between battery positive and Phase U

- Repeat the above resistance test between battery positive and Phase V

- Repeat the above resistance test between battery positive and Phase W

- If available, use the capacitance function on the multimeter, measure the capacitance between the Battery positive and negative terminals Only proceed if all the above tests do not fail or show low (<5000 ohms) resistance
Power up
-
Connect the battery positive and battery negative terminals to a 48V current limited power supply limited to 250mA.
-
Measure the voltage at the Battery+ Out pin with respect to ground
-
If the voltage at this pin is 0, this means the hardware is damaged. You can try to continue the test by connecting the Key-In pin to battery positive

-
If the voltage is the same as the power supply, short the Key-in pin to the Battery+ out. You will need to keep these two pins connected for the duration of the test.

-
Turn on the power supply set to the controller voltage (limited to 250 mA) and observe the current drawn. If power supply is shorting (Maxing out current limit and), immediately stop test
- Observe the device’s LED indicator. Record if the LED is ON or OFF. If it is blinking, record the blink pattern. For example, the device could have 3 blinks, a short pause, 1 blink and a long pause, and would repeat that pattern (you can record this as 3,1). You can also refer to the ASI faults and warnings troubleshooting page.
-
Connect the controller using a USB isolator to your computer and initiate a connection using BACDoorTM. Note: You must connect the controller TTL TX to the computer RX and vice versa.
-
If using TTL, connect the device to BACDoorTM using your Baud rate (ASI Default is115200) and address 1. If this does not work, try using baud rate 9600. If this also does not work, try other available options and record which baud rate worked (if any of them did).
- If the controller is unresponsive upon powering up (LED indicator does not turn on) and does not connect to BACDoorTM over CAN/TTL, try the following steps:
- Download C2Prog (v1.8)
- Select the COM port that the controller is connected to
-
Load the firmware image (.ehx file)
-
Click program
- Power cycle the controller
-
If the controller is still unresponsive, stop test.
-
If connecting through CAN, use baud rate 250kbps and address 42 if using ASI default settings. If you have programmed it differently, use appropriate settings.
- Record the Firmware version, build version, variant, bootloader version and OTP Serial number.
- Save the parameters to file. Use Save to File, not Save to File (512) or (256) to get all parameters.
- If the status indicator is red, hover your cursor over it to read the reported fault. Navigate to the features/Faults tab and look at Faults, Faults2, warnings, warnings2. Are any of the fault bits set to 1?
- Navigate to Controller Debug/OPT/CRC/Version tab and record the OTP serial numbers (0 and 1) from BACDoorTM.
Peripheral Verification
-
Using the multimeter, measure the voltage output from the 12V
-
Using the multimeter, measure the voltage output from the 5V
-
Using the multimeter, measure the voltage at the 6V output
-
Using the multimeter, measure the voltage output from the Hall 5V
-
Measure the floating voltage at the Hall A
-
Measure the floating voltage at the Hall B
-
Measure the floating voltage at the Hall C
-
Read the floating voltage of Cruise
-
Read the floating voltage of Brake 1
-
Change Bit6 of the features2 vector in BACDoorTM to 0
-
Read the floating voltage of Brake 1 again
-
Read the floating voltage of Brake 2
-
Change Bit7 of the features2 vector in BACDoorTM to 0
-
Read the floating voltage of Brake 2 again
- Change Bit 6 and Bit 7 of the features2 vector to 1 again
-
Read the floating voltage of PFS
-
In BACDoorTM observe the digital input bit vector
-
Connect Hall C to Hall GND and observe bit 0 of the digital inputs vector
-
Connect Hall B to Hall GND and observe bit 1 of the digital inputs vector
-
Connect Hall A to Hall ground and observe bit 2 of the digital inputs vector
-
Connect PFS to ground and observe bit 3 of the digital inputs vector
-
Connect Cruise to ground and observe bit 4 of digital inputs vector
-
Do the bits toggle to 1 when tied to ground?
-
In BACDoorTM, using the Remote digital commands bit vector, write 1 to bit 1 to turn on the 6V switchable output. Measure the voltage at the 6V switchable output using the digital multimeter. Write 0 to the same bit to turn it off
-
In BACDoorTM, using the Remote digital commands bit vector, write 1 to bit 9 to pull the low side switch to ground. Measure the resistance between the HDQ pin and ground using the digital multimeter. Write 0 to the same bit to turn it off
-
Read analog throttle voltage on BACDoorTM
-
Connect the throttle input to the 5V output. Read analog throttle voltage on BACDoorTM
-
Read analog Brake 1 voltage on BACDoorTM
-
Connect Brake 1 to ground. Read Brake 1 voltage on BACDoorTM
-
Read analog Brake 2 voltage on BACDoorTM
-
Connect Brake 2 to ground. Read Brake 2 voltage on BACDoorTM
-
Read analog bms soc voltage on BACDoorTM
- Connect ABMS to the 5V output. Read analog bms soc voltage on BACDoorTM
CANBUS
- Before testing CAN compatibility, make sure both ends of the CANBUS are terminated with 120-ohm resistors. To verify, use the digital multimeter and measure the resistance between the CAN-H and CAN-L lines when not connected to any active devices. The resistance should be around 60 ohms.
- You can use the software configurable terminating resistor by toggling bit 12 of the Communications Configuration Vector
- If using TTL, note down CAN configurations (CAN ID and CAN baud rate)
-
Make sure that your controllers have TPDOs set up to send periodic messages. You can follow these steps to do so if TPDOs are not set up:
-
Navigate to the CAN TPDO1,2 tab and set the following configurations:
-
Write and save to flash
- Connect the PEAK CAN dongle (use the USB isolator) and open PCAN viewer
-
Initiate the connection in PCAN viewer using the CAN Baud rate settings configured on the controller
-
Record the address you see data coming form, if any
- Record the data coming in, if any
- If you cannot see any data coming in on PCAN:
- Ensure the terminating resistor matches the hardware set up you currently have
- Your TPDOs are set up to transmit data
POST Static and Dynamic Testing
- Record the phase A and phase C current sensor offset values on BACDoorTM

- Record the phase U/A, V/B and W/C voltages that are displayed on BACDoorTM
- Record the phase U/A, V/B and W/C currents that are displayed on BACDoorTM

- Start polling for the following quantities:
- Motor phase U/A low voltage POST
- Motor phase V/B low voltage POST
- Motor phase W/C low voltage POST
- Motor phase U/A open circuit voltage POST
- Motor phase V/B open circuit voltage POST
- Motor phase W/C open circuit voltage POST
- Motor phase U/A high voltage POST
- Motor phase V/B high voltage POST
- Motor phase W/C high voltage POST
- Start motor discovery 1
- Record the parameters polled above. If there are any faults that arise, record the POST value and the fault
