Speeduino is now on Github Sponsors (Rather than Patreon): https://github.com/sponsors/noisymime
Any general discussion around the firmware, what is does, how it does it etc.
By noisymime
OK, so this one has taken me a LOT longer to get out than normal. Turns out one of the things I've been meaning to sit down and write took a lot longer than I'd first thought and early in Feb around the time I'd normally be looking to do a monthly release, the whole thing was essentially in a million pieces. Rather than trying to cobble it back together in a hurry (Which typically leads to more problems than it solves) I elected to give myself a few more weeks.

I can here you all asking "What could possibly be so big that it took so damn long to finish?". Well, for a long time people have been asking about doing more than 4 channels each of sequential fuel and ignition. For various hardware related reasons, there is a hard limit on the total number of scheduled outputs due to the way the firmware is written. Up until now, these were fixed as being either injection or ignition, but following this work, the functionality of these can be altered at compile time, allowing (For example) 8 cylinder sequential fuel outputs and ignition handled by other means. (It also opens up the theoretical idea of having 1 Speeduino for 8x fuel and another for 8x ignition :lol: )

So why go to all this effort to break a bunch of things? Well, 2 reasons, though they are related:
  1. Reconfiguring the functions of the outputs means that Speeduino is no longer locked into only having 4 injection and 4 (Technically 5) ignition outputs. Whilst it's still limited to the same total number of timed outputs, they can be set to different functions. So, if you want to run a fuel only setup, you can now do so with full 8 cylinder sequential.
  2. As these additional schedules are now all in place and can be turned on/off and reconfigured in a way limited only by the hardware, this means that on MCUs with more timers and IO available, turning on the additional functionality for more sequential outputs is as simple as flipping a switch in the code. Whilst this isn't immediately of benefit, it will be a huge advantage in the future.
To be clear, this work DOESN'T allow for more than a total of 9 ignition and injection outputs on the currently supported hardware. What it DOES allow is the reconfiguring of these 9 scheduled outputs into any configuration of ignition and injection that you want. I'd also stress that this is very much an experimental feature at the moment. For now it will only work on the fuel side of things (ie allowing up to 8 injector outputs), but the ignition side of things should be done shortly. I'll also be getting some documentation written up about how to try this out for anyone interested.

Outside of all that work, there was of course the usual bug fixes and tweaks that help improve things all the time. The full list of major changes is below:
  • Initial work on dynamic output assignment (As detailed above)
  • Fix a sync issue on the Daihatsu +1 decoder for 4 cylinder engines
  • Fix a similar (but unrelated) issue on the 24X decoder that could prevent sync
  • Improved caching on 2D table lookups
  • Added a loops/rev value in TunerStudio. This is useful for benchmarking
  • Fix a bug that could cause incorrect pulse widths during cranking (Under 115rpm) when using sequential
  • Multiple fixes to the per tooth timing mechanism
  • Prevent the Staged Injection option from trying to operate if there aren't otherwise enough injection channels
As usual, the firmware can be downloaded from the wiki: https://speeduino.com/wiki/images/7/78/ ... -Feb18.zip

If there are any issues found with this release, please post a note below.
User avatar
Wow, that is a HUGE leap for Speeduino! Not only the door opening for DOA with all the options that will bring; but all the fixes so Speeduino "just works". Congrats, and well worth the wait!
By noisymime
Foordy wrote:
Wed Mar 14, 2018 9:11 pm
Great work as usual, well done! When you say the Daihatsu +1 issues are fixed for 4cyl, what about 3cyl?
The problem fixed didn't occur on 3 cylinder engines. They were (and are) working fine to the best of my knowledge.
By noisymime
fram wrote:
Wed Mar 14, 2018 9:20 pm
Very nice work done!!! :P
Thnaks a lot for this great improvement. So, i can continue to design my next board using STM32F407, because Speeduino is now 99% ready for bigger hardware setups! nice! :mrgreen:
Within the stm32 family the F407 does seem like the one to aim for. It's where things have mostly been going with the firmware lately.
By NickZ
will speeduino compile and run currently on the STM32F407?
seems ok on the teensy 3.5.
i would like to make a board that will have a reasonable life span, im upto a 3rd revision on my teensy 3.5 board, but should i stop and make something with STM32F407?
For speeduino wouldn't sticking with one platform be a better option for the upgrade over the atmega2560?
User avatar
By Foordy
noisymime wrote:
Wed Mar 14, 2018 11:28 pm
Foordy wrote:
Wed Mar 14, 2018 9:11 pm
Great work as usual, well done! When you say the Daihatsu +1 issues are fixed for 4cyl, what about 3cyl?
The problem fixed didn't occur on 3 cylinder engines. They were (and are) working fine to the best of my knowledge.
I was having sync problems with my Daihatsu EJDE 3cyl in Feb, which I resolved by making a new trigger wheel. To recap, it seemed to work fine for ign1 and ign2, but ign3 was always 180deg off (not 120deg which is the firing spacing). I haven't had time to go back and look over it myself. It also lost sync and flipped out when it went below ~400rpm (turning engine off) making it think it was doing excess of 8000rpm, causing injectors and sparks to fire heaps after it's stopped.

https://www.facebook.com/groups/1919187 ... 193308296/
By stum
Great work.

So with the ability to configure unused outputs. On an engine using a single spark output (ie still has the dizzy) this would allow Sequential on a 6 or 8 cylinder, or Staged injectors on a 6 or 8 in semi (paired injectors)

With the necessary injector (electronic wizardry) drivers on the low current (un used ign channels and Injector #5)

Looking forward to how this plays out. My supercharger is on its way and this new feature may save some head ach's


By stum
Hi All,

Little quirk I found today, it is on an older version so not sure if its been fixed, or effects any thing else.

Last week I had been playing around with acceleration enrichment. mid temp engine. Wound some more in and was good.

Out racing this weekend and when the engine got up to temp 90'c (ish) it became a dog, and when you punched the gas, black smoke, no power...... no Fun, but if you squeezed it on all good.

What I have found:

On the temperature (water) enrichment I had my last dot on the graph at 85'C
Every thing worked as expected up to that temp. Enrichment dial sitting at approx. 90%. all good
Once it got over 85'C the enrichment jumped up to 110% so 20% more gas. so when you added accel enrichment it was drowning.

By moving the last dot up to 102'C (max value from what I saw) the problem went away. Not hard to do.

I would have expected speedie to use the last value it saw, not go and calculate something. as the curve (red line stopped), but that is just my view.

Was an easy fix, but is it likely to behave the same on other config settings. Just something to look out for.



1J and 1Q appear to be jumped at all times (with i[…]

Speeduino ECU compatibility

Speeduino works with any engine. You just need to[…]

Please read the wiki. It seems you don't understa[…]

VVT angle going backwards?

Pretty sure other than MX-5 trigger VVT is still W[…]

Still can't find what you're looking for?