[ch00f] managed to capture some holiday spirit this year by translating all of A Christmas Carol to scrolling text. Dickens’s work has long since entered public domain, which led [ch00f] to wire up a GeekCatch programmable display from Amazon. It has a low refresh rate, which means videos look a bit goofy, but it’s perfectly acceptable for text. [ch00f] ditched the remote control and instead used the display’s serial connection to program in the novella. Unfortunately, he could not find any documentation for the serial protocol, but he was able to reverse engineer it with some freeware applications found online.
It takes over six hours for the sign to spit out the entirety of A Christmas Carol, which easily surpassed the display’s limited text buffer. [ch00f] instead had to send text to the display one paragraph at a time via a custom Python script. This solution takes advantage of the sign’s fixed-width font to estimate the time it takes for each character to scroll by, then immediately feeds the sign a new line.
Check out the blog post for a quick teardown of the display itself and for a detailed description of the protocol in case you decide to use this display for a project. Stick around for a video below!
Continue reading “Serializing Dickens to LEDs”
[Jan] works with both physically and mentally disabled individuals, some of whom cannot read, making many of their tasks more difficult. Although [Jan] is not in a position to teach reading or writing skills, he was able to build an add-on device for the scales used in repackaging sweets to provide simple feedback that the user can interpret.
The device has three LEDs—red, green, and yellow—to indicate the package does not weigh enough (red), weighs too much (yellow), or lies within an acceptable range (green). The industrial scales at [Jan’s] workplace each have a serial output to connect to a printer, which he used to send data to the device. An ATMega8 controls the lights and an attached LCD, with the usual trimpot to change the display’s contrast and a rotary encoder to adjust the device’s settings. Everything fits snugly into a custom-made frosted acrylic enclosure, laser-cut at a local hackerspace.
[Jan] provides a rigorous guide to approaching each step on his Instructables page, along with source code and several pictures. See a video overview below, then enjoy another scale hack: building one from scratch.
Continue reading “Hacking Digital Scales for the Disabled”
If you’re using an AVR microcontroller and you’d like to add USB to a project, there are a lot of options out there for you. Both LUFA and V-USB add some USB functionality to just about every AVR micro, but if you’d like a native serial port, your only options are to look towards the USB-compatible Atmel micros.
[Ray] looked at the options for adding a USB serial port and didn’t like what he saw; seemingly, this was an impossible task without a second, more capable microcontroller. Then he had an idea: if the goal is only to transfer data back and forth between a computer and a microcontroller, why not write an HID-class USB serial port?
[Ray] based his project on The V-USB library and created a new HID descriptor to transfer data between a micro and a computer. While it won’t work with a proper terminal such as Putty, [Ray] managed to whip up a serial monitor program in Processing that’s compatible with Windows, Linux and OS X.
In the video below, you can see [Ray] using an ATmega328p with a standard V-USB setup. He’s transferring analog values from a photoresistor as a proof of concept, but just about everything that would work with a normal serial port will work with [Ray]’s library.
Continue reading “Serial USB for Any AVR Microcontroller”
[Joe Grand] has come up with a tool which we think will be useful to anyone trying to hack a physical device: The JTAGulator. We touched on the JTAGulator briefly during our DEF CON coverage, but it really deserves a more in-depth feature. The JTAGulator is a way to discover On Chip Debug (OCD) interfaces on unfamiliar hardware.
Open any cell phone, router, or just about any moderately complex device today, and you’ll find test points. Quite often at least a few of these test points are the common JTAG / IEEE 1149.1 interface.
JTAG interfaces have 5 basic pins: TDI (Test Data In), TDO (Test Data Out), TCK (Test Clock), and TMS (Test Mode Select), /TRST (Test Reset) (optional).
If you’re looking at a PCB with many test points, which ones are the JTAG pins? Also which test points are which signals? Sometimes the PCB manufacturer will give clues on the silk screen. Other times you’re on your own. [Joe] designed the JTAGulator to help find these pins.
Continue reading “JTAGulator Finds Debug Interfaces”
We’re changing it up this week with a reverse engineering fail which [Itay] pointed out to us. A couple of years ago [Nate] over at Sparkfun agreed to help a friend with a project that required precise distance measurement. He knew that laser rangefinders are a good way to go and mentions their use in golfing and the building trades. He picked up this handheld version billed as a laser tape measure. He put up a valiant effort to reverse engineer the PCB in hopes of finding a hook for the measurement data.
Obviously his endeavor failed or we wouldn’t be talking about it in this column. But there’s a lot to learn about his methods, and a few of the comments associated with his original post help to shed light on a couple of extra things to try.
Continue reading “Fail of the Week: Capturing Data from a Laser Rangefinder”
[Mustafa Dur] wrote in to tell us about his hack to control the television with a smartphone. Now the one-IR-remote-to-rule-them hacks have been gaining popularity lately so we assumed that’s how he was doing it. We were wrong. He’s using his satellite receiver to provide the Internet connection. It pushes commands to his LG 47LH50 TV which has an RS-232 port.
The image above is the back of another LG television (it came from a forum post about controlling the TV with a PC). [Mustafa] is using a Dreambox DM800 satellite receiver which also has a serial port an he can telnet into it. He searched around the Internet and discovered that it should be possible to connect the two using a null modem cable. His initial tests resulted in no response, but a tweak to the com port settings of the box got his first command to shut off the television. After a bit of tweaking he was able to lock in reliable communications which he made persistent by writing his own startup script. From there he got to work on a Python script which works as the backend for a web-based control interface.
If you want to find out what else you can do with this type of serial connection read about this hack which used a script to try every possible command combination.
On a shopping trip at Aldi [Aaron Christophel] came across this Medion streaming device which connects to your home network via WiFi and works as an Internet radio. He couldn’t resist buying one, and managed to do quite a bit of hacking on the device (translated) once he got it home.
His first order of business was a hardware teardown. An inspection of the board showed what was obviously an unpopulated footprint for a USB mini jack. He added the component, thinking it would allow him to connect it to a computer, but that didn’t work. To investigate the issue further he connected to the device’s serial port using the hard-to-guess credentials root and password. It’s running a Linux kernel and the lsusb command revealed that the USB is enabled as host mode. This mean you can attach mass storage… sweet!
He also did some firmware hacking. Above is the confirmation screen for flashing his altered image file. This resulted in a custom splash screen when it boots up.