• Howdy! we're looking for donations to finish custom knowledgebase software for this forum. Please see our Funding drive thread

Sabvoton MQCON review and documents


10 MW
Nov 1, 2015
3 OH 3
Warning: If you are buying a new Sabvoton, it is a clone and prone to dying prematurely. Sabvoton closed their doors in late 2014 and everything newer than that is a Chinese knock-off. Quality in these controllers tends to be very poor and they fail often. I don't recommend buying a new Sabvoton controller. About 50% of them die within months of purchase!

NOTE: This review is for an MQCON from 2014, NOT a new MQCON/Sabvoton controller.

Hi Everyone,

I recently picked up a used MQCON controller and since I was collecting information on it, I thought I would post that information here. I've found that docs on these controllers isn't exactly easy to come by and then I went to the savoton.com site a few minutes ago and this happened. Has the company gone out of business? When I google for them, they come up fifth in line after amazon and other sites. WEIRD??? IT did later come back up, but then the site was significantly different than before. It's almost like Sabvoton closed up shop and then someone bought up the company and started over again.


I have been looking around for a good while for docs for this controller and finally found some. Here they are. I haven't had the chance to verify if any of this is correct or not.







Older style stuff...


I also took my controller apart to look inside it. Here's some pics of its internals. If anyone knows what MCU these controllers use, please post it in this thread. These controllers are pretty big at 6"x7"x1.5"! They use 24 IRF4115 mosfets.







Here's the MCU...but it's covered in epoxy.

I later came across a friend with the same controller and asked him to pop off the cover and his wasn't covered in epoxy so I got a couple of decent pictures of his MCU.



I also ran across this set of notes somewhere. I apologize if I'm plagiarizing...It's not intentional...I'm just putting everything I found in one place for who ever needs it.

* Lack Volt = Think of this as the low voltage cut off, set this to the minimum voltage you want the controller to cut off power.
Example: Your using a 48v battery, you want to set this around 42V
* Over Volt = Over voltage protection, I would set this to 95v or slightly above your battery’s maximum voltage. The maximum setting is 95v.
Example: Your using a 48V and you to set this around ~55v
* Rated DC Current = This is the continuous rating for Battery amps, which dictates power. Set this Rated DC current = Max DC current or lower than Max DC Current. Increasing this number will increase wattage power and top speed.
Example: Rated DC Current 50A x 48V = 2400W!
* Max DC Current = Maximum amount of Battery amps. Increasing this number will increase wattage power and top speed. But keep this equal to or higher than Rated DC Current.
Example: Rated DC Current 50A and Max DC Current 70A
* Limit DC Current = Set this to match the Rated DC Current
* Rated Phase Current = Phase amps, this controls the continuous amount of phase amps going into the motor. More phase amps will increase torque and acceleration. Generally you want this higher than * Battery Amps, about 2-2.5x higher, but tune to your setup accordingly.
* Max Phase Current = The maximum amount of phase current, keep this equal to or higher than the Rated Phase Current.
* Electric Brake = Enable for Regen, only applies to Direct Drive Hub Motors.
* Flux Weakening = Enable to increase top speed at the expensive of efficiency. Also known as field weakening. Do not recommend higher than 50A otherwise you can damage or destablize the motor’s magnets.
* Flux weakening current = 0-150A, the higher this setting the higher you can boost the top speed of your motor. Technically this counters EMF of the motor and forces the motor to run at a higher RPM.
* Electric Brake Ph current = 0-200A This controls how strong the regen will be I generally set this at 100A on a 17? moto wheel for street riding and 150A for track riding. 26? Wheel you would want 80A or higher. Be warned, setting this too high will skid the rear tire upon deceleration and can fish tail the rear. Again, tune according to your motor and wheel setup.
* Pn = Very important to set the correct number of pole pairs for the motor otherwise you will have poor performance. This is the number of magnets in your motor divided by two.
* Hall Angle Test = Very import to run the Hall Angle Test map the hall sensors with the controller. Gone are the days of trying various hall and phase combinations.
* Try a phase combo then click enable hall angle test, and change control mode to hall angle test. Click OK, then also change the test given current setting from 10A-28A, your motor should spin forward. * Very Important to suspend the bike, because the motor will spin on its own for a few minutes.
* If Hall Status = Passed then congrats you found the right combination! The Hall Angle setting should have changed to the proper “degree”. Click OK then yes on parameter store. Restart the controller and take it for a spin!
* If the motor spins backwards change the Motor direction setting under “Motor”
* If the Hall Test fails then change a different phase combination and run the hall test again.
* To save the settings, you have to click SET! > DEBUG > Parameter Store > Yes and click OK. That will save the settings.


an actual review of the controller to come later.
It appears to be constructed very similarly to a Sevcon. I hope they work great!
liveforphysics said:
It appears to be constructed very similarly to a Sevcon. I hope they work great!

