This is the control board that I used in the MG. Actually building the controller was a big learning curve, but interfacing with it and changing parameters was something that I couldn’t find much information on. I’ll give you any notes that I think may help you get this thing running.
Terminal Software
I recommend RealTerm to anyone working on these kinds of things. The installation is pretty straightforward. If you are using a Mac, I don’t have a good alternative for you. There is a version of PuTTY for Mac OS that might work, but I didn’t try it. I used a virtual machine running Windows 10 to run this software on my Mac.
The Cable
You must use an RS232 to USB cable to connect to the controller. When building your controller, I suggest permanently attaching the serial port to the case so that you can easily modify settings later. Paul has used this cable in the past, so it comes with his recommendation: RS232 Cable. Plug the cable in to your controller, and then to a USB port on your computer. Once that’s done, you’re ready to get connected.
Making the Connection
Once you have the software installed, you need to configure it to connect. The settings are 19200 8N1. This refers to a connection speed of 19200 bps (bits per second), 8 data bits, no parity bit, and 1 stop bit. These settings are available in RealTerm in the lower left corner. It should look like the screenshot below.

You will also need to select the serial port from the “Port” drop-down menu. Lastly, click “Change” and “Open” to make the connection.
At this point, you’re ready to power on the controller. Connect the 12v power to your controllers DC-DC supply, and it should come to life. If everything is working, you should see some text pop up in the terminal window.
Commands
To update a value, simply enter the command associated with the setting, and then the value you want to store. Hit enter to send the command and update the value. Keep in mind that there are three switches in parallel. Any limits you set apply to each IGBT, so you will need to multiply your limit by three to get the actual setting. For example, setting “mot-amps-lim 300” will set your controller to 900a output, 300 per IGBT. You may notice that the variable is actually mot_amps_lim. Make sure that you use dashes instead of underscores when changing these values. It will not work otherwise.
Command | Result\Values |
config | Shows current configuration |
save | Saves new configuration to permanent memory |
idle | |
restart | Restarts the controller |
reset-ah | Resets the battery capacity counter |
kp | |
ki | |
t-min-rc | |
t-max-rc | |
t-fault-rc | |
t-pos-gain | |
t-pwm-gain | |
c-rr | |
rtd-period | Sets the reporting period |
rtd | Starts reporting |
motor-os-th | Motor overspeed threshold |
motor-os-ft | |
motor-os-dt | |
pwm-deadzone | |
motor-sc-amps | |
bat-amps-lim | Battery amps limit |
pc-time | |
mot-amps-lim | Motor amps limit |

More info soon…
Do you have any insight on how to program Pauls AC controller board? The whole software side is just not working for me.
It should be roughly the same. What issue are you having at the moment?