--- title: Speeduino Firmware setup description: Setting up the Speeduino firmware on your board published: true date: 2021-01-27T11:59:11.000Z tags: editor: markdown dateCreated: 2020-01-06T01:37:01.522Z --- # Loading the Speeduino firmware ## Overview The Speeduino firmware is the code that powers the hardware and must be installed onto your board prior to using the ECU. New firmware releases are made regularly (Approximately every 2 months) that bring new features, bug fixes and performance improvements so staying up to date is highly recommended. With the goal of maximum simplicity in mind, the process of compiling and installing the firmware is reasonably straightforward. Most users will use the SpeedyLoader method for installing the firmware ## Installation - SpeedyLoader The simplest (and recommended) method of installing the Speeduino firmware onto a standard Arduino Mega 2560 is with the SpeedyLoader utility. SpeedyLoader takes care of downloading the firmware and installing it onto an Arduino without the need to manually compile any of the code yourself. You can choose the newest firmware that has been released, or select from one of the older ones if preferred. SpeedyLoader will also download the INI file and optionally a base tune for the firmware you choose so it can be loaded into your TunerStudio project. - **Windows:** [32-bit](https://github.com/speeduino/SpeedyLoader/releases/latest/download/SpeedyLoader-ia32.exe) / [64-bit](https://github.com/speeduino/SpeedyLoader/releases/latest/download/SpeedyLoader-x64.exe) - **Mac:** [SpeedyLoader.dmg](https://github.com/speeduino/SpeedyLoader/releases/latest/download/SpeedyLoader.dmg) - **Linux:** [SpeedyLoader.AppImage](https://github.com/speeduino/SpeedyLoader/releases/latest/download/SpeedyLoader.AppImage) (Will need to be made executable after downloading) - Linux requires libusb libraries to be installed. EG if on Debian/Ubuntu: `sudo apt-get install libusb-1.0-0 libusb-0.1-4:i386` - **Raspberry Pi** [SpeedyLoader.AppImage](https://github.com/speeduino/SpeedyLoader/releases/latest/download/SpeedyLoader-armv7l.AppImage) - Raspberry Pi / Raspbian users can install the required libraries with: `sudo apt-get install libusb-1.0-0 libusb-0.1-4` Once the firmware is installed on the board, see [Connecting to TunerStudio](/Connecting_to_TunerStudio) for more details on how to configure TunerStudio ## Installation - Manually Compiling > Note that manually compiling the firmware is **NOT** required to install Speeduino, the easiest (and recommended for most users) method is using SpeedyLoader as described above. {.is-warning} If you want to compile the firmware yourself, or make any code changes, then the source of both the releases and the current development version is freely available. ### Requirements - A Windows, Mac or linux PC - One of the following: - [The Arduino IDE](http://arduino.cc/en/Main/Software). Current minimum version required is 1.6.7, although a newer version is recommended. - [PlatformIO](http://platformio.org/). Can be downloaded from [here](http://platformio.org/platformio-ide) - A copy of the latest Speeduino codebase. See below. - A copy of [TunerStudio](http://www.tunerstudio.com/index.php/downloads) to test that the firmware has uploaded successfully ### Downloading the firmware There are two methods for obtaining the Speeduino firmware: 1. Regular, stable code drops are produced and made as releases on Github. These can be found at: [Releases](https://github.com/noisymime/speeduino/releases) 2. If you want the latest and greatest (And occasionally flakiest) code, the git repository can be cloned and updated. See [here](https://github.com/noisymime/speeduino) ### Compiling the firmware - Start the IDE, select *File > Open*, navigate to the location you downloaded Speeduino to and open the **speeduino.ino** file. - Set the board type: *Tools > Board > Arduino Mega 2560* or Mega ADK (This is the only board currently supported) - Click the **Verify** icon in the top left corner (Looks like a tick) At this point you should have a compiled firmware! If you experienced a problem during the compile, see the [Troubleshooting](/en/Installing_Firmware#troubleshooting) section below. This video walks through the whole process of installing the firmware on your Arduino from scratch: