Shop OBEX P1 Docs P2 Docs Learn Events
MicroSD Party Board - SPI widgets for microSD enabled prop boards — Parallax Forums

MicroSD Party Board - SPI widgets for microSD enabled prop boards

TubularTubular Posts: 4,703
edited 2012-11-25 19:48 in Propeller 1
This project is a joint collaboration between Jazzed (whose idea it was), MacTuxLin (who manufactures a Propeller based microSD duplicator that has 4 microSD sockets onboard), and myself ("smorgified" it and got it made)...

It is a collection of 5 SPI widgets (Spidgets?) that can be snapped apart, and used with any prop board that has a microSD socket. It makes it cheap and easy to add say a big flash memory, or real time clock, or analog inputs, to a propeller platform usb or similar.

The five boards are

1. A Memory Board - accepts a SOIC-8 Flash memory, or 23LC1024 1Mbit SRAM etc
2. A RTC Board - accepts a DS139x (SPI), or DS13x7 (I2C, underneath)
3. An ADC board - accepts an 8 channel MCP3208/3008, or 2ch MCP3202/3002
4. A double adapter - breaks out to two microSD sockets so you can combine any two of the above. Uses and extra data pin normally unused as the select for the second device.
5. A 'dynamite' board that combines C3 style memory, and 8ch ADC. Uses two extra pins (6 data pins total).

How to use the two extra pins is still being debated. I am generally using the pin next to the normal SPI device select, as a second select signal (eg for a TSSOP SRAM underneath the SOIC Flash). And I am using the other spare pin to read a small single wire memory/id device (Microchip 11AA160), but this may be a waste. The two extra data pins allows QSPI flash chips to be read, subject to the host board having 6 rather than 4 data connections.

One unshop of this is it would be great if other board designers brought out these two (normally unused) MicroSD pins to pads, or a solder bridgeable link to propeller data pins. I know MacTuxLin is already updating his to support this, and I'll do the same.

OBC has a few blank boards at PropellerPowered, and I can send him more if anyone is interested in experimenting. There will definitely be another revision coming through with a couple of minor improvements; that was always the intention. To be honest I didn't think they'd do such a good job with the routing of the microSD outline (including notches), but they used a really fine router bit and it came up great.

Any thoughts about pin usage of those extra 2 pins, requests for other SPI devices, questions would be warmly welcomed.

cheers
Lachlan
1024 x 768 - 99K

Comments

  • MacTuxLinMacTuxLin Posts: 821
    edited 2012-11-23 22:32
    Yeap, I was pleasantly surprised when Tubular told me about this project. It just seems to make sense, for the prop, to have features in a modular package & on a need-to-use basis! The board Tubular sent looks extremely neat & snaps easily into the uSD sockets.

    I've included the 5th pin to the new board I'm working on in collaboration with msrobot (RAISD-QS Kit). It has 4 uSD sockets as well & the DAT1 can be connected to the prop simply by mounting a resistor. Tubular, I tried to add the 6th pin of the 1st microSD to the prop but just ran out of available prop pins for it. I'll add this to my to-do list on the next board.
  • jazzedjazzed Posts: 11,803
    edited 2012-11-24 09:54
    You always do great work Lachlan!

    Thanks for producing these. Kenichi's board looks very good :)
    Haven't seen the combo mated until today.

    I like "Spidgets" ... SPI widgets.

    The PropBOE was my main inspiration for a microSD SPI Flash chip. There are only a few ways to add hardware to the board without doing something with the prototyping board area. A Flash Spidget lets microSD users have easy access to fast XMMC code on PropBOE and other Propeller uSD boards. While SD cards are great for lots of data, they are not really designed for fast random access. Fast random access is needed for fetching code with reasonable performance.

    I've already verified that Propeller-GCC XMMC mode works with the Flash Spidget. Propeller-GCC board config file attached below.

    The microSD connector is probably the single most common expansion standard on Propeller boards. For anyone considering reselling Spidget Flash boards, I recommend the Winbond 8MB SOIC-8 SPI/QuadSPI parts* available from digikey. These parts will work in any uSD card slot. The QuadSPI feature should work in the Spinneret board uSD slot.

    I've been able to score/break the PCB sections on these boards. The Flash Spidget is about 1" long where a normal uSD card is about 0.6" long. The PCBs fit nicely into the uSD slot and with an adapter will have no problems in a standard SD card socket.

    Lachlan, WSON8 footprints offer higher density if they could be supported on a respin. Winbond 16MB WSON8 SPI/QuadSPI should work - I have samples of these. Micronix has a 32MB (256Mbit) WSON8 QuadSPI part, but I haven't tried it yet.

    I wish I had more time to try the uSD Dynamite Stick Spidget. I suspect it would make a great add-on for the Spinneret module. It also provides up to 8 ADC channels in addition to some of the other C3-like goodies.

    It occurs to me that the pads on some of the boards like the uSD doubler could be used to connect some SPI LCD modules :)

    Thanks,
    --Steve

    *Microchip SQI parts are not single bit SDIO AFAIK
    # sdflash
        clkfreq: 80000000
        clkmode: XTAL1+PLL16X
        baudrate: 115200
        rxpin: 31
        txpin: 30
        cache-driver: spi_flash_cache.dat
        cache-size: 8K
    # PP-USB and MGH-DNA (uSD pins 0..3)
    # cache parameter SPI pins: DO 0 0x00 SCLK 1 0x01 DI 2 0x02 CS 3 0x03 
        cache-param1: 0x02000101 # 0xdidockpp - do=msio di=msoi ck=sclk   pp=simple-cs
        cache-param2: 0x03000000 # 0xaabbccdd - aa=cs bb=unused cc=unused dd=unused
    # GameBaby
    # cache parameter SPI pins: DO 17 0x11 SCLK 8 0x8 DI 18 0x12 CS 19 0x13
    #   cache-param1: 0x12110801 # 0xdidockpp - do=msio di=msoi ck=sclk   pp=simple-cs
    #   cache-param2: 0x13000000 # 0xaabbccdd - aa=cs bb=unused cc=unused dd=unused
    
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-11-24 10:16
    Oooh, a Quad SPI Flash Spidget in a spinneret sounds interesting!
  • TubularTubular Posts: 4,703
    edited 2012-11-24 11:30
    Oh I didn't realize the Spinneret supported all 6 data pins. This will help speed things along - I'll try and finish the dynamite board today and fire it up.

    @MacTuxLin, don't worry too much about the 6th pin as it is only used for ID purposes at the moment. It would be nice to have it on one slot, but no big deal.

    Does anyone know whether the PropBoe actually brings the extra 2 MicroSD connections out to pads? The schematic isn't clear about this. They do at least have pullup resistors

    Also I forgot to mention 4D systems have a small range of similar modules based on the same kind of idea - display and GPS modules - that help complement the set.
    http://www.4dsystems.com.au/prod.php?id=141 (small 96 display)
    http://www.4dsystems.com.au/prod.php?id=142 (medium 128 square display)
    http://www.4dsystems.com.au/prod.php?id=143 (gps)
  • jazzedjazzed Posts: 11,803
    edited 2012-11-24 15:55
    Tubular wrote: »
    Does anyone know whether the PropBoe actually brings the extra 2 MicroSD connections out to pads? The schematic isn't clear about this. They do at least have pullup resistors

    Seems to me that only the 4 SDIO pins are connected.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-11-24 17:24
    Tubular wrote: »
    Does anyone know whether the PropBoe actually brings the extra 2 MicroSD connections out to pads?

    Rev. A has pads for DAT1 and DAT2 on the back of the PCB. Rev. A also has pads for all but 2 I/O pins on the back of the PCB so it would be possible to connect the extra SD pins to the Prop with some wire.

    Rev. B doesn't have the extra SD pads nor the I/O pads on the bottom of the board.
  • TubularTubular Posts: 4,703
    edited 2012-11-25 14:57
    Duane,

    Thanks for checking that out. Its a pity the pads have been removed on revB of the PropBOE, but never mind. Full steam ahead with the Spinneret and MacTuxLin's new board.

    Here's a photo of the display and dynamite board on the spinneret. There are a few passives near the MicroSD socket that could potentially short out, so I'll adjust the board a little bit so it can't happen.
    1024 x 768 - 73K
    1024 x 768 - 72K
  • msrobotsmsrobots Posts: 3,709
    edited 2012-11-25 17:47
    Lachlan,

    I had not realized that the whole Module fits into ALL 3 sd slots in Kenichis sd-duplicator and our new RAISD-QS-KIT.

    This looks and is very COOL, isn't it?

    Enjoy!

    Mike
  • TubularTubular Posts: 4,703
    edited 2012-11-25 18:09
    Mike,

    It doesn't quite fit, just yet. But it will as soon as we revise it.

    Its a bit of a fluke its as close as it is - I hadn't seen a close up of MacTuxLin's product. Its incredibly close to fitting - just perhaps 0.5mm too much pitch. MacTuxLin has sent through some dimensions taken off his board, so we can get the spacing exactly right for the next round.

    Also the dynamite board is "upside down" relative to to all the others, due to being pulled from another project. I'll flip it over, then yes all three boards should go nicely into the duplicator.

    Yes, it is indeed very cool. And we're only just getting started.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2012-11-25 19:20
    Nice work. Are the 23LC1024's SRAMs in stores yet? (they were available as samples last I checked).

    Modular works very nicely with the propeller. I can see this fitting in very well with the software. Run out of ram on a C program - add one of these boards. Need some more I/O pins - add a little board. Sweet.
  • TubularTubular Posts: 4,703
    edited 2012-11-25 19:44
    Dr_Acula wrote: »
    Nice work. Are the 23LC1024's SRAMs in stores yet? (they were available as samples last I checked).

    Modular works very nicely with the propeller. I can see this fitting in very well with the software. Run out of ram on a C program - add one of these boards. Need some more I/O pins - add a little board. Sweet.

    Drac,

    The 23LC1024s seem to be fairly widely available now. I have some of each package from microchip direct, I can post you some to play with if you want. Element14 AU website seems to show they're theoretically due any minute, but i've seen that bug before

    Yeah the modular approach goes with the clean "any peripheral on any pin*" philosophy. We're still not really exploiting that aspect of the prop.

    *Except video. Even the video limit may disappear with prop2. Something you don't get with many other micro architectures, and it trips them up constantly.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2012-11-25 19:48
    Dr_Acula wrote: »
    Nice work. Are the 23LC1024's SRAMs in stores yet? (they were available as samples last I checked).

    Yeah, their in. I've got an order of DIPs coming this week if I pushed the right buttons. ;)

    Jeff
Sign In or Register to comment.