Megasquirt 3 - Loading Firmware

Home

Some basic steps for setting up the Firmware on your MS3.

Most pre-assembled Megasquirt-3 systems will come pre-loaded with firmware. Kits are usually supplied 'blank' and require firmware loading before they can be used. In any case it is worth ensuring you have the current 'release' firmware version. (Notes here)

1. Setup Serial (Setup page) and install the latest TunerStudioMS if you do not already have it (setup page).
IMPORTANT - your Megasquirt must be powered up before trying to load firmware.


IMPORTANT 2 - ensure no programs are using your serial port before running the loader. i.e. Quit any copies of TunerStudio (do not just minimise) and ensure no phone or modem etc. software is running that can use the serial port.

Windows steps 2,3,4,5

2. Create a folder/directory for MS3. e.g. C:\MS3
Use "My Computer" or "Windows Explorer", open Local Disk C: and Create New Folder, name it MS3 .
Go to Folder Options in the Control Panel (Or the Tools->Folder Options menu in Windows Explorer) and ensure that "Hide extensions for known file types" is unticked.
(If it is ticked then you'll get confused in a bit.)

3. Fetch the latest firmware zip from the Code file area and save into C:\MS3 Use your zip utility to extract using folder names.






4. The download utility is text based. Browse to the directory where you extracted the zip and double-click on ms3loader_win32.exe
Example:











If this takes long than ~45 seconds then you likely need to adjust the port settings of your USB-serial adapter to reduce the latency setting.

Skip to step 10.

5. In very rare circumstances where you have corrupted the firmware (this could happen if you turned off power in the middle of loading firmware.) You may need to use the boot jumper on the MS3 card itself. (Picture showing the rarely used boot jumper.) Place a shunt/jumper across those two pins while the power is off and then turn the power on and then run the loader. It should detect your Megasquirt as being in boot-jumper mode and then be able to load the firmware.

Linux steps 6,7,8,9

It is assumed you'll be using the command line here.

6. Create a directory for MS3. e.g. ~/ms3

mkdir ms3

7. A 32bit compiled command-line firmware loader for Linux is included in firmware zip.

8. Fetch the latest s19 and ini files in a zip from the Code file area and save into the ms3 directory. Extract the zip.

9. cd to the correct directory and key in the following.

./ms3loader_linux32bit

The program runs the same as the windows version, so see above for an example of typical output.
Typically, you only need to check you serial comm port. You can usually just press Enter on the other selection.
When loading code for the first time be sure to answer "Y" to the First time loading question. If this takes long than ~45 seconds then you likely need to adjust the port settings of your USB-serial adapter to reduce the latency setting. For the FTDI built in device, try the following.

echo 1 > /sys/bus/usb-serial/devices/ttyUSB0/latency

If you get a permissions problem trying to run the file, you likely need to make it executable (e.g. chmod a+x ms3loader_linux32bit or through your graphical interface.)

All continue here

10. In TunerStudio create a new project for MS3.

For all release codes, 'Detect' should automatically find the configuration settings file (ini) that matches your firmware.
However, for development codes you will need to use the latest ini file provided in the firmware download in (3).
-Tick other, then Browse to the 'ini' file that was provided in the firmware zip file.

Here is after we've browsed to the folder where your firmware zip is extracted:
ini file view
(Do not try to pick from the drop-down list of firmware formats - Use the provided 'ini'.)

For reference, the extracted zip looks similar to this. If the file extensions are missing, then go back to step 2.
extracted zip

11. It is important that your Stim rpm is set to zero until you have configured your trigger settings.

12. The forum is available for support questions, but check the manual FIRST.


Alpha, beta, release code? What's the difference? What should I use?

During code development there are a number of key phases as the firmware evolves. The naming is intended to identify which stage the firmware is at.

Release - the firmware is considered suitable for general release, features are complete and believed to work as described. Most users should be using release code unless involved in testing or specifically directed to use a development code.

Beta - the firmware is considered suitable for moderate release, features have been completed, but extended testing is required to ensure everything works as described.

Alpha - The latest features will be made available as an alpha release, but it is up to the tester to determine if it works correctly. New users are advised to avoid alpha releases.

MS3 firmwares
CodeStatusComment
0.xxObsoleteThe first development codes
1.0.xCurrentThe current release code is 1.0.5
pre-1.1 xxxxxDevelopmentDevelopment codes leading up to 1.1 release


If you have a question, comment, or suggestion for this FAQ please post it on the forum.

(C)2009,2010,2011 James Murray