Here's a preliminary design for a set of stackable modules to fit the new $20 QuickStart module. These take advantage of the Prop's ability to route a peripheral to almost any pin. It's a more efficient approach than, say Arduino which can have conflicting shields
Each QuickStack module has its own I2C eeprom that has its own driver code ("cogject" style). Besides cog code the eeprom also contains the # of pins consumed, which means the Prop program can determine exactly what modules are present, and what pins they connect on, at run time. A special bit shifted I2C pattern ensures each new module gets a new I2C address, at least until 7 modules have been stacked.
The I/O is drawn down from the bottom of a "stack". Each module only takes the # of I/O it needs, leaving the remainder for next modules in the stack. For instance a 4 pin SD card module, installed first in the stack, would use P0-3. The remainder of the pins then "shuffle down" using the special offset DIP connector which is the secret to making this work.
Open source concept... please apply at will... more to follow later including photos.
Lachlan, it would be fantastic to have our customers develop and sell any add-on boards for the QuickStart. I will check with David on publishing our design tips for the highest level of compatibility.
Here's a preliminary design for a set of stackable modules to fit the new $20 QuickStart module. These take advantage of the Prop's ability to route a peripheral to almost any pin. It's a more efficient approach than, say Arduino which can have conflicting shields
Each QuickStack module has its own I2C eeprom that has its own driver code ("cogject" style). Besides cog code the eeprom also contains the # of pins consumed, which means the Prop program can determine exactly what modules are present, and what pins they connect on, at run time. A special bit shifted I2C pattern ensures each new module gets a new I2C address, at least until 7 modules have been stacked.
The I/O is drawn down from the bottom of a "stack". Each module only takes the # of I/O it needs, leaving the remainder for next modules in the stack. For instance a 4 pin SD card module, installed first in the stack, would use P0-3. The remainder of the pins then "shuffle down" using the special offset DIP connector which is the secret to making this work.
Open source concept... please apply at will... more to follow later including photos.
Bill this is a bit different - you can keep adding up to 7 eeproms and they keep arranging themselves automatically. Furthermore any additional eeproms will all sit at Address 7 and not interfere with those between 1 and 6. And address 0 is left untampered with for the main program.
There are only two bit patterns out of the 64 possible that permit this. I chose the sequence that is more like 'Pi' as its very slightly easier to remember, at least for nerds.
Bill this is a bit different - you can keep adding up to 7 eeproms and they keep arranging themselves automatically. Furthermore any additional eeproms will all sit at Address 7 and not interfere with those between 1 and 6. And address 0 is left untampered with for the main program.
There are only two bit patterns out of the 64 possible that permit this. I chose the sequence that is more like 'Pi' as its very slightly easier to remember, at least for nerds.
I wish i could see how the connectors stack. Please help me with that.
At first i thought you could just stagger male headers, but it seems you need some extra long ones.
It would be very useful if there was a reset pin that goes all the way through - is that available on the QuickStart board header? I've met hardware guys that would cry because that's not available.
I'll get some photos together shortly, but essentially
- Under the QuickStack is a standard DIL male header that is soldered to the middle two of four rows. This plugs into the quickstart
- Above the QuickStack is the female offset DIL (18158) connector with the offset feet. The feet are 0.3" apart.
- A plastic (0.7mm polypropylene) insulator sits on top of that DIL header to prevent shorting I/O between the two. Note that due to being inline shorting of the voltage rails etc can't happen as these go 'straight through' anyway
- The 0.3" feet are soldered on the top.
The same concept can be extended to SIL headers and I better take a look at Prop Platform and see how this might be achieved to keep OBC happy.
Good news - there is a reset pin that goes straight through, and RTS and CTS, and USB enable which are associated with the FTDI. Here's a close up... the pins with a ' are the outputs going to the next board in the stack...
Jazzed, something else I forgot to mention - the SMD equivalent of this comes up a whole lot cleaner but uses a heap of vias. But it does need two SMD passes - one for the top and one for the bottom, and I was worried about incremental/accumulated offset which could perhaps be mitigated using connectors with 'posts'
Comments
Lachlan, it would be fantastic to have our customers develop and sell any add-on boards for the QuickStart. I will check with David on publishing our design tips for the highest level of compatibility.
Ken Gracey
This looks like a fantastic idea that beats the shield concept six way from Sunday. Keep up the good work!
Jim
This is going to be fun!
Rick
I suspect others have done something similar in unannounced products
Yes it is going to be fun
There are only two bit patterns out of the 64 possible that permit this. I chose the sequence that is more like 'Pi' as its very slightly easier to remember, at least for nerds.
I wish i could see how the connectors stack. Please help me with that.
At first i thought you could just stagger male headers, but it seems you need some extra long ones.
It would be very useful if there was a reset pin that goes all the way through - is that available on the QuickStart board header? I've met hardware guys that would cry because that's not available.
Thanks.
I'll get some photos together shortly, but essentially
- Under the QuickStack is a standard DIL male header that is soldered to the middle two of four rows. This plugs into the quickstart
- Above the QuickStack is the female offset DIL (18158) connector with the offset feet. The feet are 0.3" apart.
- A plastic (0.7mm polypropylene) insulator sits on top of that DIL header to prevent shorting I/O between the two. Note that due to being inline shorting of the voltage rails etc can't happen as these go 'straight through' anyway
- The 0.3" feet are soldered on the top.
The same concept can be extended to SIL headers and I better take a look at Prop Platform and see how this might be achieved to keep OBC happy.
Good news - there is a reset pin that goes straight through, and RTS and CTS, and USB enable which are associated with the FTDI. Here's a close up... the pins with a ' are the outputs going to the next board in the stack...
I'll post another one and use the Prop Platform to illustrate the concept