Version 0.9

This is a work in progress. Most recent update: Friday, December 22, 2017, v0.9

Huge Thanks

Chapter 1

"S" vs. "M".

It's never the same, even though it should be.

Sometime between late 2015 and early 2016, Sabvoton became MQCON. The details are hazy and searching online will yield very few results. But as a result of this split, some small but incredibly important features of their products changed. Of course, they didn't tell anybody. These changes include but are not limited to the software version and serial protocol. The serial protocol is undoubtably the most important, and frustrating, rogue change. The USB port on your controller is not USB at all. It's a serial communication module.

What's serial communication?

It's basically prehistoric, but incredibly relevant.

In telecommunication and data transmission, serial communication is the process of sending data one bit at a time, sequentially, over a communication channel or computer bus. This is in contrast to parallel communication, where several bits are sent as a whole, on a link with several parallel channels.

Every USB you've ever used is a highly evolved version of serial communication. Using voltage with, in most cases - a negative (gnd) wire used as reference - it sends 1's and 0's back and forth. This is how your computer will speak to your Sabvoton controller. But here's the important part: Not all serial is created equal. There are different types (protocols) that work in entirely different ways. Sabvoton switched from the protocol RS-485 and started using RS-232 instead sometime between 2015 and 2016. So moving forward, it's important to know which version you have: the SSC/SVMC? Or the mSSC/SVMC? Using the chart below will help you determine what version of communication you have on your Sabvoton controller.

Model # Year Built Serial Protocol Software Version
SSC-[xxyyy] 2011-2015 RS-485 → USB [nb] v1.[?]
SVMC-[xxyyy] 2011-2015 RS-485 → USB [nb] v1.[?]
mSSC-[xxyyy] 2015-2018 RS-232 → USB v2 or 2.1
mSVMC-[xxyyy] 2015-2018 RS-232 → USB v2 or 2.1
[m = MQCON, post-2015]
[xx = rated voltage]
[yyy = rated amperage]
[nb = not Bluetooth compatible out of the box]

So hopefully now you know what kind of PC → controller communication you're dealing with. This will become incredibly useful when you attempt to setup the controller. Let's move on.

Chapter 2

Chinese Wiring Diagrams

Grab the heat shrink, Rosetta Stone and solder iron.

Notable wiring:

Red/Orange "Ignition Wire" or "Electric Lock"

This wire MUST be connected directly to your battery positive.. yes, you read that right. Battery positive. If it doesn't detect your battery voltage, then your Sabvoton will not boot. I highly reccomend you add an inline switch to create your controller "ignition".


Using this new switch that you hopefully just installed will be the best way to power on/off your controller. NOTE: Unplugging the controller from the main battery source (B+) will not save any settings you made in the software. You must switch it off via the "ignition" switch for it to save anything.


This one makes a ton of sense (sarcasm):


Cycle Analyst shunt

When using the Cycle Analyst shunt, your ground (B-) should look like this:


A note from Alec: Much more coming soon, including detailed photos, to this section.

Chapter 3

DIY USB cable

If you have a non-M version, or if you lost your original cable.

A note from Alec: Much more coming soon, including detailed instructions, to this section.
RS-485 options (pre-M)

You'll need an RS-485 to USB converter. Luckily you can find them cheap. The original programming cable of which you can purchase from AliExpress, QS, etc. will not work. This is your only option. Your Sabvoton controller highly favors the CH340G IC chip. It may work with other IC's but it's highly recommended you use the CH340G.

RS-485 → USB, CH340G chip (Amazon Prime, $7.00)

RS-232 options (M/post-M)

If you lost your cable or never even recieved one, here are your CH340G RS232 options:

RS-232 → USB, CH340G chip (Amazon, $5.63)
RS-232 Bluetooth options (M/post-M)

NOTE: A RS-232 to USB cable must be used to program the RS-232 to Bluetooth dongle. Without the cable, you will not be able to properly configure the dongle to speak with the controller.

RS-232 → BT, HC-06 SL chip (Amazon Prime, $8.99)
Here's what you want to set your HC-06 to:

AT + NAME = HC06
AT + UART = 19200,0,1
AT + ROLE = 0
AT + PSWD = 1234 (your 4-digit pairing password)

Chapter 4


Let's save you the headache. Here you go.

NOTE: Remember to download the correct version!

Software Parameters

Labeled As What It Should Be Called Value Range
Dc current limited volt Battery Voltage Rating Set this to the absolute max voltage of your battery.
Lack volt Low Voltage Cut-off When battery reaches this voltage, controller will shut off.
Over volt High Voltage Cut-off Same as above, but opposite.
Rated dc current Continuous Amps Estimate the amount of amps for normal riding. For example, 10A (this value) * 90V (pack voltage) = 900W (output).
Max dc current Absolute Max Amps. Same as above, but this will be the peak.
Limit dc current Rated Amps Set to same value as "Rated dc current".
Rated phase current Continuous Phase Amps Set 2-2.5x higher than continuous battery amps.
Max phase current Absolute Max Phase Amps Keep lower or equal to "Max dc current".
Flux weakening Enable/Disable
Flux weakening current Keep below 50A for motor safety, but value allows up to 150A.
Pn Motor Poles Amount of magnets in motor divided by two.

A note from Alec: Much more coming soon, including detailed photos, to this section.

Use the information on this page in any way you want.
Copy it, post it, whatever. Just keep it free.