Arduino Mini R4 poor performance

Something very peculiar. I just swapped out one of my late 2015 Unos with a brand, spanky new R4 Minima (non wifi) and the the speed is not as accurate! How is this possible since the math crunching is supposed to be way better???


Hey, are you running the most recent 2.3.1 release of SimpleFOC?

Could you remind us of the details of this setup?

Yes, 2.3.1 and Arduino updated. It drives the iPower 5208 24 motor for my vinyl turntable in open loop via a SimpleFOC Shield. Old (2015) yields .1% variance new R4 yields .4%. Measured a few times to be sure. Might have to scoop up some olde units haha! Thanks.


If it’s open loop, what happens if you add a small amount of delay to the loop, like delayMicroseconds(100)?

Just ordered a couple of these to try. ‎NUCLEO-F401RE‎
Apparently the R4 does not use a crystal, and a member of the Arduiono community said there have been complaints already about its stability.

not a great look… but as the pads are broken out, looks like you could add your own HSE if you need, although it sounds like you should use something less than 12MHz.

Will see how the Nucleos work out first. Might be the easiest fix.

It doesn’t use a crystal oscillator?? I don’t know anything about the rest of your system but the b-g431b-esc1 board is a pretty good buy, the current sense and all kinds of stuff works but it’s hard to solder and there is no SPI and very few extra pins to use for whatever. Couple other issues like inexplicable power wastage etc. There is a nucleo board with nearly the same processor that is probably a good bet though I have never tried it: NUCLEO-G431KB STMicroelectronics | Development Boards, Kits, Programmers | DigiKey

Here is the product matrix, as far as I can tell the only difference between the KB version (on the nucleo board) and the CB (on the ESC1 board) version is the package, kb version has less pins, but that means some pins are missing. IDK why they used the one with more pins on a board where very few of the pins are used. You might want to check it’s got everything you need, hopefully they pins that are missing are minimally useful GPIO pins and not anything important.

edit: man look at all the cool features these chips have, pretty good deal, apparently some are cheap and well stocked too. Encryption stuff, dac, I wonder what the special motor timers do, op amps… only 2 adc pins?? fooey, idk. floating point hardware. Definitely a good choice for the next gen lepton, there is room to grow with the cordic trigonometric co-processor.

welcome to the club :smiley: the g431 really is pretty great.

but it doesn’t help OP that Arduino seems to have really over-sold themselves on this. I have no idea why they would route out a crystal, then DNP…

1 Like

Well two of these are already ordered, so i hope they work haha! NUCLEO-F401RE‎

Thanks to Amazon Prime, it will be on it’s way home pronto.

If you use the SimpleFOCShield, you need to change it to 3.3V for use with the Nucleo64. You will need to remove the 5V solder bridge and connect the 3.3V bridge.

1 Like

Many thanks. I appreciate the info, helps a lot.

Well…got a Nucleo 401re working and the performance is even worse. 1.4% speed variance which is essentially useless compared to the 0.1 % of the 2015 Uno.

Any ideas why an old Arduino is better than an Arm based Nucleo? I know the R4 has the crystal missing, so not sure with this one.

What do you mean by speed variance?
Are you talking about motors min and max velocity?
Or are you measuring the loop duration?

I am measuring wow and flutter on a vinyl turntable driven by an iPower 5208 24 motor.

So now by changing the board, you are using different drivers also.
I assume in openloop you don’t have interrupts for position sensing or current sensing running ? Have you initialized any of this ?

Same sketch and same shield.

My point is that R4 and F4 SimpleFOC drivers are not the same.

But both are worse than the 2015 Uno in practice.