Coduino

From Hackstrich
Revision as of 22:13, 25 June 2012 by SarahEmm (talk | contribs) (Dormantizing for now due to burn.)

The Coduino (Coprocessor for Arduino systems) is 4 Arduino-compatible systems on a shield, to enable multiprocessor stacks.

Project Status

  • 2012-06: Putting into dormant status, as I won't have time until after Burning Man as I'm putting all my time into Beacon4.
  • 2012-04: Boards are here, awaiting time to test.
  • 2012-03-10: Started/finished schematic for baseboard and submitted to Laen.
  • 2012-03-04: Ordered connectors to prototype 'base board' from Digikey.
  • 2012-03-03: Wrote a token-passing demo, base Arduino injects a token which the 4 CPUs on the Coduino pass around in a ring. I2C bus proved.
  • 2012-02-24: First board assembled, runs 'blink' on all 4 CPUs successfully.
  • 2012-02-22: Parts arrived.
  • 2012-02-21: Ordered parts from Digikey.
  • 2011-10-18: PCBs received.
  • 2011-09-30: Completed routing board, added all required silkscreen, submitted to Laen for prototype manufacturing. Need to order parts now.
  • 2011-09-29: Almost done routing board.
  • 2011-09-26: Started routing board.
  • 2011-09-25: Added master reset button and power LED. Schematic passes checklist.
  • 2011-09-23: Started working on schematic, now 90% complete. Need to add a master reset button and a power LED.
  • Pre-Sept 2011: Put specs and BOM together.

Specs/Brainstorming

  • Uses ATMega328p for compatibility with the Duemilanove board.
  • Standard boot loader will be used.
  • Serial only in the first revision, no USB-Serial on the board itself (FTDI cables are easy to get now).
  • Communicates (optionally) with the master Arduino (bottom of the stack) via I2C (with jumpers to disconnect this), leaving all other pins available.
  • Main headers just 'stack-through' the master Arduino, the I/O from the Coduino is broken out on separate headers (maybe with a 'base board' that can connect to stack shields on the Coduino via a cable?).
  • Board has 4 processors, could stuff half of them for a lower-cost version, though I don't think it would lower the cost that much in the end
  • Each processor has a local reset button, and can also be optionally linked to a master reset using jumpers
  • All 4 processors run off a single oscillator using a 4:1 fanout buffer, so they will stay synced up instruction-by-instruction