Although it’s not the best way of understanding computers, most people tend to imagine electronic devices as black boxes filled with magic and blue smoke. Even microcontrollers, the most fundamental means of computation, are treated like little black plastic centipedes with metal legs. In a series of blog posts, [Andrew Gibiansky] is tearing down the walls of obfuscation and illuminating the world of transistors, gates, and FPGAs.
The first blog post goes over the idea of electronic circuits as a waterfall; a positive voltage is a reservoir on a mountain top and ground is sea level. This idea is extended to the lowly transistor acting as an electronic switch, able to turn a circuit on and off.
Continuing on to logic gates, [Andrew] covers the NOT, AND, and OR gates before moving on the flip-flops and SRAM. These can, of course, be modeled in Verilog and VHDL – programming languages that abstract the world of transistors and gates into a much more human-readable form.
[Andrew] is far from done with his series of blog posts, but judging from his work so far it seems to be a great resource for untangling the obtuse concepts of gates and memory into the coherent design of a computer.
[Henrik] has been working on a program to design electronic circuits using evolutionary algorithms. It’s still very much a work in progress, but he’s gotten to the point of generating a decent BJT inverter after 78 generations (9 minutes of compute time), as shown in the .gif above.
To evolve these circuits, [Henrik] told a SPICE simulation to generate an inverter with a 5V power supply, 2N3904 and 2N3906 transistors, and whatever resistors were needed. The first dozen or so generations didn’t actually do anything, but after 2000 generations the algorithm produced a circuit nearly identical to the description of a CMOS inverter you’d find in a circuit textbook.
Using evolution to guide electronic design is nothing new; an evolutionary algorithm and a a few bits of Verilog can turn an FPGA into a chip that can tell the difference between a 1kHz and 10kHz tone with extremely minimal hardware requirements. There’s also some very, very strange stuff that happened in this experiment; the evolutionary algorithm utilized things that are impossible for a human to program and relies on magnetic flux and quantum weirdness inside the FPGA.
[Henrik] says his algorithm didn’t test for how much current goes through the transistors, so implementing this circuit outside of a simulation will destroy the transistors and emit a puff of blue smoke. If you’d like design your own circuits using evolution, [Henrik] put all the code in a git for your perusal. It’s damn cool as it stands now, and once [Henrik] includes checking current and voltage in each component his project may actually be useful.
Hey, it’s a hardware twofer! Here’s two platforms coming down the pipe:
First up is the Mimo Dreamplug, the latest in a continued expansion of choices for very tiny, single-board Linux computers. The Dreamplug should be extremely capable of just about any task you can throw at it. With a 1.2GHz Marvell Sheeva CPU, eSATA, fiber optic/TOSLINK, WiFi, Bluetooth, two Gigabit Ethernet connections, and 512 MB of RAM, we’re thinking this could be used for just about anything. It’s a little pricy at $250, but that’s what you pay for all those features.
No idea when it will be available, though. Never mind, you can get the same thing for $150 here. Thanks, [Scott].
Next up is the Kinetis KL25Z Freedom Board, an Arduino-compatable, Cortex-M0+ based dev board being made available for pre-order. The specs on this machine seem pretty good – with a 48MHz ARM chip, on-board accelerometer, a capacitive touch ‘slider’ built into the PCB, and OpenSDA for a USB debug interface, you should be able to make a few cool projects with this board. As a neat bonus, it costs $13, and Freescale is giving away a version of their Codewarrior development environment (limited to 128kB, but that’s all the Flash the Kinetis has). Hopefully, it’ll be a much more open development platform than what our own [Mike Szczys] has been able to wrangle from the STM32 board that has been floating around. The Kinetis should be available this fall.
Thanks [Impulse405] and [Hussam] for sending these tips in.
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”
If you’re on the fence about 3D TV and related technologies [Anton B.] might be able to help you decide. No, he’s not going to shove pamphlets in your face and explain why its the wave of the future. Rather, by showing the hack-ability (its a word) of 3D shutter glasses. A simple bridge of wire across specific contacts can ‘trick’ the glasses into only displaying only the left or right picture.
Wouldn’t that make it just a regular 2D TV again? Yes, that’s the beauty of it. Person A could be watching a completely separate movie pr0n than person B, but all on the same TV. Or two people could be playing a video game, without dividing the screen in half. The only problem is the current lack of software that can interlace movies/games, who’s up for writing some C++ this weekend?
It’s inevitable. You knew it, we knew it, and while this is being posted on April 1st; its no joke. [johndavid400’s] Core3Duino. As we mentioned before, with the additional Arduinos you have now 3 separate processors, allowing 24digital IO, 18 PWM, 18 analog inputs, and more.
Now to keep flamers at bay (calm down), we’ve combined this post with the introduction of xDuino. Yet another attempt at porting Arduino to separate hardware platforms. For the price of a Duemilanove you can have 5 serial, 48 IO, 18 analog, 68Kbytes of Ram and more!
Often, hardware designers include nonfunctional additions into designs to make them feel more personal. Commonly known as easter eggs, these additions can often go unnoticed by the public for years. While taking apart an Atari San Francisco Rush: The Rock sound board, reader [Jason] noticed a hidden message on the PCB (see above). Other more recent hardware easter eggs include the inside of the Zune HD, which has the inscription “For our Princess” to commemorate a development team member who passed away, or the Amiga 1000 which features the signatures of the design team on the inside if the case (Pictures after the break).
What we want from you: We want to see the best HARDWARE easter eggs you have found or seen. Leave us a comment with a video, picture, or article that explains what you found, and possibly the background story behind it. Anyone can google easter eggs, and we all know about the easter eggs all over DVDs, video games, etc, but we prefer the kind you find when you are busy voiding your hardwares warranty.
Edit: good catch, that was the Amiga 1000 not an Atari 1000. Thanks to all the commentors.
Continue reading “Easter Egg Challenge”