So as you may recall in my last post I got the dyno running but had some outstanding issues, namely:
- Roller RPM sensor was glitching and showing 500000+rpm randomly
- Engine RPM was reading wrong
- MOI calculations for the roller seemed wrong
During testing I also noticed some other things:
- that at speed the entire dyno structure was “wandering”.
- the magnet on the roller wasn’t secure
Roller RPM glitching:
I was using one of these: https://www.ebay.co.uk/itm/193248369476 which was a hall sensor of the type (NPN, normally open) as specified by the Ardyno instructions here: https://ardyno.weebly.com/instructions.html
However whilst it was giving readings they were showing the actual reading (200-3k rpm) but then randomly glitching to show RPM over 500,000+ which was obviously incorrect.
The glitchy readings made getting a decent set of results impossible. I figured it was possibly because the cable to the hall sensor was quite long and not shielded. My plan was to snip the cable off and replace it with a shielded cable. As it turns out I had another hall sensor which came with an aftermarket speedo. It’s similar but not quite the same:
It’s possible the shielded cable thing might have worked, but since this sensor worked I never got as far as testing it.
Since I got the sensor with a speedometer I don’t have a link for the type of sensor, but below is a link to the type of speedo I got. You camn see in the pics the sensor is the same. You can get the speedo here
Engine RPM reading wrong:
In the simpledyno on the dyno setup page where you set the roller dimensions and weight the last setting is for the number of sparks per engine RPM. As you can see it says for a 4-stroke IC motor you should set this to 0.5. I found this to make no difference at all.
It’s possible that when using the audio method of counting RPM that it works but with the ardyno board it wasn’t happening. In fact changing the value in there made no difference at all to the RPM2 reading, where RPM2 is the input used when using for the capacitive loop wrapped around the HT lead, as I am.
I figured since 2strokestuffing made the ardyno board and sketch and he only seems to deal with 2-strokes, that this may be a coding glitch and he just never encountered it because 2-strokes would use a setting of 1 there (1 bang per engine/crank RPM) whereas with a 4-stroke it’s 1 bang per 2 physical RPM of the crank, hence the 0.5 value needed.
Since simpledyno 6.5 shipped with the source files I grabbed a copy of visual studio community edition and had a peek at the code. I quit writing VB many years ago when they ditched VBscript/VB6 but VB.net is relatively straightforward to read so figured I could probably fudge it somehow.
Tbh there was a LOT of code in there and that side of it looked ok, so I figured I’d check the arduino sketch since that was likely simpler, and any “upstream” fixes would then just work with the simpledyno software. I don’t really plan on doing much with 2-stroke engines and if i do I can just re-flash the arduino with the original sketch.
It turns out that was a much simpler solution since the whole ardyno sketch is only a couple of dozen lines of code, and the fix was literally one line of additional code.
If you have the same problem of the ardyno board reading only half the RPM for your 4-stroke single-cylinder motor then you can do the following to fix it. Fire up the arduino IDE and at the bottom of the ardyno sketch you’ll see the following:
Change it to read as follows (the new line of code is highlighted:
All this does is divide the time being reported by 2, so the RPM2 signal reported to simpledyno is correct. I confirmed the readings with the Tuneboss ECU which gives nice accurate RPM readings.
Idk why there’s little dots next to the equals sign on the line I added, they’re spaces. It could be because the line was highlighted. It should read:
time2 = time2/2;
Dyno structure wandering at speed:
Yeah, so whilst not entirely surprising, having the whole structure wandering while I’m on it with a bike at full pelt wasn’t exactly ideal. There was some vibration from the roller which still has uneven “gritting” on it but I suspect most of the vibration came from the engine and bike itself and the tread on the tyres as it made contact with the roller. I just ended up ratchet-strapping the front end of the dyno to nearby IBC frames which have several tons of water in, and that seemed to solve it.
Magnet on the roller not secure:
I should have seen this coming but with the roller at about 3k RPM there was a fairly significant “doink” and what seemed like shrapnel was fired off from something on the roller. I thought it was just loose gritting flaking off but then I noticed the lack of RPM readings from the roller and discovered the magnet had pinged off. Thankfully it missed my laptop screen as that would have been very annoying.
The laptop now lives in a different location out of the direct line of fire should anything else ping off, and I drilled a small 10mm recess for the magnet. I meant to glue it in but it got stuck in during test fitting and I couldn’t get it out again, so for now it’s just pressed in. I tested the roller up to the top of 4th gear which took us to around 4k roller RPM (the bearings are rated for 5k) and nothing further fell off 🙂

Starting to all work a bit better:
By this time stuff was looking a bit more “together” and even though at the time the RPM reading wasn’t fixed, I was getting power figures which were more in the range I was hoping for. There was a bit of a learning curve with getting the graph to actually show power as for some reason I was just gently accellerating which was giving me tiny power readings, but of course you need to give it full throttle basically from as low roller RPM as possible so it can measure the accelleration.
This graph shows pulls done in 3rd and 4th gear, where I’d just get the roller moving a little so the bike didn’t stall, and then give full throttle till it hit the limiter. 4th gear seemed to register more power which supports the idea that the roller might need to be heavier (since the roller would appear heavier in 4th gear). That being said it’s working better with the current roller setup than I was expecting.
I don’t know what will happen when I put my ’08 on there since it has considerably more power and a higher RPM limit, so that might really benefit from a heavier roller.
Roller MOI calculations seemed wrong:
This pull was done before I’d fixed the engine RPM reading and by the time I had fixed it it was too late to be running bikes at full pelt so wasn’t able to test with new readings, since the engine RPM may well affect the power readings and thus the Moment Of Inertia (MOI) settings.
Currently I have two sets of MOI settings – the ones generated by simpledyno when given the weight and dimensions of the roller, and a set from measuring how the roller accellerated, by using a known mass and a rope wrapped around the roller, running through a pulley, and timing how long it took to drop the weight over a fixed distance, and then using the maths from this lecture to calculate the roller’s MOI.
This gave me two very different sets of readings and till I had all the other settings working, I couldn’t really tell which was better.
The simpledyno calculations gave me a MOI of about 0.129 kg/m/s and my measurements gave me a reading of 0.339kg/m/s.
We know that the stock 2019 should have a max power of around 14.75hp/11kw so my plan is to keep fudging the settings till we get a reading of around that. I dare say the ideal setting will be somewhere between those two MOI settings.
The reading of 10hp on the 4th gear pull may actually be correct as I was testing using the Tuneboss ECU for the 2019 and that’s currently mapped for an R15, not an R125, so it’s down on power.
Tbh it’s not really that important that the reading is absolutely accurate, since what I’m interested in is A/B testing. i.e. does setup A make more power than setup B. As long as I can see that I can test my way towards the best combination of parts and fuelling which gives me the best reading. The real measure will be the quarter mile times at the drag strip 🙂
And whilst it would be nice to have an idea of the absolute power output, it’s become apparent that even “real” dynos vary wildly in their claimed outputs. E.g apparently Dynojet dynos will read around 20% higher (seemingly incorrectly) than Mainline dynos (thank you for the info, you know who you are!), so it seems like even data from “real” dynos isn’t actually that reliable in an absolute sense, so I’m going to try and dial it in roughly so that the stock bike reads right, and then use that as a benchmark.
As I said, it was too late to start messing with that by the time I fixed the engine RPM input so that will have to wait till next session, but that’s actually ALL the outstanding bugs fixed in one go, so I’m looking forward to the next attempts. Hopefully I can get some video footage of it in action then, and then we get get onto actually tuning the bike!