Memory board add-on requirements

Status
Not open for further replies.
A "universal plan" is much simpler to create when the hardware has only 1 SPI port without any configurability or which pins get which hardware signals!
 
A "universal plan" is much simpler to create when the hardware has only 1 SPI port without any configurability or which pins get which hardware signals!
As another example, have Arduino's stacking, though it wasn't well thought out.
And more complex, PC104.

We can do it! It'd open a lot for Teensy 3/LC.
 
Well, you certainly can stack Teensy 3.1 & LC with 2 peripherals PJRC sells and lots of Onehorse's modules.

Details matter. Better to discuss here and work out the issues, before lots of boards get made.
 
Details matter. Better to discuss here and work out the issues, before lots of boards get made.

Agreed. I'd like to find a compromise that meets most people's needs.

Although I am not opposed to having more than one configuration for different application. I am mostly interested in data logging at the moment, and these small SPI Flash add-ons already being sold at Tindie are perfect for that purpose.

It makes sense to create a different design for interfacing with the Audio Board with its particular constraints.

Still, if we could downselect to 1) a small set of chips to support, 2) a library, and 3) two or three specific applications (data logging, audio board, and...) then we might have chance at faster success.

I am only making small batches of boards at the moment. It's wasted time that I am most concerned with here...
 
Bigger board adding memory and more would be worthwhile. I don't see me getting the Audio board (will LC ever use it?)- but a uniform way to provide common system hardware would be a good extension.

Lots of Tindie ESP8266 builds - does the ESP6203 drop power demands or add utility along the same lines? Any reason it won't have the same pinout when breakouts show up?

If you buy an LC to save bucks the add is you get a second SPI - and lower power. With Flash and RAM adds you could extend a 3.1 or an LC for short/long term storage.

A board with the onehorse battery charger built in and perhaps the RTC/M41T62 (similar) they would take less space/pins than those two boards combined and be full featured systems on an LC or 3.1 with maybe even a break out area for user stuff - IoT radio board or 9DOF.

Thing that would be cool would be Pogo pin holes open to the 3.1 to pull out those pins.
 
The mill-max (brand) pin header pass-through interconnects are great. The board needs slightly larger holes, but still on 0.1 in. centers. The sockets drop in. They have a spring loaded interior. Pin header passes through. They are about 0.2 inches long. great way to stack. Each board has these interconnects and you just slide on a long header pin more boards.
Issue is that mill-max's prices are like $0.20 or so per interconnect at 1ea (all gold plated). Maybe there's a cheaper equivalent.

Here's a photo of one board I did with these. Mill-max has a zillion variants of these.

Mill-max link https://www.mill-max.com/assets/pdfs/172.pdf
 

Attachments

  • Teensy Stacking- Mill-Max.pdf
    155.1 KB · Views: 233
Last edited:
Those are really cool! I'll get some for my own work.

I can't quite seem to understand the sizes. Which of these pin holders is appropriate for 0.1 inch through holes like those found on the Teensy?
 
Last edited:
Those look nice. I've been building around the swiss pin style machine pins as the sockets are so much smaller - I'm not sure about their longevity though they cost more, and I haven't seen double length pins.

They have various spring load pins too - wonder if any would lend to stress-less 3.1 under pinning - 47 to 63 cents 200 to 10 quantities.
 
I admit- I didn't look up the part number for the exact collar/interconnect I previously used and as are in the photos. Mill-Max has a lot of variations to choose from. They are very fast with sending 30 or so samples to confirm sizing.

the downer is the high cost - I recall $0.20 @1K that I used on last project.
I suppose a board with slightly larger holes and these collars could be a product option to keep the cost out of the sticker shock.
 
Found the data sheet for the Mill-Max parts I used as in the photos, above
P/N 7305-0-15-15-47-27-10-0
 

Attachments

  • Mill-Max 7305-0-15-15-47-27-10-0.pdf
    253.4 KB · Views: 171
SerialRAM

If anyone wants to try SPI RAM , I have uploaded a small very simple library with very basic features.
https://github.com/FrankBoesing/SerialRAM/

The easiest way is to solder it to the Audioboard. If there is a FLASH already, place the RAM on top of the Flash (glue), connect all Pins 1:1 except Pin1 (CS) and solder a thin wire from Pin1 to the teensy (well, that's not as easy as it sounds... )

Tested with 23LC1024
 
Last edited:
Isn't it much easier to add a MicroSD adapter?

Like this one, for example. It includes logic level converters so you can just run your Teensy at 5V and still use it (MicroSD uses 3.3V by default).
 
Last edited:
They're achingly slow.

Flash rom offers double the polyphony when playing multiple 44khz sound files
 
If anyone wants to try SPI RAM , I have uploaded a small very simple library with very basic features.
https://github.com/FrankBoesing/SerialRAM/

The easiest way is to solder it to the Audioboard. If there is a FLASH already, place the RAM on top of the Flash (glue), connect all Pins 1:1 except Pin1 (CS) and solder a thin wire from Pin1 to the teensy (well, that's not as easy as it sounds... )

Tested with 23LC1024

I love to try your library with my 1Mbit MR25H10MDF Magnetoresistive random-access memory (MRAM) with SPI on Teensy 3.0

Frank do you have any example sketch for a quick test run available?

Datasheet
IMG_20150328_104426198.jpg
 
I love to try your library with my 1Mbit MR25H10MDF Magnetoresistive random-access memory (MRAM) with SPI on Teensy 3.0

Frank do you have any example sketch for a quick test run available?

Datasheet
IMG_20150328_104426198.jpg

Sorry, no. And maybe you have to adjust something, i tried it with the 23LC1024 only.
 
Ok i had some issues but it's a live now :rolleyes:

Code:
// Test
// SerialRAM / MR25H10 1Mbit / Teensy 3.1 / Arduino 1.0.6 /

#include <SPI.h>
#include <SerialRAM.h>

#define RAM_CS2 20//CHIPSELECT
#define OPCODE_WREN   B00000110     /*06h Write Enable Latch */
#define SPICONFIG2 SPISettings(20000000, MSBFIRST, SPI_MODE0)


void WriteEnable  ()
{ 
  SPI.beginTransaction(SPICONFIG2);
  digitalWrite(RAM_CS2, LOW);
  {
    SPI.transfer(OPCODE_WREN);
  }
  digitalWrite(RAM_CS2, HIGH);
  SPI.endTransaction();
}


void setup()   {                
  Serial.begin(115200);
  // initialize SPI:
  SPI.begin();

  ram_init();
  WriteEnable  ();
  while (!Serial) {
    ; // wait for serial port to connect. 
  }
}

void loop()                    
{
  unsigned char data_to_chip_A[17] = "Testing 90123456";
  unsigned char data_to_chip_B[17] = "OK              ";
  unsigned char data_from_chip[17] = "                ";
  int i = 0;

  // Write some data to RAM
//ram_write(B *buf, 24B addr, 0-1,048,575 len);
  ram_write(data_to_chip_A,100, 17 );
  
  // Read it back to a different buffer
  ram_read(data_from_chip, 100, 17);

  // Write it to the serial port
  for (i = 0; i < 16; i++) {
    Serial.print(char(data_from_chip[i]));
  }
  Serial.print("\n");
  delay(1000);                  // wait for a second

  ram_write(data_to_chip_B,50, 17 );
  ram_read(data_from_chip, 50, 17);
  // Write it to the serial port
  for (i = 0; i < 16; i++) {
    Serial.print(char(data_from_chip[i]));
  }
  Serial.print("\n");
  delay(1000);                  // wait for a second
}
 
FrankB - good to see a part number - that is 128KByte - that would be a big boost for an LC. I see those at Mouser for $2.52/1 and $2.10/10. Do they need any caps (or other) support or just direct power/data wires?

Do the RAM contents survive reboot as long as the board has (battery) power?

Are there numbers on SPI throughput to the various SPI types RAM .vs. Flash .vs. SDFlash.
 
Last edited:
@Chris: Great !

FrankB - good to see a part number - that is 128KByte - that would be a big boost for an LC. I see those at Mouser for $2.52/1 and $2.10/10. Do they need any caps (or other) support or just direct power/data wires?
As far as i know it's always a good idea to add 10..100 nf between vcc+gnd, but for me it works without and i'm not that experienced with electronics.

Do the RAM contents survive reboot as long as the board has (battery) power?
Yes!
Are there numbers on SPI throughput to the various SPI types RAM .vs. Flash .vs. SDFlash.

The maximum SPI-Speed with the 23LC1024 is 20MHz.
 
I ran the memory test on the new Microm N25Q00AA chip mounted on my board and am getting zeroes for the Chip ID. I don't seem to be able to ready anything from the chip. Is this supposed to work with Micron chips too? Maybe I have a bad chip or a bum board design. Any ideas?
 
I've been working with the N25Q512A chip for the last couple days. It has many small incompatibilities. The N25Q00 is probably similar (also have one here... haven't hooked it up yet).

I've been working on the SerialFlash library to support these Micron parts. I should have something ready to publish in a day or two....
 
Great! I'll try again then. It could still be a bum chip or board design but at least I'll have the comfort knowing it should work!
 
Status
Not open for further replies.
Back
Top