Communicate between Multiple OpenMV's and another board


In past questions in this forum, I’ve been encouraged to use UART over I2C or SPI to communicate with another board. I have multiple OpenMV’s that need to communicate with a “main” board. I was originally going to hook multiple OpenMV’s to an Arduino and use SofwareSerial on the Arduino to communicate with each OpenMV’s UART. Now I’m looking into replacing the Arduino with a cellular module (Particle Boron) but it doesn’t have a software serial option.

I was thinking I could daisy chain the OpenMV’s using the main UART and an implementation of software serial on the OpenMV, but didn’t find much on software serial for Micropython. Or I can use SPI or I2C. Is there any other option I’m missing?


The OpenMV Cam H7 has two uarts, so, you can daisy chain the cameras easily. UART3 is the main UART but another UART is exposed on the I/O pins.

OK. Thanks! In the uart_control example it says “Always pass UART 3 for the UART number for your OpenMV Cam.” I guess I assumed that it was because the board used UART1 to communicate with the computer, like some Arduinos do. If that’s available, then problem solved. Do you think daisy chaining is the best way to get communication between multiple OpenMV’s and another board?

UART3 was the only one there for our first version. The H7 has more now.

We have a dedicated USB interface so UART1 has nothing to do with computer communication.

As for a better way… typically you’d do a start topology with a master uC in the center talking to each. So, I think this is pretty good.