3 ms·
Nice, but pointless addition to an old processor. ESP32's are cheap and readily accessible and they come with FreeRTOS running already. If I absolutely need to
by HeyLaughingBoy 4y ago
Nice, but pointless addition to an old processor. ESP32's are cheap and readily accessible and they come with FreeRTOS running already.
If I absolutely need to multitask on a Mega328 Arduino, I use the protothreads library. But really, for anything heavy, I'll turn to an ESP32 or an STM32. Use the right tool for the job!
- sophacles 4y agoIn 2022 Arduino has several baords, many of which are NOT using atmega 328. Some of them have multi-core Arm chips, some of them have risc-v (not sure if they have any of those as multi-core though). There are already people running FreeRTOS on those. Not sure why you would dismiss multitasking on those as "useless".
- kevin_thibedeau 4y agoEven on an AVR, you can implement lightweight cooperative scheduling with low resource consumption. That gives you many of the benefits of an RTOS with less risk of creating heisenbugs. Arduino should have broken free of its main-loop architecture long ago.
- francisduvivier 4y agoDon't forget that a lot of people are using Arduino framework code on ESP32, it works pretty well. So this development is also relevant for those other boards, maybe even more so.
- HeyLaughingBoy 4y agoYup, and it's running FreeRTOS out of the box.
- atoav 4y agoYeah, the art students with miniscule coding experience who just want to get stuff done are probably going to be thrilled to work with FreeRTOS. The truth is, that Arduino always has put in a lot of work to do things that could already be done only to make them more accessible, easier to use and thus more widely available. If you think this is pointless you should consider this might say more about how far you have come in your own journey than about the usefulness of that new feature.
- seabird 4y agoThe art students with minimal coding experience would take FreeRTOS ten times out of ten over trying to figure out what a compare match timer is, what an interrupt is, how bitwise operations work, etc. The OP was dead-on and I'd bet money that the downvotes are from people that have never had somebody's eyes glaze over when they told them that they "just need to calculate their prescaler values, mask the appropriate bits into the config register, set the number of counts in the compare register, enable the timer interrupt, and register an interrupt vector to handle it".
- deepspace 4y ago> the art students with miniscule coding experience That is a minuscule part of the Arduino audience. For the rest of us, FreeRTOS works fine.