Skip to content
Choose a tag to compare

This is a minor patch release to address a single critical issue that was found in the 202201 release.

  • FIX: A bug in the new comms code prevented O2 calibration from being loaded
  • FIX: Multiple comms issues on stm32 boards
Choose a tag to compare

New year, new firmware! This new release has been a few months in the making, slightly longer than the normal dev cycle, but there's a whole heap of work that gone in to making this one of the biggest updates in the last few years.

Probably the biggest feature in this release is the addition of SD card logging on Teensy based units. This is something that will be expanded in the next release to allow things such as using an external switch for logging, but for now the basics are all in place. Alongside this comes support for the real-time clock on these boards for more useful time coding of log files.

In addition to this, there has also been a change to allow for 0.5% resolution for TPS load on 3D tables. This will be of particular use for Alpha-N based setups that are using TPS as their primary load source.

As always, the full list of changes has a lot on it, so here it is in full:

  • SD logging and RTC on Teensy based units (Eg Dropbear)
    • This is an initial implementation that will be built upon for the next release. Please consider it an experimental feature for this release
  • Significant improvements to serial comms
  • Increase 3D table load resolution to 0.5% when using TPS as the load source
  • Allow boost-by-gear to function with open loop boost control
  • Significant performance/memory improvements
  • Hybrid Open/Closed loop idle control for stepper motors
  • Improvements to VSS and gear detection
  • Add option for PWM fan control, dependent on hardware
  • Add a temperature condition for VVT engagement
  • Add decoder for Chrysler NGC
  • Add decoder for DRZ400
  • BUG FIX: Miata VVT closed loop control ignored the the 0% DC angle setting (#636)
  • BUG FIX: Tacho output was not working on Dropbear boards
  • BUG FIX: Engine protection could operate even when disabled (#683)
  • BUG FIX: Individual fuel trim tables would use the wrong load source (#672)
  • BUG FIX: Boost and idle PWM signals could be erratic at 100% duty cycle (#730)

As always, the firmware is available for loading through SpeedyLoader or can be compiled directly from the Github source.

Choose a tag to compare

Where is 2021 going?! Has been a little longer between releases than I generally like and this time around this has partially been due to hardware work and partially just because of the number of things going into this.

First of all though a HUGE thanks to all the contributors who submitted PRs for this release. Once again the number of people adding code to the firmware continues to grow and the project along with it. A full list of contributors can be found below.

This release features a few things that have been on the most requested list for a while, but also the usual array of bug fixes and small improvements here and there.

New features

  • Boost by gear added
  • Second VVT control added
  • Significant improvements to the VVT closed loop control
  • Add ability to switch between MAP sampling modes based on RPM
  • Add a software filter for the flex input (Eth% and temperature)
  • Add gauges and logging for EMAP
  • Add multiple new values to the CAN broadcasts
  • Add a delay option before idle advance is engaged
  • Multiple enhancements to the programmable outputs


  • Fix the label on the load axis of the 2nd spark table (This would not update when TPS or MAP based load was changed)
  • Fix bug when boost cut was engaged and the event average MAP sampling method used. This now switches to Instantaneous readings until boost cut is disengaged
  • Pause the closed loop fuel calcs during DFCO
  • Fix multiple GUI dialogs not scaling correctly in TS
  • Allow negative advance values on flat shift (pop pop bang bang)
  • Closed loop boost control now engages based on baro pressure rather than a fixed 100kPa
  • Allow the fuel/oil pressure inputs to use all analog pins on Teensy/stm32


@VitorBoss @pazi88 @adbancroft @adamg-86 @ohollmen @Tjeerdie @shiznit304 @diy-efi @Zeiberstein @wilmardo @DylanRooijakkers

Choose a tag to compare

First firmware release for 2021 and this one comes as a primarily maintenance release. There's been a lot of focus on new hardware support (Such as the Dropbear) and this work will continue into the next release also.

Of course it wouldn't be any sort of decent release without a few new goodies and this month sees the introduction of individual fuel trim tables for all 8 channels (on 8 channel boards only obviously), an optional 3D map for dwell time and a number of new decoders, including the MUCH requested Subaru H6 and Ford ST170 triggers.

As always there's also the usual bunch of fixes and small improvements, which this release include a number of nice stability tweaks to the comms code with TunerStudio.

Once again there has been a growing number of contributors to the firmware, which is simply amazing to see. A HUGE thanks to all those who have submitted PRs and bug reports!

The firmware is available through SpeedyLoader now or via source from GitHub.

Full feature change list:

  • Add fuel trim tables for channels 5-8 (On 8 channel boards)
  • Addition of a variable dwell 3D map
  • TRIGGER: Addition of H6 support for the Subaru 36-2-2-2 pattern (non-sequential)
  • TRIGGER: Add option for 'poll level' cam trigger on missing tooth pattern. Allows for faster sequential sync when using hall sensor and 'half moon' on cam (Eg BMW)
  • TRIGGER: Add ST170 trigger decoder
  • Improved serial comms / EEPROM burns when doing large changes (Eg writing a whole tune)
  • Allow multiple fuel stages when using TBI injection
  • Add option to run PWM idle valve before engine is cranked over
  • FIX: Secondary ignition table was not using correct load source
  • FIX: Selecting pin 54 for any function could cause issues and be non-functional
  • FIX: Advance 1/2 gauges were not displaying correct values
  • FIX: Stepper idle min step size would not function correctly when set to 1
  • FIX: Tweak common baro sensor calibration values
  • FIX: MAP limit was not scaled correctly in the n2o control
  • FIX: Values for the load axis of the secondary fuel/ignition tables were limited based on the primary tables load source
Choose a tag to compare

With the end of this crazy year approaching fast, it's time for a final 2020 firmware release! As always, there's been a lot happening in the background, both firmware and hardware, and so this release doesn't necessarily have a lot of the big ticket type new features, but there's a HEAP happening under the covers. In particular there has been a lot of work on both the stm32 and Teensy compatibility and this is the first release that will work out of the box with the upcoming Dropbear units.

Continuing on work from the last release, there is now a secondary ignition table to go with the 2nd fuel map. Like the fuel one, this is able to be used as either a blended table (Multipled or added) or as a switched table (With either hardware based switches or conditional). Quite a few folk had been looking to utilise this with switching fuel setups (Eg LPG) so this should go nicely hand in hand with the 2nd fuel table.

There is also the introduction of a new idle mode that uses both the open loop duty table and the closed loop target table. This should allow for better and faster idle tracking and is similar to how many OEM idle controls work. A big thanks to @Tjeerdie for his work on this!

Finally there have been the usual smattering of bug fixes and performance improvements. Of note is that the comms throughput has been improved and will now give around 25 reads per second in TunerStudio, which is noticeably smoother than than the 10-15 that had been in previous releases. Note that you do have to set TunerStudio to actually request this higher read rate and in most cases the 'Max read per second' option will work best.

Major changes:

  • Secondary ignition map added (Switchable or blended modes)
  • New 'hybrid' closed loop idle control. Allows use of closed loop targets in addition to an open loop starting value
  • Faster serial data reads (25 reads per second typical speed if requested from TS)
  • Add Weber-Marelli pattern decoder
  • Add the ability to output on a pin when Idle Up is active
  • Added multiple new wideband calibration options
  • Add the programmable output status to the log
  • Fix an issue with trailing spark on rotary engines
  • Fix an issue where ign channel 4 may not have used the new ignition mode correctly
  • Fix issue where VVT output might 'stick' at 0% or 100%
  • Fix an issue where launch control may not activate with some combinations of engine protection config
  • Fix an issue where channel 4 would not operate correctly in Wasted COP mode for V8s (Normal wasted spark was not impacted)
  • MANY stm32 improvements and compatibility fixes

As always, a HUGE thanks to all those who were involved in submitting code and testing this release! The community of folk contributing to the firmware continues to grow and this is reflected in the improvements each new release has :)

Choose a tag to compare

Been a few months between firmware updates once again, which I think reflects what is probably the new normal in terms of firmware releases. This comes down to the larger pieces of work that are going in, but also the higher number of contributions from others. With this release there have been 10 different people with commits, far exceeding any of the previous releases! A HUGE thanks to all those who contributed

A significant amount of effort went in this month to a large change in the calibrations routines for temperature and O2 sensors. Whilst this doesn't impact how these work from a user perspective, it has allowed the free up of a significant portion of memory and EEPROM, which will mean plenty of room for future expansion! This may not sound like a big deal, but it will ensure that continued additions can be made without running up on memory limits for quite some time.

This list of main changes is below:

  • Overall Engine Protection system
  • Fuel and oil pressure inputs
  • Generic programmable outputs
  • 420a decoder
  • Water and methanol injection
  • Fuel Temperature sensing and compensation
  • Closed loop VVT on missing tooth
  • VSS Sampling (Less jumpy VSS readings)
  • Add option to display and log VSS in MPH
  • Add AE option to add amount rather than multiply
  • Add 'Incorporate AFR' (MS fuel table compatability mode)
  • TPS reverse fix
  • New calibration modes (Much faster temp calibrations)
  • Serial buffer improvements + decoder perf improvements
Choose a tag to compare

It's been a little while between firmware releases, which is usually a sign that there's been plenty packed into it. This release is no different! There are 2 major changes that are worth mentioning, along with a whole heap of smaller stuff.

First big one is the addition of VSS and gear detection. This feature is largely in testing and is a stepping stone for future work that can use this data (Eg boost by gear etc), but should be working fine on most setups. It has automated calibration for both the speed and gears to make setting it up super simple, but it's only available in the glory of metric! (OK OK, MPH will come soon if you all smile sweetly).

The other is some big changes to the idle closed loop from @VitorBoss. These should result in a much better and faster idle target achievement, but will likely require retuning of the PID values if you're already using closed loop idle control. The updated routine will try to convert your values, but depending on their values, this may not be possible.

I also want to highlight that the number of contributors has risen dramatically over the last 2-3 months. This release alone has had 11 contributors, so a huge thanks for all those who are getting on board!

As for the smaller stuff, here's the bigger highlights:

  • Add adjustable injector timing curve
  • Add option to adjust AE when cold
  • Add taper from ASE to run
  • Add taper from cranking to ASE
  • Add a minimum temperature setting for DFCO
  • Add a delay time for DFCO activation
  • Add option for the soft limiter to make relative rather than absolute timing adjustment
  • Add option to disable the fan during cranking
  • Many various bits and pieces for up to 8 channels (On supported boards)
  • 50% duty cycle hardware test modes now work
  • Fix issue in the Basic Distributor decoder that could cause a delay before sync
  • Hardware test modes expanded to 8 channels on supporting boards
  • Add 36-2-1 decoder (Testing only)

As usual, the firmware can be installed from SpeedyLoader, or the code can be grabbed straight from github

Choose a tag to compare

On top of the recently release new wiki and new websites, here's the first new firmware for 2020! Like the websites, there's been a LOT happening in the background on the firmware front, including the introduction of a proper, hardware based CI/CD unit testing framework. Without getting too technical, this now means the every code commit is now automatically run through a growing number of tests, on a physical board, and the results reported immediately, allowing for much faster identification of new issues.

Primarily this is intended as a maintenance release with a huge list of bug fixes and minor tweaks here and there, but there some nice new features including the WUE analyse live ('auto tuning'), new info dialogs and a much more solid tooth/composite logger.

One thing to note is that this firmware requires the newly released TunerStudio v3.1. This contains a heap of things that are specific to Speeduino, including proper serial connection testing, automatic downloading of ini files and the delimitation of the squirts/cylinders that had frustrated a lot of users.

As usual, here's the full list of changes this month:

  • Add options to enable the WUE 'auto' tuning in TunerStudio
  • Allow total correction adjustment up to 511% (Was 255% previously)
  • Add board definitions for Pazi's BMW PNPs
  • Multiple fixes to improve the tooth and composite loggers (In particular fix an issue where the logger would not activate if it the logger was started before the engine was cranking/started)
  • Add new dialogs in TunerStudio for:
    • Showing a summary of all IO configurations
    • Customising the warning and high warning limits for different gauges
  • Fix a rare issue where the dual wheel decoder could fail to sync during cranking and then set an invalid filter time, which prevented it syncing again until after a restart
  • Fix an issue where the 36-2-2-2 decoder would not transition from cranking to running correctly/smoothly
  • Fix an issue with timing on 3 cylinder engines
  • Fix for a potential spike in MAP values when cranking and using cycle and event average sampling
  • Fix an issue where some ignition pulses could be skipped at high RPM and high dwell times (When time between a pulse ending and the next dwell starting was <1ms)
  • Remove the limitations in TunerStudio around different squirt and cylinder combinations (Requires TunerStudio 3.1+)

A BIG thanks to those who have submitted contributions and pull requests for this release, I think there's been more contributors to this release than any other! In particular big thanks go out to @brunob45, @iLeeeZi, @VitorBoss and @Autohome2

As usual, the new firmware can be installed through SpeedyLoader or compiled from source directly from Github.

Choose a tag to compare

Another few months down and they've been some of the busiest ever for things happening in Speeduino-land!

Firstly I want to pass on a big thanks to @iLeeeZi who has contributed multiple pull requests this month for new features! Thanks also to @brunob45 and @pazi88 for their contributions as well, it's terrific to see other people starting to make some regular pull requests and things :)

This release has a HEAP of small bug fixes as well as some nice new feature additions. A huge number of issues/requests have been both submitted and resolved this month and this release is one of the most thoroughly tested ever.

The full list of of impacting changes is below:

  • Add a manual baro correction curve
  • Add idle advance control
  • Add a new MAP sampling mode ('Event average') that averages MAP readings over a single ignition event (Eg every 180 degrees for a 4 cylinder, ever 90 degrees for a V8 etc). This is intended to provide the benefits of averaging values with the higher update speed of the instantaneous mode
  • Split the idle stepper homing and max steps into 2 different variables
  • Tweaks to the closed loop algorithm to prevent 'rubber banding' with the integral value
  • Add an option to select whether the injector voltage correction applies only to the dead time or to the entire pulse width
  • Fix a possible incorrect injector pulse at very low RPM when sequential fuel is enabled
  • Fix a potential underflow issue when DFCO was used in conjunction with staged injection
  • Fix a bug where a missing tooth decoder could potentially sync on the wrong phase under certain sequential conditions
  • Fix an issue where the default nitrous pins would be disabled even if nitrous was not enabled
  • The 2D table lookup has been rewritten to improve performance as well as correctly handle 16-bit and negative values
  • Some significant performance and RAM optimisations
Choose a tag to compare

Been a few months since the last firmware release, longer than I normally take with them I know. In part I had been hoping that the new version of TunerStudio was going to drop sometime soon as it has some great new Speeduino specific features such as automatic ini file downloading, serial port scanning etc. If anyone wants to try those out today though, just grab the beta version of TunerStudio

As far as what DID make it in this month though, the big new feature is the completion of the dual table work. There's now the options to use the second table either in a blended mode (Multiply/Add etc), a condition based switch (Eg when MAP goes over 100kPa) or switched with an external input.

There's also the initial work on closed loop VVT. This should be considered very much for testing only at the moment as the PID routine needs some further work. Currently it only runs on the Miata 01+ pattern, but will be expanded once thePID is working to a satisfactory level.

Worth also mentioning is that there's now an option added to use the legacy MAP reading method. In the 201905 firmware, there was a change to make the MAP readings more accurate, which is a good thing (!), but had the affect that it offset a few people's existing MAP based tunes. This option let's anyone upgrading to this fw use the old method and avoid need to rescale their MAP axis.

Otherwise, there's been a HEAP of small little changes and fixes, so here's the full list of things going in this release:

  • 2nd fuel map switching now available. Switch can be based on either an external input or certain conditions being met (Eg MAP going over 100kpa etc)
  • Add the ability to do a compensation for battery voltage readings
  • Add an option to use the legacy MAP reading method (For pre-201903 updates)
  • Pin mappings added for multiple new boards (CORE4, Miata 01-05, Miata 96-97)
  • Prevent the flat shift limiter from activating if launch control is already active
  • Initial work on closed loop VVT. Currently only available for the Miata VVT pattern and should be considered for testing only
  • Cleanup of the TunerStudio interface and log file variables.
  • Fix an issue where there MAP windowing (Cycle minimum and Cycle average only) would only be performed on 1 of the 2 revolutions of a 4 cylinder engine.
  • Fix the hardware test mode which was broken in the May '19 release
  • Fix a bug where negative values on the coolant based advance table would cause an overflow
  • Fix a bug that could cause occasional tacho pulse misses
  • Fixed a bug when using WastedCOP mode on a 4 cylinder where the overdwell protection may not work on channels 3 and 4
  • Revert the use of On/Off fields in the log which caused problems with MegaLogViewer Lite