Having completed the assembly of the Speeduino, and still having no car to fit it to, the next logical step was bench testing.
There are a few ways to test these things. Nothing as flash as the plug-in testers for Megasquirt, yet, but for basic testing there is an Arduino project called Ardu-Stim. It basically simulates the crank/cam pulse signal that an ECU needs to see in order to know RPM and where the crank/cam are at in their cycle. Simulating this allows the Speeduino to output both spark and ignition, to test the channels are working correctly.
Loading the Ardu-Stim onto an Arduino is straightforward, just remember to put the SerialUI library in the library folder, and to use it on a Mega like I have the code needs a few lines added.
The required code is,
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
pinMode(53, OUTPUT);
pinMode(52, OUTPUT);
#endif
Once you add that to the Ardustim.ino (after the other references to pinMode at the bottom) you’re good to go. Getting a GUI is useful too, so grab Druid4Arduino.
Here’s my sweet Speeduino connected to the Ardu-stim.
I did have one or two weird issues. First one is that if I didn’t run a lead from the ground of the Speeduino to the ground on the Arduino, the sensors flipped the fark out whenever I touched the laptop.
The second was that even though I had spark I didn’t have any fuel. No LEDs.
That was fixed by running 12v from my little jump pack to the Speeduino instead of powering it by USB. With that sorted, I had fuel and spark. Woo!
I started testing with 4 Cylinder and wasted spark.
I then changed to 8 Cylinder.
And then went to the next step. Changed it to 8 Cylinder using the Basic Distributor profile (which is the profile I plan to initially use when it’s fitted to the car), and tested out the rev limiter by sweeping the RPM from 5000rpm to 7500rpm. Its hard limit is set to 7000rpm, and this can be seen in the video where the LEDs for the spark are no longer lit. It basically just cuts spark when it hits limiter, should make for some good bang bang.
Excuse the sideways view at the end. That’s a fail >_<
But what isn’t a fail is the Speeduino. All initial testing shows it is working as it should. This one will probably just be used for logging from now on, as I have a Speeduino v0.4 board on its way which has a couple of extra features and a much tidier wiring setup (via 40 pin IDC) that will be the one I actually use to run the car.
My 14point7 wideband finally shipped the other day, almost a month after I first placed the order. If I knew it was going to take this long I probably would have just purchased an LC-2 locally. Oh well.
I also have a GM open element Intake Air Temp sensor on the way, and some bungs that will be welded onto a pipe to replace the AFM.
Tune in next time, where maybe, just maybe, I’ll have a car to fit this to.
Was this post helpful? How about shouting me a coffee
[kofi]
Discover more from Tastes Like Petrol
Subscribe to get the latest posts sent to your email.
how do you connect the software to the speeduino? Where does it plug into on which board?
Might I suggest you have a good look over the Speeduino Wiki, and the forum as all the information is available there. Use a USB cable from the Arduino to computer to program it, and the Speeduino is a shield on the Arduino.
Hey there
Yet another question did you configure anything special in TS? When I connect ArduStim to my 0.4.2 board i do get “cranking” light green but nothing after that whatsoever. Any idea?
My bad shouldn’t have used pin 52 for VR1… What is RPM2 on the 0.3.x boards? Driving the tach?
Thanks!
If I recall correctly, RPM1 is for the crank sensor, RPM2 is for the cam sensor (if used)