Find you’re running out of memory and paying for more expensive chips just to plug this feature gap? Many of the upper offering of chips have the option of adding SRAM thanks to an on-chip hardware feature, but if you don’t have that this 512k SRAM add-on board can be used with any chip that has 13 extra I/O pins available.
That use of pins may sound crippling if you usually use low pin count chips. But thanks to a write protected state option with the memory chips, nine of those thirteen pins can serve a dual use when not reading or writing from the memory. Speaking of, the address scheme is designed to access the memory in 32-bit blocks but individual bytes are accessible too if need be. [Wardy] has been testing his design using a Propeller chip running at 75 MHz so we know it’s built for speed, but he also mentions there’s no minimum clock speed for the board to function either. He used the Open Hardware guidelines when sharing his work, and if you want one for yourself you could always give the DorkBot PDX service he used for the prototypes to get your own boards too.
[via Dangerous Prototypes]
[Andrew] recently got scammed on an SD card purchase and put together a small tool that can help you determine if you’ve had the wool pulled over your eyes as well.
You see, he purchased a set of MicroSD cards, all of which had an advertised capacity of 4GiB. When he tried to use them, they all failed to write more than about 115MiB of data, so he knew something was up. He sat down with some tools that can be used to check the actual capacity of flash media, but he says they were unbelievably slow to scan the cards.
While he waited for one of the scans to complete, he decided to create a utility of his own that would do the same thing in a fraction of the time. His quick and dirty application, called “Scam-o-Matic”, writes random data to the card, double-checking the written region to ensure that data can be read back. If it finds errors your card is likely either a fake or damaged, but if not, it automatically prepares the media for use.
Obviously this sort of situation is relatively rare, but if you think that you have picked up some shady SD cards, be sure to check out [Andrew’s] Github repository.
How much memory do you really need? We suppose it’s not really our place to judge how you
misuse use memory in your projects. But we do appreciate the clean and orderly technique that [Eric Rogers] uses to add multiple SPI SRAM chips to an Arduino.
The heavy lifting is done with a CPLD shield called the Amani 64. It intercepts the SPI calls from the Arduino to an SRAM chip, and translates the address information to find the appropriate data on a collection of 23K256 devices. These chips are inexpensive, and using several of them provides a savings over choosing a single SPI addressable chip with a larger memory size.
The best part is that the flexibility of the CPLD allowed [Eric] to devise an addressing system that takes advantage of unused bits in the Arduino’s SPI data transfer functions. When using a single 23K256 chip, there are four write functions that waste a total of six bits. He devised a method to inject addressing data into these unused bits, allowing him to address up to 64 different memory chips for a potential of 2 MB of storage. The CPLD pulls out this injected address and subsequently writes or reads the bank of SRAM chips.
Looking for other SRAM upgrade options? Here’s another one that uses multiplexing to decrease the address lines necessary to add memory.
[Andy] stuffed some more RAM onto an Arduino Mega and his three-part walk through on the design, construction, and software is a great read and one of the more ‘hard core’ Arduino builds we’ve seen.
The build is centered around a 512K × 8 SRAM module [PDF warning]. Because the RAM is divided up into about 512,000 chunks of 8 bits, the Arduino has to access the RAM through 16 ‘address lines’, then send the data through 8 ‘data lines’. [Andy] didn’t want to use up 24 pins on his Arduino, so he used a latch to multiplex the lowest 8 address lines and the data lines together. With the 512KB RAM expansion installed, the Mega is able to address a whopping 520 Kilobytes.
We’ve seen a few builds that have been limited by the amount of RAM available in the Arduino, like capturing video and some robot hacks, and adding some more RAM to those builds would be great. Multiplexing data and address lines using a latch can be expanded even further, but 520KB ought to be enough for anybody.
If you’ve ever wanted to dive in and take a look at how memory hardware is implemented here is a good example of how to implement some latching circuits with ether BJT or CMOS transistors. BJTs require biasing resistors which increases the complexity and power consumption when compared to CMOS. If power consumption isn’t an issue you could certainly make some really fast logic.
Most modern on chip RAM is made using SRAM because it only takes six transistors to implement(vs eight) and is pretty fast. When it comes to density DRAM can get one bit of storage by using a single transistor and capacitor(putting the capacitor underneath he transistor can save even more space). All that said, latches and flip flops are still a very useful (and common) tool when working with digital circuits.
We’d bet you never had a Dreamcast Visual Memory Unit, but if you can find one now it can be turned into an iPod (translated). The VMU was originally a memory card for the not-so-popular gaming console that put an LCD screen right in your controller. When you weren’t at home you could take it with you and play mini-games. This version lacks its original guts, which have been replaced with a 6th generation iPod nano. The screen is just a bit small for the opening so a frame of white tape was applied as a bezel. The sleep button has been extended through the cover for the VMU connector. It seems there’s a gaping hole in the back of the case, but after seeing the ultrasonic knife used to cut away the plastic we don’t care. We’ve embedded video of that tool after the break.
Continue reading “Dreamcast VMU, meet iPod”
[StaticChanger] built a scoreboard to display his kill statistics from Halo for the PC. Yes, we’ve seen kill counters before, but we like the way that he gathers the data. This project is reading the score directly from an address in memory.
Using a program called Cheat Engine, the memory used by a program can be sniffed. After a few passes, the program will help you find a static memory address for your desired data. Once you have that it’s just a matter of using a pointer to that address in your desired programming language. In this case, a C# program polls the value and instructs an Arduino to display the value on a couple of 7-segment displays. Voila, the number appears next to your screen as you see in the image above.