Parallel ports communication between 2 Arduino Due's

Hi -

I'm working on digital signal processing - 12 bit analog i/p - want to segregate sample collection and processing to each controller, 1st controller is exclusively for sampling and second one is for processing the samples.

Want to avoid communication delays of either serial or i2c or SPI, hence opting for parallel communication - guidance on parallel communication between 2 Arduino due controllers - appreciated.


If you think about you will need 12 bit transfer - i.e. 12 digital lines , plus any handshaking - not practical ? Serial coms can be fast , but fast 12 bit processing is a hard task .

If you REALLY need two devices , maybe the Arduino is not the ideal way to go.

rockwellramesha: Want to avoid communication delays of either serial or i2c or SPI,

How many bytes per second do you need to transfer?

You could probably do 16 bit parallel data transfers with a pair of Ports (16 bits) using port manipulation and using one of the bits as a clock that triggers an interrupt on the receiving side.


If you need to send that much data so quickly, I would suggest that you're starting from the wrong place. Get a DSP chip. They can be pretty easily programmed to do every imaginable DSP task. They also respect constant sample times and other stuff relevant to DSP. Getting a Due to consistently sample and send data at high speed is not impossible but it will require weeks of work reading the datasheet.

3 bytes

rockwellramesha: 3 bytes

If you only need to send 3 bytes per second then save yourself a lot of hassle and just use Serial or SPI


3 bytes of data require two Due processors? That must be some serious data crunching or one hellacious data rate. Even if it’s both, it costs almost nothing in processor time to acquire analog data.

I think it is more likely an error in your assessment of the capabilities of the Due’s 83mhz Cortex M3 processor.

If you’re truly out of computing power with the Due, consider the Teensy 3.6. Cortex M4, clockable to 240mhz with integer DSP instructions and a hardware FPU. $30 and about one eighth the board space as a Due, all supported by the Arduino environment.

Thanks - great to know there Teensy 3.6, it's not the processing power limitation, basically do not want to miss out any samples while the controller is working on statistical headers, hence considered 2 processors one purely samples and sends to second controller for statistical calculation,number of samples used for statistical calculation is just 7 values - 21bytes, and 2nd controller should handle the data streamed and statistical calculation.

rockwellramesha: Thanks - great to know there Teensy 3.6, it's not the processing power limitation,

Sounds as if a single Atmega 328 running at 8MHz would have plenty of power.


In 99.99% of the cases where beginners consider using two processors they are wrong, and more time is spent transferring the data than ever they save.

Thanks! I'll be trying on actual production line, hope one controller suffices.