Reverse-engineering Old Finnish Metro Station Displays

This project definitely was a patience tester. As the control system of the Helsinki metro was (and still is) under big renovation, [Konsta] could buy three old information displays for a very cheap price (5€ each). However, these displays came with no information whatsoever about the way to drive them, thus starting a long reverse-engineering journey.

[Konsta] started by taking one apart, discovering that each side of the display was composed of 10 daisy-chained LCD screens and some kind of control box. As you may have guessed, the key to reverse engineering the display was studying the contents of this box. It turned out that the control electronics were composed of an 8085 CPU, some RAM, a peripheral I/O chip, an UV-erasable EPROM chip (containing 32KB of program memory) and an EEPROM.

[Konsta] used an AVR to dump the memory contents of the two latter chips and it was at this part of the project that the Helsinki Hacklab joined in. Together, they reverse engineered the control PCB, studied the assembler code, sniffed the different on-board buses to fully understand how the display could be controlled.

We strongly recommend reading [Konsta]’s writeup, especially knowing that he made this english page just for us!

[Massimo] Talks About Arduino Clones

pick one

Back in 2005, the Arduino was just a twinkle in they eyes of [Massimo Banzi] and the other core developers. Since then, you can’t go to any electronics site without hitting something beginning with ‘ard~’ or ending with ‘~duino’. The platform has become so popular, people everywhere are piggybacking on the name to the point of trademark infringement or simply outright counterfeiting one of the many official Arduino boards. Now [Massimo] has something to say about these clones, ripoffs, derivatives, and ‘duino-compatible boards.

On the list of things bad for the open source ecosystem, [Massimo] points to direct clones of existing Arduino boards. While these boards are electrically identical to officially licensed boards, they simply don’t support the Arduino project financially and usually don’t contribute to the existing libraries and code. Even worse are counterfeits; these boards copy the trademarks of the Arduino project – sometimes terribly given the three examples above (guess which one is the real one) – and directly profit off of the Arduino project without giving any support in return.

There are other veins of Arduino that [Massimo] considers more acceptable. Arduino-compatible boards, seen by the dozen over on Kickstarter, usually add something of their own, be it a radio chip, or an entirely different microcontroller. Derivatives, like Teensy and Adafruit’s Flora actually bring new things to the table with improved hardware and new and interesting libraries.

As far as counterfeits and clones go, we can’t agree more with what [Massimo] has to say. You have to admire the folks in the Arduino project being so open about their creations and admiring the Arduino derivatives that bring some new hardware to the table. Then again, that’s the lesson of the Arduino project; you can make hardware open source and still be outrageously popular.

Adafruit Builds The Back To The Future Time Circuit Display

back-to-the-future-time-circuit-clock

If you were growing up in the ’80s this display panel will be instantly recognizable. It’s the time circuit display which [Doc Brown] built into his 88 mph per hour DeLoren time machine. If this still doesn’t jog your memory (or if — *gasp* — you’ve never seen the movie Back to the Future) take a gander at the montage video below.

The thing is, if you look really closely you’ll find this isn’t an exact match. Hackaday alum [Phil Burgess] put together a guide for Adafruit that shows how to build this version. But the movie actually cheated when it came to the month display. In production the month was displayed as alpha characters by painting glass slides. To make that happen here you would need some sixteen segment modules (like in this project). But we don’t mind the change one bit. The nostalgic look stands on its own even if it’s not an exact replica.

We’re sure you’ve figured out by now that this is backed by a dead-accurate real time clock (chronodot) and powered by a Teensy microcontroller board. Which means you can use it for just about any of your timekeeping needs.

Continue reading “Adafruit Builds The Back To The Future Time Circuit Display”

A Custom Starcraft Keyboard

keybaord

What do you do if you’re looking for a project, but don’t know what to do? If you’re [gltovar], just look around at your hobbies. He’s been playing Starcraft for a while and finally decided to build a custom Starcraft keyboard.

[gltovar] came across an interesting keyboard layout known as TheCore. Ostensibly, this layout allows the player faster access to the commands most used when playing Starcraft. [gltovar] decided he needed a keyboard specifically designed for TheCore, and set about making one of his own design.