I'll know soon. It needs to get powered up and tried out! This weekend hopefully.
ElectricGod said:
liveforphysics said:
It appears to be constructed very similarly to a Sevcon. I hope they work great!

I'll know soon. It needs to get powered up and tried out! This weekend hopefully.

I cant wait :)

What motor will you use first time?

Ill open mine when in home from vacation, ill give you a reply on the MCU.

Mine is black. Is that optional or older/newer?
This motor will be paired with the controller when I get around to it. It's a 4000 watt QSmotor that takes a 10" tire. I'm not fond of hubs, but the moped it goes on can't take any other kind of motor.


It's been a while since I messed with the MQCON. I finally made some time to get back to it.

I made up some temporary power and phase leads to use on the bench. The real set up on the moped won't use light weight power and phase connections like these. I use IP68 connectors wherever they are appropriate. The controller will be exposed to the weather so it's signal wires will be as well. That means I want them to be impervious to water penetration. I standardized on doing certain things the same way for all my builds a good long while back. All hall connections terminate in a 6 pin IP68 connector. The 6th pin is used for motor temp sensing if it is available. I also terminate throttle and enable in another 6 pin IP68 connector. The 6th pin is not always used, but sometimes I implement variable regen or a boost mode or brakes and then it gets used for them. It just depends on the controllers feature set.

This is the hall, throttle and enable connectors. I do the exact same wiring scheme and connectors on all my controllers so that it is always interchangeable with all my stuff.


And the bench power and phase cables. I make up temporary stuff like this from time to time and then keep them for future use on other bench testing. I used to NOT do this and found myself remaking something I made a month before and then took back apart when I was done. Now I make them and then finish them so they are good for the long term. I bench test lots of stuff. The various adapters and cables I have made over the past few years have gotten reused many times. In an actual EV build, I would never do this, but for bench testing, I can connect just about anything to anything else. Such as screw terminals to 5.5mm bullets going to a switch with a precharge resistor in line with it and then on to an XT90.


This is the final bench set up for now. My battery pack in the background is a bunch of laptop 18650's that I scrounged out of battery packs. I made the pack to work in 6S2P chunks of which there are 6 of them. I can connect them in parallel or series to make 6S12P, 12S6P, 18S4P, 24S2P, 30S2P or 36S2P...IE: lots of voltage options with decent current capabilities for bench testing. Each 6S2P chunk has it's own balance cable for balance charging. It's currently set up as 18S4P. The motor is an AstroFlight 3220 that I added halls to. Look at all my crazy adapters from the pack to the controller. The 6S chunks terminate in DeansT (That was a deliberate choice) which then go into an adapter that makes them into 18S strings terminating in an XT90. Since there are two of these in the pack, there is an XT90 in parallel with another XT90. Then my watt meter which has been used for a couple of years now for smaller things has XT60's on it so then I adapt XT90 to XT60 and back to XT90 again and then to 5.5mm bullets and then to the switch and then to 5.5mm bullets and finally to screw lugs. It's madness I know, but I can connect anything to anything with all those adapters which is perfect for bench testing.


Tonight I'll load up the sabvoton app and get the controller configured. It currently runs the motor for a second or so, but last time it was used was on a hub so it has "learned" a very different motor.
More MQCON stuff...

I'm a software tester. I work with user interfaces (UI's) all the time and have to debug them. So in the below comments, I am critiquing the program, that's probably why.

Probably everyone has seen screen shots like this that cares about Sabvoton controllers. The interface isn't exactly intuitive at first glance. I had to have a few problems and then stare at the window for a while before I realized that I was seeing error messages, status and results. I really don't get why the status messages are in drop-down menus. It's not like you can pick an option in them and that causes a change in the software or controller. A drop down menu is a list of options not a list of status messages so that was confusing. I would pick an option and nothing would happen and after a second the real status message would return.

Does anyone know how to get access to the DEBUG! menu? I assume it must be some kind of command line interface.


Then there is the Parameters page...it's not a separate window so you are always blocking part of the main window when it is open. I find the interface a little peculiar. Why is there an OK button next to each option? I'm not totally sure yet, but it seems that you change a field and then have to hit it's specific OK button for that option to change and take effect. It was useful at times since it seems to make a change take effect immeditely. The problem I ran into was that I changed all the values in the below screenshot and hit OK on just the bottom option. I then saved to the controller, cycled power and all my other settings were lost. I thne realized that maybe I need to change an entry, hit OK, change an entry, hit OK and so on....weird. Typical user interfaces let you change entries for the entire page and hit OK just once. I thought it was odd that there is no exit or close or X in the corner of the window. You have hit SET! again to make the window go away. Who ever made these UI's, didn't bother to look at what is the industry standards for UI's or do any UX testing to find out what people actually thought was intuitive. LOL!

