Go Down

Topic: Centipede Shield Now Available (Read 37355 times) previous topic - next topic

macegr



Store link: http://macetech.com/store/index.php?main_page=product_info&cPath=4&products_id=23

Finally, we have these in production! Took a lot longer than expected, due to some other urgent projects with Tangible Interaction, and Maker Faire. Anyway they're here and I think they look great.

The Centipede Shield adds 64 general purpose digital I/O to your Arduino. By "general purpose I/O" I mean that each pin can be individually configured as an input or an output, just like the normal digital pins on an Arduino. We've also cooked up a library that makes it easy to talk to the Centipede Shield; the syntax very similar to the normal Arduino digital pin commands.

Code: [Select]
#include <Wire.h>
#include <Centipede.h>

/* Available commands
 .digitalWrite([0...127], [LOW...HIGH]) - Acts like normal digitalWrite
 .digitalRead([0...127]) - Acts like normal digitalRead
 .pinMode([0...127], [INPUT...OUTPUT]) - Acts like normal pinMode
 .portWrite([0...7], [0...65535]) - Writes 16-bit value to one port (device)
 .portRead([0...7]) - Reads 16-bit value from one port (device)
 .portMode([0...7], [0...65535]) - Write I/O mask to one port (device)
 .init() - Sets all register to initial values

 Examples
 CS.init();
 CS.pinMode(0,OUTPUT);
 CS.digitalWrite(0, HIGH);
 int recpin = CS.digitalRead(0);
 CS.portMode(0, 0b0111111001111110);
 CS.portWrite(0, 0b1000000110000001);
 int recport = CS.portRead(0);
*/

Centipede CS; // create Centipede object

void setup()
{
 Wire.begin(); // start I2C
 CS.initialize(); // set all register to default
 CS.pinMode(55, OUT); // set all pins on port 0 to output
}

void loop()
{
 CS.digitalWrite(55, HIGH); // write 55 high
 delay(150);
 CS.digitalWrite(55, LOW); // write 55 low
 delay(150);
}


We also have some breakout boards and cables/connectors we'll add into the store soon (visible in photo below). Will make it really easy to wire up the 64 I/O to your project or to a breadboard.

You might have seen the old thread about the Centipede Shield prototype: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1257672398


Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

Otacon2k


macegr

Added a bunch of accessories for the Centipede Shield, as I promised above:

Centipede Breakout
The Centipede Breakout is an easy way to wire up switches, sensors, LEDs, or other devices to a Centipede Shield. Using a length of 20-Conductor Ribbon Cable and 2x10 Connectors for Ribbon Cable, the Centipede Breakout connects to any of the four Centipede Shield 2x10 headers. All signals are brought out to solder pads and labeled for easy reference. Additionally, the Centipede Breakout has white silkscreen areas for you to write your own signal names. The solder pads are spaced at 0.2", perfect for standard 0.2" screw terminals (if supplied by user). Four 1/8" diameter mounting holes are provided.


Centipede Breadboard Breakout
The Centipede Breadboard Breakout makes it easy to route signals from a Centipede Shield to a breadboard, or as a soldering location for individual wires. The 2x10 header works with our 20-Conductor Ribbon Cable and our 2x10 Connectors for Ribbon Cable. The breakout board is supplied with a strip of 20 0.1" breakaway headers, which will need to be soldered in place (if needed) by the user.


2x10 Connectors for Ribbon Cable
This connector works with our Centipede Shield, Centipede Breakout, Centipede Breadboard Breakout, and 20 Conductor Ribbon Cable. It's easy to use: simply align a piece of ribbon cable under the keeper bar, then use a vise or crimping tool to compress and latch the keeper bar over the cable. If desired, the cable can be folded back over the keeper bar and the strain relief bar crimped on top of the whole assembly.


20-Conductor Ribbon Cable
This is a high quality 20-conductor ribbon cable for use with our Centipede Shield, Centipede Breakout, Centipede Breadboard Breakout, and 2x10 IDC connectors. It is easy to use; simply cut to size and crimp an IDC connector on each end. Then plug into the Centipede Shield and a breakout board, taking care to match the red stripe to the same end of each 2x10 header.
Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

Pumbaa

#3
Jun 18, 2010, 08:40 am Last Edit: Jun 18, 2010, 05:57 pm by willich Reason: 1
I feel the need to have a need for 64 IO.  :D

Looks great.

How fast can you do a single output-toggle (or Porttoggle)?

And: where did you define that long binarynumbers?
(your b0110101111010101100)

Martin Gerken

Great stuff, you will definitely sell a lot of them!
Are the schematics available? Which IC do you use?

Dragos

is the portRead equivalent with analogRead???

TheLaw

Its absolutely gorgeous. Black PCB makes anything look good. Gold connections. Looks high quality.

jondecker76

Very impressive, I'll be ordering soon!

I did a test compile with the library and it only added a little over 700 bytes to my project - much, much lighter than I thought it was going to be!

I'd also be interested in seeing the schematics for this great board

The_burrito_master

Wow, nice I'm looking forward to having to use this :D it looks very useful for led cubes.

doublet

Spam is getting neater all the time! Do you see Julie W is a bot? I didn't, at first :)
Sorry God members, I'm an atheist.

novice


Cooluser23

Awesome product!
Thank you for making this.

I'm sure, that once I hit the IO barrier, I'll find some use for this.  ;)

Onions

Looks brilliant!
One question? What is portread?
My website: http://www.harryrabbit.co.uk/electronics/home.html Up and running now! (Feel free to look round!) :D

MarkT

portRead reads a bunch of lines simultaneously, here 16. Nothing to do with A->D conversion!

I like this feature (from the website)
Quote
If very long headers are used to allow two Centipede Shields to be stacked, then by changing the ADDRESS jumper it is possible to address 128 I/O pins.


Now if all those could be PWM outputs too (or even DACs), that would be even better!
[ I won't respond to messages, use the forum please ]

novice

Quote
Now if all those could be PWM outputs too (or even DACs), that would be even better!

Why?.
If you require more PWM or Analogue IOs then buy the Arduino Mega.

Mind you, even the Mega will not provide the 64 extra digital IOs that the Centipede Shield provides.

Go Up