Building a Final Key

Final Key

Remembering passwords is a pain, and there’s a number of devices out there to make it easier. If you’re looking to roll your own, this guide to building a Final Key will walk you through the process.

We talked about the Final Key before. It’s a one button password manager that encrypts and stores your password. It acts as a virtual serial port for configuration. When you hit the button, it becomes a keyboard and types in the correct password.

The creator has no intentions of making this a commercial project for a number of reasons. Instead, easy build instructions are provided based on the Arduino Pro Micro. The 24LC512 EEPROM can be soldered directly to the Arduino by bending out the DIP legs. A few resistors, a button, and an LED finish off the project. The last step is to fill it with hot glue to prevent tampering.

The Final Key firmware is available on Github, and the case can be ordered from Shapeways. If you’re interested in hardware password management, you can also check out the Mooltipass which is being developed on Hackaday.

[Thanks to Lars for the tip!]

What’s Inside a USB Isolator?

Coil Die

 

In this acid powered teardown, [Lindsay] decapped a USB isolator to take a look at how the isolation worked. The decapped part is an Analog Devices ADUM4160. Analog Devices explains that the device uses their iCoupler technology, which consists of on chip transformers.

[Lindsay] followed [Ben Krasnow]‘s video tutorial on how to decap chips, but replaced the nitric acid with concentrated sulphuric acid, which is a bit easier to obtain. The process involves heating the chip while applying an acid. Over time, the packaging material is dissolved leaving just the silicon. Sure enough, one of the three dies consisted of five coils that make up the isolation transformers. Each transformer has 15 windings, and the traces are only 4μm thick.

After the break, you can watch a time lapse video of the chip being eaten by hot acid. For further reading, Analog Devices has a paper on how iCoupler works [PDF warning].

[Thanks to Chris for the tip!]

[Read more...]

Sublime Text as an Arduino IDE

Stino IDE

If you’ve played with an Arduino, you’ve probably been frustrated by the IDE. It works, but it’s not the best editor. It’s especially painful for bigger files and larger projects. The Stino plugin for Sublime Text aims to solve this issue by bringing the full functionality of the Arduino IDE to the Sublime Text editor.

Sublime Text is a powerful text editor with support for most programming languages. What it’s missing is support for compiling and uploading code to an Arduino. Stino bridges that gap. Sublime is a commercial product, and retails for $70 USD. However Sublime does have an indefinite trial period, so Stino can be evaluated for free. Stino itself is an open source plugin written in Python, and you can contribute to the project on Github.

After installing Sublime and Stino, you point the plugin at an Arduino install folder. It then allows you to build and flash directly from the editor. For anyone who’s been frustrated with the Arduino IDE, this looks like a slick solution.

[Thanks to Matt for the tip!]

Sniffing Vending Machine Buses

Sniffing the Multidrop Bus

 

We’ve talked about a variety of protocols and how to deal with them in the past. Today, [Dan] is working on sniffing vending machine Multidrop Bus. The Multidrop Bus (MDB) protocol is a standard used in vending machines to connect devices such as currency collectors to the host controller.

To connect to the bus, interface hardware is required. [Dan] worked out compliant hardware and connected it to an Arduino. With the device on the bus, [Dan] got to work on an Arduino sketch to parse the MDB data into a human-readable format. With that working, the bus can easily be sniffed over the Arduino’s serial console.

This is just the start of a more involved project. Since this protocol is used to communicate with a vending machine’s currency collector or card reader, being able to communicate it would allow him to implement his own payment methods. The plan is to augment the vending machine he operates at Vancouver Hack Space to accept Bitcoin. We’re looking forward to seeing that project unfold.

Raspberry Pi Remote Audio Link

Hardware for remote audio link

 

In broadcast, lots of people are still using dedicated analog lines to connect remote sites. These operate like old telephone systems: you call up the operator and request to be patched through to a specific site. They’re also rather expensive.

For a hospital radio station, [Marc] wanted to replace the old system with something less costly. The result is his Raspberry Pi STL in a Box. Inside the box is a Raspberry Pi, PiFace display, a pair of meters, and some analog hardware for the audio.

On the software side, the system uses LiquidSoap to manage the stream. LiquidSoap uses a language to configure streams, and [Marc] has a write-up on how to configure LiquidSoap for this application. On the hardware side, SSM2142 ICs convert the signal from single-ended to balanced. The meters use the LM3915 bar drivers to control the meters.

The Python script that controls the box is provided, and could be helpful for anyone needing to build their own low-cost audio link.

 

The Hacklet #1

Hacklet Newsletter Issue 1

With the launch of hackaday.io, our project hosting site, we’ve seen quite a bit of interesting hacks flowing in. While we feature some of our favorite projects on the blog, we’ve decided it’s time to start a regular recap of what’s going on in the Hackaday Projects community. We call it The Hacklet, and the first issue is now available.

This installment starts off with information on our Sci-fi Contest and improvements to the Hackaday Projects site. We talk a bit about the various projects relating to the Mooltipass password manager being developed on Hackaday. The Mooltipass has its own project page, but there’s also separate projects for the low level firmware being developed. Next we look at a pair of NFC rings for unlocking Android devices, and finish off with advice on soldering tiny packages.

Check it out and let us know what you think. Our goal is to summarize some of the neat things going on in the community, and we’re always happy to get constructive feedback from the community itself. Or you can flame us… whichever you prefer.

Transcribing Piano Rolls with Python

Piano Roll

 

Perforated rolls of paper, called piano rolls, are used to input songs into player pianos. The image above was taken from a YouTube video showing a player piano playing a Gershwin tune called Limehouse Nights. There’s no published sheet music for the song, so [Zulko] decided to use Python to transcribe it.

First off the video was downloaded from YouTube. This video was processed with MoviePy library to create a single image plotting the notes. Using a Fourier Transform, the horizontal spacing between notes was found. This allowed the image to be reduced so that one pixel corresponded with one key.

With that done, each column could be assigned to a specific note on the piano. That takes care of the pitches, but the note duration requires more processing. The Fourier Transform is applied again to determine the length of a quarter note. With this known, the notes can be quantized, and a note duration can be applied to each.

Once the duration and notes are known, it’s time to export sheet music. LilyPond, an open source language for music notation, was used. This converts ASCII text into a sheet music PDF. The final result is a playable score of the piece, which you can watch after the break.

[Read more...]