The keyboard matrix is designed around a 1×5 row of keys, each attached to a Teensy microcontroller acting as a USB device. Each of these rows are a separate circuit board, allowing [gltovar] to move the rows up and down ergonomically in a custom enclosure.

It’s everything [gltovar] wanted in a custom keyboard. Whether it improves his Starcraft game is another story entirely, but we’re sure he’s at least having fun.

Continue reading “A Custom Starcraft Keyboard”

Benchmarking USB Transfer Speeds

boards

[Paul Stoffregen], creator of the Teensy series of microcontroller dev boards, noticed a lot of project driving huge LED arrays recently and decided to look into how fast microcontroller dev boards can receive data from a computer. More bits per second means more glowey LEDs, of course, so his benchmarking efforts are sure to be a hit with anyone planning some large-scale microcontroller projects.

The microcontrollers [Paul] tested included the Teensy 2.0, Teensy 3.0, the Leonardo and Due Arduinos, and the Fubarino Mini and Leaflabs Maple. These were tested in Linux ( Ubuntu 12.04 live CD ), OSX Lion, and Windows 7, all running on a 2012 MacBook Pro. When not considering the Teensy 2.0 and 3.0, the results of the tests were what you would expect: faster devices were able to receive more bytes per second.  When the Teensys were thrown into the mix, though, the results changed drastically. The Teensy 2.0, with the same microcontroller as the Arduino Leonardo, was able to outperform every board except for the Teensy 3.0.

[Paul] also took the effort to benchmark the different operating systems he used. Bottom line, if you’re transferring a lot of bytes at once, it really doesn’t matter which OS you’re using. For transferring small amounts of data, you may want to go with OS X. Windows is terrible for transferring single bytes; at one byte per transfer, Windows only manages 4kBps. With the same task, Linux and OS X manage about 53 and 860 (!) kBps, respectively.

So there you go. If you’re building a huge LED array, use a Teensy 3.0 with a MacBook. Of course [Paul] made all the code for his benchmarks open source, so feel free to replicate this experiment.

Mac EFI PIN Lock Brute Force Attack (unsuccessful)

[Oliver] wiped the hard drive from a Macbook Pro using the ‘dd’ command on another machine. This does a great job of getting everything off the drive, but he was still faced with the EFI PIN lock protection when he tried to put it back into the Mac. You used to be able to clear the NVRAM to get around this issue, but that exploit has now been patched. So [Oliver] set out to use a microcontroller to brute-force the EFI PIN.

You can read his back story at the link above. He had the chance to enter a 4-digit pin before the format process. Now that he’s wiped the drive the code is at least 6 characters long, which is a lot more possibilities (at least it’s numeric characters only!). To automate the process he programmed this Teensy board to try every possible combination. It worked great on a text editor but sometimes the characters, or the enter command wouldn’t register. He guesses this was some type of protection against automated attackers. To get around the issue he added different delays between the key presses, and between entering each code. This fixed the issue, as you can see in the clip after the break. Unfortunately after two 48-hour runs that tried every code he still hasn’t gained access!

Continue reading “Mac EFI PIN Lock Brute Force Attack (unsuccessful)”

Building Huge Displays With LED Strips

Building RGB LED displays is one of the most interesting programming and engineering challenges we see here on Hackaday. Not only do the creators of large displays and LED cubes have to deal with the power requirements of driving a whole bunch of LEDs, but there’s also the issue of getting the frame rate high enough to display video. It’s a non-trivial task, but [Paul Stoffregen] has an interesting solution. He wrote an LED strip library that can control eight meter-long LED strips that can also be used on daisy chained Teensy 3.0 microcontrollers for really large displays.

[Paul]’s LED library works with LED strips based on the WS2811 LED controller IC. These chips are the most common controller chips for the individually controllable LED strips you can find at Adafruit or hundreds of Chinese resellers. The library requires DMA transfer to display images, so if you’re looking to build a ginormous RGB LED display, you might want to pick up a few of [Paul]’s Teensy 3.0 boards

[Paul] also created a Processing app that takes a video file and turns it into serial data for his LED strip library. You can check out a video of this app, library, and a 60×32 RGB LED display after the break.

Continue reading “Building Huge Displays With LED Strips”