Arduino on MIlk V Duo Cores

Hi KeiKai,

The Arduino performance may not be what you are hoping for, due to the architecture of the Milk V. Even if you could run it on the slightly faster 1GHz core (which doesn’t seem to be easily possible at the moment).

Please see also the following two links:

An STM32 would generally be more deterministic and possibly also faster (at least at startup) because its code isn’t running from DRAM or from the SD-card. Instead, it uses built-in flash / sram which is much faster. This can be partially mitigated by using cache (as you can read in the above links), at the cost of determinism. So, while code running on your average STM32 would run very consistently, so consistently that you could implement something like VGA-output (requiring precise timing) through careful assembly coding, this would be much harder or impossible on something like the Milk V Duo because of the higher latency memory access and cache. So doing anything real-time probably wouldn’t be an ideal fit for the MilkV.

On the other hand, running Linux is a way better fit for the MilkV, as deterministic timing is a lot less important for that. There’s still an open question of the slow Arduino performance of the MilkV. It may be partially solved by enabling cache on that core (again, as described in the links) but it seems like perhaps it’s not the only problem. Perhaps someone from MilkV can comment on that.

Kind regards,
Niek

1 Like