Interview: New Mill CPU Architecture Explanation for Humans

Hackaday had an amazing opportunity to sit down with [Ivan Godard] who discussed the Mill CPU development which his company — Out of the Box Computing —  has been working on for about a decade. The driving force behind Mill development is that optimizations to existing architectures can only get you so far. At some point you need to come up with a new processor that builds on success and failure of its predecessors.

Ivan’s team has put out several lecture videos linked from their site that dig really deep into the inner workings that give Mill an advantage over currently available chips. We covered one of them recently which prompted [Ivan] to reach out to us. But what if you aren’t working on your advanced degree in semiconductor design? Our interview certainly isn’t for the laymen, but any engineering enthusiast should find this a refreshing and delightful conversation. After the jump you can see the first two installments of the four part interview.

[Read more...]

Battery Backup for RasPi Keeps Your Data Safe


We’ve all raised a clench fist in anger over lost data, and it’s usually the result of unjustified optimism and lack of planning. [George] shared his solution that prepares for the worst: a circuit that provides backup power to a RasPi and its hard drives. [George's] Pi setup runs as both an Apple Time Machine server and a website backup server, and a power outage could corrupt the data stored on the Pi’s attached hard drives.

Rather than turn to commercial solutions, however, [George] wanted to take advantage of the Pi’s low power consumption and create an inexpensive custom circuit that would safely and automatically power down the devices upon loss of power. To detect a power failure, the build connects one of the Pi’s GPIOs to an opto-isolator, which—through a zener diode—connects to the 12V wall adapter: though [George] welcomes suggestions for alternative methods of safely identifying a mains power loss. The rest of the circuit serves as a trickle charger for the two attached 9V batteries and as a regulator to supply the correct voltage to the RasPi. Power MOSFETs connected to a GPIO handle the delayed power off.

You can view (and edit!) the circuit online here and find the relevant source code on [George's] website. If you want to build your own RasPi file server, try cramming all the parts into an old optical drive enclosure.

Real-Life Raspi-Controlled Redstone Lamp


Minecraft fanatics keep finding impressive ways to bring 8-bit components into the real world, and [Chris Tompson's] Redstone Lamp Replica is no exception. [Chris] wanted to extend his connection to the game world by not only replicating this block, but also by controlling its light-up effect when an in-game cube is lit.

The lamp is a product of the gang at Hive76, who worked together to develop a quick prototype using the Minecraft Python client pyCraft, an Arduino, a transistor and a temporary papercraft lamp mockup. Hive76 member [Kyle] pitched in to write the plugin for pyCraft, which listens for an on/off message and sets one of the RasPi’s GPIO pins accordingly. The hardware for the actual lamp was designed to smooth out the 8-bit quality into something a bit more precise. The result are laser-cut pieces of MDF with a zebra wood veneer laminated on top. The interior was finished off with amber cathedral glass and then the cube’s sides were glued together. The RasPi, PCB and LEDs fit inside, all snugly affixed together.

Swing over to the Hive76 project page for more details and links to the plugin, and see the video demonstration below. For another Minecraft-inspired real-life project, check out [Bill's] take on the BatBox.

[Read more...]

ASAP 3 – The Almost Simple As Possible Computer

ASAP-3 12 - LED Display

[Pong] has joined an elite club of people who have designed and built their own computer – including a CPU created from discrete 7400 series logic. His computer is the  Almost Simple As Possible Computer 3 (ASAP-3). ASAP-3 is not a completely new design. The architecture is based upon the SAP series of computers from Albert Malvino’s book, Digital Computer Electronics. [Pong] looked at quite a few of the “modern retro” computers such as Magic-1Big Mess o’ Wires 1, and the Duo. These computers were beyond his skill levels back then, so he began to build his own system. His primary design goal was to be able to run a 4 function calculator program.

One thing that can’t be stressed enough is the fact that [Pong] made his design work much easier by using lots of simulation. His tool of choice was Proteus Design Suite. While simulation can’t solve every problem, it can often help in verifying that a given design is sound. The ASAP-3′s instruction set is microcode, based upon the 8085 series instruction set. The microcode itself is stored on Flash ROMS. Using microcode makes ASAP-3 very flexible. Don’t have a machine instruction you need? No problem – just write one up. When all was said and done, [Pong] had over 100 instructions spread over 3 Flash ROM chips.

The hardware was only half the battle – [Pong] found writing the software just as challenging. He wrote all the software by hand in his own machine code. This is where the simulation mentioned above really saved him some time. Even with simulation he still ran into some problems. The ASAP-1 is limited to a clock speed of around 500kHz. Above that, glitches from the ROM chips start triggering the asynchronous inputs in some of the registers. [Pong] doesn’t have a logic analyzer on hand, so he wasn’t able to track this one down further. He also found a (update simulation only) issue with the carry bit on the 74LS181 bit slice ALU. In certain circumstances the carry bit would not propagate correctly. [Pong] corrected this by using a ROM as a look up table replacement for certain ’181 functions. Even with these limitations, this is still a great hack!

[Read more...]

Turn a PC on with a Knock and an ATTiny


Pressing the power button on your computer usually isn’t too much trouble, unless your computer is stored away somewhere hard to reach. [Joonas] has been hard at work on a solution that would also impress his friends, building a knock sensor to turn on his PC.

For around $10 in parts he put together an ATTiny45 that emulates a PS/2 device, which takes advantage of his computer’s ability to boot upon receiving PS/2 input. The build uses a Piezo buzzer and a 1M Ohm resistor as a knock sensor exactly as the official Arduino tutorial demonstrates, and one of those PS/2-to-USB adapters that are most likely lurking in the back corner of every drawer in your office.

[Joonas] used AVRweb to disable the 8X clock divider so there’d be enough clock cycles for PS/2 communication, then loaded some test code to make sure the vibrations were being detected correctly. You can check out his Github for the final code here, and stick around after the break for a quick video demo. Then check out a similar hack with [Mathieu's] home automation knock sensor.

[Read more...]

VT100 Gets BeagleBoned


How do you make a great terminal even better?  The answer is simple: add a BeagleBone Black to it! [Brendan] got his hands on one of the staples of classic computing, the DEC VT100 terminal.  The VT100 was produced from 1978 to 1983. The terminal was so widely used that it became the standard for other terminals to emulate. Open any terminal program today and chances are you’ll find a setting for VT100 emulation.

[Brendan] originally hooked his terminal up to a laptop running Linux. The terminal, cables, and the laptop itself became quite a bit to manage on a small desk. To combat this he decided to add a BeagleBone Black inside the terminal case. It turns out the VT100 actually lends itself to this with its Standard Terminal Port (STP) connector. The STP was designed to add a “paddle board” in-line with the serial stream of the terminal. DEC and third party manufacturers used this port to add everything from disk drives to entire CPM computers to the VT100.

[Brendan] began by designing a board to interface between the VT100 and the BeagleBone. The board level shifts serial lines from the BeagleBone to the VT100. The STP also allows the terminal to provide power to the BeagleBone Black.  He did notice some power glitches as the supply of the VT100 came up. This was solved with a standard TI TL77xx voltage supervisor chip. The hardest part of the entire design was the card edge connector for the STP. [Brendan] nailed the dimensions on the first try.  In the end [Brendan] was rewarded with a very clean installation that didn’t require any modification to a classic piece of hardware.

We should note that most PCB houses use Electroless Nickel Immersion Gold (ENIG) as their standard coating. This will work for a card edge connector that will be plugged in and removed a few times.  Cards that will be inserted and removed often (such as classic console cartridges) will quickly scrape the ENIG coating off. Electroplated Gold over Nickel is the classically accepted material for card edge connectors, however the process most likely is not going to come cheap in hobbyist quantities.

More Drive Bays, Cooling, and Power for a DIY Raid Box


We’ve actually been on the look-out for a Network Attached Storage solution for home use. We want an embedded option just for power saving, but have you seen what a commercially available embedded RAID systems costs? It might be better to find an energy friendly PSU and use it in a PC case RAID conversion like this one that [Samimy] pulled off. He started with an old computer case and modded it to house more hard drives.

The image above shows his mounting scheme. Most of us have defunct optical drives in the junk bin. Many times they end up as a way to play with CNC, but in this case [Samimy] got rid of the guts and used a couple of angle brackets to mount a hard disk inside of the enclosure. Now that he can bolt more drives to the case he needed to power them, as the PSU didn’t have enough SATA power connectors. He clipped off a daisy-chain of connectors from a broken supply and spliced it into this one. Finally he cut a hole in the top of the case to add a bit more cooling to the system.

He’s using Windows 7 to power a RAID0 and RAID1 array using four drives. To help increase performance of the system he also used USB thumb drives as cache. This is something we’re not familiar with and we’re glad he provided a link to ReadyBoost, the software which makes it possible.

[Read more...]