In case you are in need of a programming cable for your Bafang BBS02 middrive unit, here is a quick and dirty solution. You will need a TTL to USB serial cable using the PL2303HX chipset, a female-female jumper wire and some 3mm heat shrink wire wrap.
The TTL to USB cable is readily available on e-bay and many sites have links to the driver should you need it. The jumper wire and heat shrink wire wrap should be available locally or on-line. Make sure that the female square end connectors on the jumper wire are removable. I used 3mm heat shrink wrap because I had it on hand but 2mm or equivalent tubing might be an even better fit. These 3 components are all relatively inexpensive (total cost less than $10).
Now remove the square end connectors from the ground (black), receive (white) and transmit (green) wires on the USB cable. (Colors may vary.) Also, remove both square end connectors from the jumper cable. Now cut 3 short sections of the heat shrink wrap and apply it to both ends of the jumper cable and just the ground wire of the USB cable. The power wires are now safely insulated.
Make sure the battery is not connected.


Begin inserting the wires into the green male end of the cable from the controller. Position the connector with the notch at 12 o’clock. Insert the 5 wires in the following clockwise direction. Start with either insulated end of the jumper wire on Pin 1/PL and the other end on Pin 3/P+. Now connect the green/TX wire to Pin 2/RX. Follow with the white/RX wire to Pin 4/TX. Finally connect the insulated black ground wire to Pin 5. The connectors should slide over the pins easily and without distorting the pins in the tight space of the male end connector. I could not fit more than 2 square connectors into the male end which is why I used heat shrink wrap. Heat shrink wrapping all 5 wires is doable but an extremely tight fit.
You can now connect the battery.
Connect the USB end of the cable to your Windows PC/laptop and run the controller software. The software can be found at: http://ulozto.cz/x1zej9PD/software8fun-zipp
The software runs nicely on Windows Vista and the drivers were installed automatically. Check your Device Manager to see what COM port is being accessed. Run the Bafang software, set the COM port and you should be good to configure your settings. Be sure to both read and write each of the 3 program settings.
Be carefully what settings you use. You could damage your controller and you would not be covered by the warranty. I would recommend you read the Programmer’s Guide at: http://www.emax-ebikes.com.au/faq.html
You can find a lot more detail in the thread, http://www.endless-sphere.com/forums/viewtopic.php?f=28&t=58780&hilit=bb+programming. There are over 158 pages of posts there to sort through. The controller settings on stock Bafang units leave a lot to be desired. I found kepler’s settings to my liking (Sept 3rd, Page 18) and Paul at em3ev.com is shipping their units with similar settings. I now have almost 100 miles on my Bafang BBS02 drive and the unit runs smoothly using PAS and/or the throttle with no signs of the pulsing/cogging or delay problems experienced by other riders.
I don’t plan on making any more controller changes at this time. However, I plan to make or buy a Bafang programming cable when they become available in the US at a reasonable price. I don’t want to risk breaking a pin in my controller cable should I need to make future changes.
The TTL to USB cable is readily available on e-bay and many sites have links to the driver should you need it. The jumper wire and heat shrink wire wrap should be available locally or on-line. Make sure that the female square end connectors on the jumper wire are removable. I used 3mm heat shrink wrap because I had it on hand but 2mm or equivalent tubing might be an even better fit. These 3 components are all relatively inexpensive (total cost less than $10).
Now remove the square end connectors from the ground (black), receive (white) and transmit (green) wires on the USB cable. (Colors may vary.) Also, remove both square end connectors from the jumper cable. Now cut 3 short sections of the heat shrink wrap and apply it to both ends of the jumper cable and just the ground wire of the USB cable. The power wires are now safely insulated.
Make sure the battery is not connected.


Begin inserting the wires into the green male end of the cable from the controller. Position the connector with the notch at 12 o’clock. Insert the 5 wires in the following clockwise direction. Start with either insulated end of the jumper wire on Pin 1/PL and the other end on Pin 3/P+. Now connect the green/TX wire to Pin 2/RX. Follow with the white/RX wire to Pin 4/TX. Finally connect the insulated black ground wire to Pin 5. The connectors should slide over the pins easily and without distorting the pins in the tight space of the male end connector. I could not fit more than 2 square connectors into the male end which is why I used heat shrink wrap. Heat shrink wrapping all 5 wires is doable but an extremely tight fit.
You can now connect the battery.
Connect the USB end of the cable to your Windows PC/laptop and run the controller software. The software can be found at: http://ulozto.cz/x1zej9PD/software8fun-zipp
The software runs nicely on Windows Vista and the drivers were installed automatically. Check your Device Manager to see what COM port is being accessed. Run the Bafang software, set the COM port and you should be good to configure your settings. Be sure to both read and write each of the 3 program settings.
Be carefully what settings you use. You could damage your controller and you would not be covered by the warranty. I would recommend you read the Programmer’s Guide at: http://www.emax-ebikes.com.au/faq.html
You can find a lot more detail in the thread, http://www.endless-sphere.com/forums/viewtopic.php?f=28&t=58780&hilit=bb+programming. There are over 158 pages of posts there to sort through. The controller settings on stock Bafang units leave a lot to be desired. I found kepler’s settings to my liking (Sept 3rd, Page 18) and Paul at em3ev.com is shipping their units with similar settings. I now have almost 100 miles on my Bafang BBS02 drive and the unit runs smoothly using PAS and/or the throttle with no signs of the pulsing/cogging or delay problems experienced by other riders.
I don’t plan on making any more controller changes at this time. However, I plan to make or buy a Bafang programming cable when they become available in the US at a reasonable price. I don’t want to risk breaking a pin in my controller cable should I need to make future changes.