Here’s something we thought we would never see: computing with just pipes, /dev/zero, and /dev/null.
As a thought experiment, [Linus] imagined a null byte represented an electron. /dev/zero would have an infinite supply of electrons and /dev/null would make a wonderful positive power supply. With a very short program (named mosfet.c), [Linus] can use Linux pipes to control the flow of electrons between /zero and /null. [Linus] used mosfet.c with a very short shell script to create a NAND gate. From there all bets were off. He ended up creating a D flip-flop, 4-bit adder and a counter.
From a bit of cursory research, Linux has a maximum pipe capacity of 1,048,576 bytes and the maximum number of PIDs is 4,194,304 (correct us if we’re wrong). [Linus] can theoretically build some of the classic CPUs of the 70s and 80s with his pipe logic. An Intel 486 is just out of reach, though. If you give someone a NAND or a NOR they’ll eventually build a computer; we thought we’d never see this, though.
There’s a soft spot in our hearts for pointless projects, as long as they’re well executed. [Bertho] really hit the mark with his take on the most useless machine. We’ve seen several renditions of this concept, most of them hinging on a box that will turn a mechanical switch off whenever you turn it on. But this take uses a push button to activate a switch flipping mechanism on another part of the machine.
You can see the drive gears in the image above. The final gear has a small bar which flips a switch to one side or the other. The circuit does this without the need of a microcontroller. A 7400 series NAND gate chip, some passive components, and two mechanical relays are all it takes. At each push of the button, the logic chip trips one of the relays to trigger the appropriate motor direction based on the current state of that switch. You can press the button during movement, but all that will do is delay the inevitable flip of the switch.
[Fede.tft] wrote in to tell us about some work he’s been doing to save battery life for LED dominoes. He originally got the idea after reading this post about the electronic gaming pieces. That project was aimed at the 555 timer contest and therefore, used a 555 timer. [Fede.tft] calculates the battery life for the CR2302 battery in the 555 circuit at no more than about 80 days. That’s if you never use them and the LEDs are never illuminated. It makes sense to remove the batteries from the device when not in use, but a redesign to increase efficiency is definitely worth the effort.
This rendition does away with the 555 chip in favor of a CMOS chip. By building a circuit around four NAND gates of a CD4011 chip, the standby lifetime of the battery is calculated to increase to about 4.5 years. Not bad! Add to this the fact that replacing the 555 timer didn’t increase the component count, the price for the chip is similar to the 555, and you didn’t need to resort to a microcontroller. Yep, we like it.
Instructables user [trumpkin] recently built an all-hardware based keypad lock for a contest he was entering, and we thought it was pretty neat. The lock uses mostly NAND gates and 555 timers to get the job done, which makes it a nice alternative to similar software-based projects we have seen in the past.
The lock has 6 keys on the keypad, which is connected to the main logic board. The keycode is set using a series of headers at the bottom of the board, and you get 10 chances to enter the proper code before the board locks up completely. If this occurs, a “manual” reset via a button built into the main board is required before any more attempts can be made.
As you can see in the video below, the lock works quite well, but suffers from one shortcoming. Any permutation of the key code can be used to deactivate the lock, which is something [trumpkin] says he would like to improve in the future.
If you are looking for some more security-related reading, be sure to check out these other hacks we have featured in the past.
Continue reading “Hardware-based security keypad keeps it simple”
Here’s an interesting method of reading data off of a NAND flash chip. Often we see these chips desoldered in order to read and write data, but not this time. This method uses hacked adapters to match the pin pitch of the various chips. Above you see parts of a breakout board cut down to use as wedges. These are drag soldered to the pins of the chip, then the appropriate breakout pins were connected to a Smartmedia card reader, which can read NAND chips. There is also an example showing the flexible connector cable for a DVD rom used as the adapter to solder to a smaller chip. We still looks pretty tricky, but it might be less labor intensive than relocating the flash chip like we saw on that Sega Game Gear hack, as long as you only need to read or write the data once.
Sometimes, a little bit of noise can be fun. This little noise synth called the Nandhopper, is a quick simple project to get started. The parts list is pretty short, mainly material for the sensors and a 4093 Quad, 2-input Schmitt trigger and NAND gate. You end up with an easy to use, fairly small 1-Bit synth. If you don’t know what a 1-Bit synth sounds like, watch the demo video. Sure, it just sounds like noise to us, but that’s music to some people.
You may be hoping to subsidize the purchase of an iPhone 3G with the sale of your old one, but since you should wipe all your personal data from the old one first, we brought you [Rich Mogull]‘s method for wiping all your private data off of an iPhone. The method, which involves overwriting your data with music, is slightly flawed, mainly because of live files that can’t be deleted while the phone’s OS is working and because the OS reserves a portion of the hard drive as unwritable space, which will make it impossible to completely fill it with music.
For those looking to annihilate every scrap of personal information, check out [Jonathan Zdziarski]‘s method. It involves restoring the phone as a new phone, then jailbreaking it. Once the user has shell access, umount is used to force the two mount points into read-only mode. Now the partitions can be overwritten with /dev/zero, which should wipe them clean. The phone should then be forced into recovery mode to perform another full system restore, and the process is complete. As [Zdziarski] notes, several iterations of the process with /dev/random should prevent even NAND recovery, but there is an even better way of ensuring full data destruction: “simply take a sledgehammer to the device.” If you are unfamiliar with the command line though, chances are [Rich Mogull]‘s method will be easier for you to handle, but don’t blame us if you sell your phone and the Feds get wise to the evidence you left on it.