I don't know if anyone is paying any attention to this thread or not, but I have some odd behavior with my controller.

I have several inrunners and the MQCON controller passes the hall test for all of them. I wanted to run an Alien Power C80100 on this controller, but it wouldn't pass the hall test. I then tried an AP 12090 and it too won't pass the hall test. Both motors run on other controllers and manually testing the halls shows they work correctly too. I know what the pole count is for both motors and they have 120 degree halls. This should be very straight forward. I have a turnigy CA80-160kv that I've had a for a few years. I've never used it for anything since these motors are not particularly great quality and it had no halls in it. Today I took it apart and added SS41F halls to it. I then connected it to the MQCON and did the hall test. Within less than a miinute, the motor was running on the controller.

So my theory was that the controller didn't like outrunners in general since they tend to be wired delta. However now that I have the CA80-160KV running, now I don't think that's the case. It's something else. Any ideas? Why do the AP outrunners not work on this controller and this one does despite them all having good halls?
Outrunner or inrunner, or delta vs wye shouldn't be a thing the controller knows or cares about if the motor is made properly.

If the motor has hall switch overlap or something I could see it getting extremely fussy and faulting or failing self-test.
liveforphysics said:
Outrunner or inrunner, or delta vs wye shouldn't be a thing the controller knows or cares about if the motor is made properly.

If the motor has hall switch overlap or something I could see it getting extremely fussy and faulting or failing self-test.

The hall board on the 12090 and the c80100 are designed the same way. This is the 12090. The only real difference is how large the board is to match up with the stator diameter.


What is hall switch overlap? That sounds like one hall turns on before another turns off or vice versa.

At any point in time in a motor, you can have 1 or 2 halls turned on, but never 3. There will always be 1 of the 3 halls that is out of position from a north facing magnet. To get 2 halls turned off just requires 2 halls are in front of south facing magnets. Overlap...especially on a board like the AP motors use seems virtually impossible. At most, since the board can be rotated a couple of degrees before it is secured, you can advance or retard the hall signal a little...depending on motor direction, but all 3 halls move together as a unit. Frankly though AP is not going to do this since they can't possibly know which direction you will run the motor so they will put the halls dead center between the stator teeth. I do my best to put the halls dead center since I may later want to run the motor the other direction.

I have a AstroFlight 3220 that I added halls to a year ago. I did it wrong and centered the halls over the middle of the teeth. It has an even number of stator teeth so that means they should have been in the gaps between the teeth. This motor would not run at all on the Sabvoton, but runs more or less OK on other controllers and would sometimes glitch due to the incorrect hall placement. I took it apart on Sunday and then last night finished up replacing the halls so that they are centered in the stator gaps. I ran it on another controller where it always glitched and it still ran exactly the same. I've manually tested the halls in the motor. I know they are OK. I also tested them before I ever put them in the motor. So much for hall placement fixing that problem! I didn't have time to try it on the Sabvoton last night. Maybe now that hall placement is correct it will pass the hall test. Who knows! I'll post pictures later of the halls in the motor. I was really hoping that known good and tested halls and correctly placed ones would "fix" this motor.

I also have the 12090...I took it apart last night. Hopefully tonight I will have time to add a second set of halls to it that are epoxied in place. I'm still working from the theory that since the CA80-160KV works perfectly on all my controllers that the glitchy motors don't that replacing the halls with new, known good ones will "fix" them as well. So far the 3220 has disproven that theory on my other picky controller.

For anyone taking a motor apart and you are trying to remove the armature...
A large 3 jaw gear puller is perfect for this job. Get one that is big enough to fit around the bell on your large outrunners or the can of your inrunners. If the bottom of the bell is secured to a skirt bearing, undo that. Take the top off the bell and probably remove the shaft. Put a large washer down over the top shaft bearing and then the screw on the puller rides on the washer instead of the bearing. The 3 jaws grasp the lower edges of the bell securely and then you can easily pull the bell off. For a small outrunner, sliding the bell on and off with your hand is no big deal, but for a beast like the 12090, well that's virtually impossible! You simply can't react quickly to the magnets pulling on the stator and most folks aren't strong enough to pull it off anyway. The gear puller uses it's center screw to slowly apply pressure to the magnetic force and allows you to separate the armature from the stator slowly and under complete control. Assembly is the same process in reverse. I put the puller on the bell and slowly lower the armature back over the stator. There is no chance of smashing a magnet this way. An inrunner is the same process, except I use the puller screw to push the shaft out until the magnets sufficiently release the stator. Assembly starts with the puller screw exactly where it was when I took the motor apart. The shaft is then slowly lowered back into place inside the stator. It takes a couple of minutes to do, but there is virtually no fighting with anything (magnets) and the chances of losing control as magnets rush at full force towards the stator is always controlled and slow moving. I've fought with a couple of larger inrunners to get them apart before I realized a gear puller was the best tool for the job.

