Difference between revisions of "Coduino"

From Hackstrich
(Need a 3.3v reg too.)
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
The Coduino (''Co''processor for Ar''duino'' systems) will be an Arduino-compatible CPU/support on a shield, to enable multiprocessor stacks.  It may also be made in multi-CPU version (2 or 4 CPUs on a shield) for really cool projects.
+
The Coduino (''Co''processor for Ar''duino'' systems) is 4 Arduino-compatible systems on a shield, to enable multiprocessor stacks.
  
* Will use ATMega328p for compatibility with the Duemilanove board.
+
== Project Status ==
 +
* 2013-05: Going to call this completed after all, decided against offering it as a product as I don't think there's a big enough market there. All working though, and the design is all open if anyone wants to make one :)
 +
* 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.
 
* 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).
 
* Serial only in the first revision, no USB-Serial on the board itself (FTDI cables are easy to get now).
* Will communicate with the master Arduino (bottom of the stack) via I2C, leaving all other pins available.
+
* Communicates (optionally) with the master Arduino (bottom of the stack) via I2C (with jumpers to disconnect this), leaving all other pins available.
* Main headers will just 'stack-through' the master Arduino, the I/O from the Coduino will be broken out on separate headers (maybe with a 'base board' that can connect to stack shields on the Coduino via a cable?).
+
* 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 could have capability for 1, 2, or 4 (or 3 really, but I like more even numbers) processors, and just get stuffed with the desired number for cost control.
+
* 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
* Local voltage regulation would be best so as to not overload the master's regulator.
+
* Each processor has a local reset button, and can also be optionally linked to a master reset using jumpers
** Power can be pulled from the Vin pin, though this means (if I'm reading the Duemilanove's schematic right) that no power will be received from the master board when using USB power.  Will likely want to pull from Vin if there's voltage there, otherwise pull from +5v and bypass the local regulator.
+
* All 4 processors run off a single oscillator using a 4:1 fanout buffer, so they will stay synced up instruction-by-instruction
*** Need to test an actual Duemilanove to make sure this is correct.
 
** As the Duemilanove gets 3.3v from the FTDI USB-RS232 chip (which we don't have here), we will need a separate regulator for this.
 
  
[[Category:Future Project Ideas]]
+
[[Category:Completed Projects]]
[[Category:Projects]]
 

Latest revision as of 14:15, 2 June 2013

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

Project Status

  • 2013-05: Going to call this completed after all, decided against offering it as a product as I don't think there's a big enough market there. All working though, and the design is all open if anyone wants to make one :)
  • 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