Dual Core 168 Arduino

No, it's still just two ATMEGA168's - which happen to both be joined to an inline i2c bus, and share a resonator and a few other components.

They can function as two completely individual 168's - or they can "co-operate" using i2c.

For example, one IC might be running a sequence of LED's, and at the end of the sequence, send a message to the other IC telling it the sequence has finished. Or, they both can run completely autonomously, using their own pins for "whatever".

The application we built this for, requires two serial buffers. One communicates with a host computer, and the other communicates with another serial device.

So, for example, when there's a serial event on IC1 - it sends the serial data to IC2 via i2c. The wire library has "wire.available", so IC2 can still run it's own loop/s while waiting for data from IC1. Since IC1 is also using the serial buffer, "it to" can run it's own loop/s.

And that's handy if you've ever needed to use an Arduino to communicate with two serial devices, because you'll discover two major drawbacks. 1. Arduino's only have one serial buffer. 2. The software serial library "hangs" loops while it's waiting for data from a serial device, although, I think there was a hack done recently which provided a work-around for the Diecimila?

Aside from what we're using it for, we've really got no idea what else it might be capable of. Both IC's are perfectly synchronized, so there could be applications which that suits. Between the two, there's double the pins and program space - I think there'll be applications where that might come in handy.

Two or more boards can be added to the i2c bus, so it's possible to create a chain of dCoreDuino's - each IC could be performing a specific task, like, one for running a sequence of LED's, another for reading a gps device, another for driving servo's - and all would be able to do so while having conversations with each other via i2c.

So for what I expect the cost to be, it's an inexpensive solution to a number of problems, while presenting a board which has twice the capabilities of a single IC Arduino. If developers can find a use for that, then it makes the concept that much more worthwhile :slight_smile: