View Full Version : Replacing the EEPROM in a propStick
I'm planning to buy a propStick because the protoBoard was too big and had some other issues.
The only drawback I could find with the stick was that the eeprom was only 32k. And I was planning on using the upper part of the eeprom on the protoBoard.
So, how about replacing the eeprom? Can anyone forsee any problems? And when I'm already doing this, why not go for a 256kb eeprom?
04-23-2008, 06:15 PM
Should be OK - I believe the bigger EEPROMs are pin compatible, but it'd be best to check the datasheet first...
You'll always have as many take-offs as landings, the trick is to be sure you can take-off again ;-)
BTW: I type as I'm thinking, so please don't take any offense at my writing style http://forums.parallax.com/images/smilies/smile.gif
04-24-2008, 01:30 AM
I'm using an AT24C512B (http://www.atmel.com/dyn/products/product_card.asp?part_id=3782) (The same EEPROM as on the protoboard) with my ybox2 (http://www.deepdarc.com/ybox2/) and ran into no problems. The DIP version is pin-compatible with the 32KB EEPROM, and I assume the surface mount one is as well. I'm using the lower 32kb for a ethernet bootloader, which can program the upper 32kb via HTTP PUT and then run it. Fun stuff.
I would highly recommend using the AT24C512B (http://www.atmel.com/dyn/products/product_card.asp?part_id=3782) whenever you have a choice.
I don't know about the larger EEPROM parts. They might not be compatible.
04-24-2008, 01:38 AM
I wouldn't recommend replacing the eeprom, just connect an additional chip to the same pins as the on board eeprom and set it's address to a different slot.
Paul Baker (mailto:email@example.com)
Propeller Applications Engineer
Parallax, Inc. (http://www.parallax.com)
05-03-2008, 08:43 AM
I am trying to create audio output from my Parallax Proto Board and I need more memory to store wave files. As others have stated the EEPROM has 64Kbytes. I guess only 32K of them are used to provide recovery from loss of power.
Can the others be used to store my wave files?
05-03-2008, 08:52 AM
You can attach up to 8 EEPROMs (512K) to an I2C bus if they're all 64K EEPROMs. In your case, you can attach 7 x 64K to a PropStick. If you use 128K EEPROMs, it's a little more complicated because of how the manufacturers handle sizes > 64K. The easiest thing to do is add a single 128K EEPROM (an AT24C1024) for a total of 160K bytes. Anything above the 1st 32K is yours to play with.
05-03-2008, 09:10 AM
But why can't I use the other 32 kbytes not used for loading my programs into RAM?
05-03-2008, 09:58 AM
The built-in bootloader always reads the program into RAM from the first 32K of any attached EEPROM(s) if the PC isn't present and overriding that. There are several programs that can read programs from elsewhere in EEPROM. FemtoBasic (and its derivatives) has a command to load a 32K program from "beyond 32K" or from EEPROMs attached to other I/O pins. There was also a "Propeller OS" that I posted some time ago that would let you load named programs from other parts of EEPROMs using a command. There's a link to it under "Propeller Thread Index Stickies".
05-03-2008, 10:03 AM
@ Ed : You can ... but I think Mike got you confused with the original poster on modding the PropStick ... as Mike says, anything after the first 32KB is yours to use however you want, storing WAV files etc.
05-03-2008, 09:09 PM
Is there an example of how to do this?
But if I use the first 32K of EEprom for wav files then my device cannot reboot itself after power off unless my PC is still connected. Right?
05-03-2008, 09:11 PM
Thanks again Mike,
Your idea sound great. Adding the larger EEPROM should be easy mechanically. I shall explore the software yousuggest.
05-03-2008, 11:53 PM
@ Ed : That's generally right; if you overwrite the first 32KB the program could be corrupted and won't boot next time but if your program doesn't fill the 32KB, everything after the program end can usually be altered in Eeprom with no adverse effects.
If you're using one of the i2C Eeprom interface objects from the Object Exchange, it should just be a simple case of specifying an address => $8000 to access the top 32KB of a 64KB Eeprom.