Here is a nice project that allows youngsters (but also adults!) to actually see the data stored in a Read Only Memory (ROM). The memory shown in the picture above is made of diodes. [Scott] made it as a part of his Barcamp Fall 2013 presentation about visualizing ROMs. He starts his write-up by stating the obvious: this memory is not practical. Nonetheless, it still was a fun exercise to do. [Scott] then greatly described all the different kinds of read only memories that you can find out there, with a few words explaining how they work. In his diode ROM, bits are ‘programmed’ by adding (or not) a diode between a given data line (anode) and an address line (cathode). When pulling low a given address line, the corresponding data line will only be pulled low if a diode is present. [Scott] finally checked his circuit by using a very old device programmer which could only be run in DOS.
hardware1822 Articles
An Open Source GPU
Unless you’re bit-banging a CRT interface or using a bunch of resistors to connect a VGA monitor to your project, odds are you’re using proprietary hardware as a graphics engine. The GPU on the Raspberry Pi is locked up under an NDA, and the dream of an open source graphics processor has yet to be realized. [Frank Bruno] at Silicon Spectrum thinks he has the solution to that: a completely open source GPU implemented on an FPGA.
Right now, [Frank] has a very lightweight 2D and 3D engine well-suited for everything from servers to embedded devices. If their Kickstarter meets its goal, they’ll release their project to the world, giving every developer and hardware hacker out there a complete, fully functional, open source GPU.
Given the difficulties [Bunnie] had finding a GPU that doesn’t require an NDA to develop for, we’re thinking this is an awesome project that gets away from the closed-source binary blobs found on the Raspberry Pi and other ARM dev boards.
Making A Core Rope Read-only Memory
[Kos] tipped us about an article he made presenting his experiences in designing and implementing a core rope memory. This magnetic read-only memory (ROM), contrary to ordinary coincident-current magnetic core memories (used for RAM), uses the ferrite cores as transformers. If you look at the picture above, you’ll count 7 of them. This sets the memory word size (7bits). A new word is added to the memory by passing (or not) a wire through the ferrite holes. If you then pass an alternating current through this wire, a current will be induced (or not) in the other wire turned 30 times around the ferrite (alias transformer secondary).
In [Kos]’s setup, an input pulse of 5V generates output pulses of 15V. For demonstration purposes, he “wrote” a simple program that lights up digits in a seven segment display. Therefore, different numbers will light up depending on which wire he uses to pass the AC current.
These days core memory hacks are few and far between. But looking at this one, and the one we saw in August, makes want more. If you know of any others don’t hesitate to send us a tip.
A Motherboard For A WiFi Enabled SD Card
Over the last few months, a few very capable hackers have had a hand in cracking open a Transcend WiFi-enable SD card that just happens to be running a small Linux system inside. The possibilities for a wireless Linux device you can lose in your pocket are immense, but so far no one has gotten any IO enabled on this neat piece of hardware. [CNLohr] just did us all a favor with his motherboard for these Transcend WiFi SD cards, allowing the small Linux systems to communicate with I2C devices.
This build is based upon [Dmitry]’s custom kernel for the Transcend WiFiSD card. [CNLohr] did some poking around with this system and found he could use an AVR to speak to the card in its custom 4-bit protocol.
The ‘motherboard’ consists of some sort of ATMega, an AVR programming header, a power supply, and a breakout for the I2C bus. [Lohr] wired up a LED array to the I2C bus and used it to display some configuration settings for the WiFi card before connecting to the card over WiFi and issuing commands directly to the Linux system on the card. The end result was, obviously, a bunch of blinking LEDs.
While this is by far the most complex and overwrought way to blink a LED we’ve ever seen, this is a great proof of concept that makes the Transcend cards extremely interesting for a variety of hardware projects. If you want your own Transcend motherboard, [CNLohr] put all the files up for anyone who wants to etch their own board.
Troll Physics: 3 LEDs Powered By Hand
[Henryk] just sent us his latest episode of simple LED circuit puzzles. In front of the camera he solders one pin of each of the 3 LEDs to a different switch. He then puts the three assemblies in his hand and flips each switch to make the corresponding LED come on. We look forward to your explanations in the comments.
You may remember two other videos that [Henryk] made (also embedded after the break). The first video was a simple circuit with a resistor, three switches, and three LEDs in series. When a battery was connected, the LEDs were somehow switched on one at a time.The second video featured the same resistor/switches/LEDs, this time in a parallel circuit. Turning on the first switch made the first LED light up, and the second switch made the second LED light up.
Here are the few other troll physics projects we featured: the original LED circuits post, the super deluxe edition and the amazing solution to the trickery.
Pokewithastick, An Arduino Programmable Web-logger/server

[Stewart] tipped us about his very nice project: pokewithastick. It is an Arduino compatible board (hardware, not footprint) based on the ATMEGA1284P which can be programmed to collect and post data to internet logging sites such as Thingspeak or Xively.
As you can see in the picture above, it has a small 50x37mm footprint (roughly 2″x1.5″). The pokewithastick is composed of an Wiz820 Ethernet module, a micro-SD card slot, 2 serial ports, one battery backed Real Time Clock (RTC), one radio connector (for the usual nRF24L01 2.4GHz radio), one power & user LED and finally a reset button. There are two power rails on the board which can be split (5v + 3.3V) or combined (3.3v only) which may allow you to connect Arduino shields to it. You can program the board using the standard 6-pin header or via a serial programmer if an appropriate (Arduino) bootloader is installed.
The project is open hardware, has been designed using Kicad and all the files can be downloaded as a zip file.
Custom HTPC And Home Media Server
[Benoit Frigon]’s builds are a tribute to tidiness: both his HTPC and media server are elegant creations packed full of features. He has quite the knack for clean builds in this form factor; his PBX server was met with high praise earlier this summer.
For the HTPC, [Benoit] gutted and cleaned an old DVR case and modified it to house a Mini-ITX board. He added standoff mounts to support the motherboard, then sketched up a template for the IO shield as a guide for cutting the back panel. The front of the DVR case originally had a 4-digit 7-segment display and a few simple buttons. Though he kept the original button layout, [Benoit] chose to replace the segment displays with a 20×2 character LCD. The new display is controlled via a python script on the HTPC, which runs an OpenElec Linux distro with XBMC 12.0.
The HTPC’s hard drive bay is a bit lighter these days, because [Benoit] decided to migrate his media storage to a separate server. Inside the new home media server is yet another Mini-ITX motherboard with an embedded Atom N2800 that runs Ubuntu Server. Live television streams via a WinTV HVR-2550 TV tuner and TVHeadend software. The case originally suspended the tuner from the IO bracket on the back (and nowhere else), which left the rest of the card dangerously unsupported inside. [Benoit] solved the problem by building an additional aluminum bracket that firmly holds both the PCIe riser and the tuner. Check out both builds’ pages for downloadable templates, software details and bill of materials.





