Using microcontrollers that support concurrency with Arduino.

Hi,

I'm planning to work on a project where I will be using multiple arduino boards together to accomplish certain tasks. However, I need some sensors to collect input consistently while motors operates and on top of that some other tasks will be running concurrently. Now, I know that even though you can use libraries such as TimedAction to handle such issues, it doesn't necessarily make different functions run concurrently. I was just wondering if there are other micro-controllers out there that supports threads/parralel operations so I can buy and replace it with the default micro-controller of the arduino board to overcome this issue. If not, what are my alternatives? I would very much like to hear from people who have worked on similar projects.

Thank you.

I have not heard of anything like that being available and Arduino compatible. Multithreading is not a typical feature of microcontrollers - it makes the whole architecture much more complicated, using a lot of silicon, and there is very little demand for it from customers. More over, multi-threaded programming is hard.

If you really need multiple threads, use multiple Arduinos and lash them together with I2C or serial - but do consider whether you really need to do that...

XMOS and Propeller are two multi-core microcontrollers.
There's not anything that will just drop in to an arduino board. Nor anything that runs the arduino core/libraries.
As DrAzzy says, concurrency is overrated. For most practical applications, "within 1 ms" is close enough to "at the same time."

My personal preference is to move all critical tasks to separate uC's and then implement connectivity between the separate chips; serial, wireless, mesh, IoT, etc. In this architecture, you can even have multiple uC's performing the same input tasks or logging tasks to create some redundacy.

Ray