Anyway...more hall replacement to come soon.
I finished up hall replacement on my AStroFlight 3220 last night and then tried it out on the Sabvoton tonight. The first time I tried the hall test it failed. I then swapped two phase wires and that got the hall test to work. The motor no matter what I did before with the old halls would not pass the hall test and now it does and it is working correctly. I'm thinking even more now that new and known good halls are the "fix" for the hall fail issue I've been seeing with this controller. You can see the 3 original halls epoxied in place. Obviously they aren't ever coming out without damaging the windings so I just cut them down as best I could to get them out of the way.

I pulled apart my 18kw 12090 outrunner a few days ago. The factory halls don't seem to work very well so I added new ones to the bottoms of the stator. I suppose I could have replaced the halls on the board, but now I have 2 sets of halls. Once I had the motor all assembled again, I tried it on my Sabvoton controller where the factory halls always failed the hall test. The motor passed the hall test the first try on the new halls. Success! I used SS41F halls. The hall board has 44E halls.

Since I had 2 sets of halls in the motor now, I thought trying both sets out could be interesting. I had no idea it would be this dramatically different. Here's an uploaded video of the halls running the motor.


This is the new halls in place. I cut off the ends of a few q-tips to act as a backer for the hall to hold them forward and into the gap between the stator teeth. Then I glued them in with super glue and saturated the q-tip ends in glue too. Finally, just to be sure the halls were not ever going anywhere, they are buried in JB weld epoxy. I used the exact same positions as the factory hall board, but any 3 gaps that are electrically 120 degrees apart would have worked.

This is a hall held in place by the q-tip end and just had superglue added to it.



This is a hall after embedded in JB weld.


This is the final results. The skirt bearing sits pretty close to the bottom of the stator so I zipped tied the hall wires quite a lot to keep them from rubbing on the skirt. All the wires are teflon which is hi temp stuff. You can put direct flame to it and it won't melt.




The top hall board didn't change any, but I took a pic of it so here it is.

The folks at QS are helping me work through the program issues on the 72150. Much more difficult than expected. They use dropbox for all the documents but it ( the instructions in general) needs some additions IMO. Really, this is not at all setup for the hobbyist trying to use this on a simple ebike setup. Big step getting into this programmable controller level in setup, so it is a good challenge and hold out some hope and continue to struggle through it as time allows. Have a few pretty good size project requests and it all depends on my findings - comfort with it and willingness to jump in.

I got my mqcon package to install, but the TTL driver is still elusive! Need to call in the IT Crowd. :lol: Anyone know the procedure to install the driver?
Bumping this thread. I'm about to switch my Greentime to a MQCON. It's all ready to go, just looking to get the software prepared...
There is a world of difference between the greentime I tried and the 72150 that I am trying out now. Still not 100% done with my install as I twisted up and destroyed a chainwheel and its mounting nuts but I am getting ready to further test it out now that I have some good parts in hand. Not sure if I will be able to get my motor to pass hall angle test with or without hall sensor replacement. It seems to run fine as is and will verify that it is running low no load current draw before I test ride it again now that I am tooled up to measure that. Can not tell from the documentation if the failed hall test will send it into default sensorless mode or if it is running off of the settings I saved. Mistery :roll:
speedmd said:
Can not tell from the documentation if the failed hall test will send it into default sensorless mode or if it is running off of the settings I saved. Mistery :roll:

Sorry I can't give you a better reference, but I have a vague memory of AlanB saying in some thread that these will continue to function with only 2 hall sensors. I don't think they can run sensorless, but I'd be happy to be corrected on that.
There has been some discussion on the qs motor thread on the quality- type of sensors they use making a difference on the hall test. EG used the ss41 type also as posted above with success. Will do some more testing once some time free's up and try to see if it is running close to correct. If not, I may pull motor apart and swap out and double up the halls with the most recommended type. If that does not work (which I don't see why it would not), the sab gets swapped out and put aside for a future direct drive hub.
I hooked up my MQCON today and couldn't get it to turn on. No red LED, nothing. If I disconnected the hall sensors, it would flash a red LED 13 (or 12, I forget) times. But once I reconnect the hall sensor, back to doing nothing.

What's going on here?
Nevermind, I figured it out.

I’ll be continuously updating my findings at http://sabvoton.wire.bike
alec your website is amazing thank you for your works

do you have screenshot for complete setup for qs205 ?with ca3

thank you
I’m guessing you worked out that when prOgramming if you press ok a few times consecutively on every value you change. Then when you go to your parameter store. Press that conservatively a few times also and it will always save your changes