Photographing a Display Controller Die

Who doesn’t like integrated circuit porn? After pulling a PCD8544 display controller from an old Nokia phone, [whitequark] disrobed it and took the first public die shot.

As we’ve seen in the past, removing a die from its packaging can be a challenge. It typically involves nasty things like boiling acid. Like many display controllers, the PCD8544 isn’t fully encapsulated in a package. Instead, it is epoxied to a glass substrate.

Removing the glass proved to be difficult. [whitequark] tried a hot plate, a hot air gun, sulphuric acid, and sodium hydroxide with no success. Then the heat was turned up using MAPP gas, which burned the epoxy away.

After some cleaning with isopropanol, the die was ready for its photoshoot. This was done using a standard 30 mm macro lens. Photo processing was done in darktable, an open source photography tool and RAW processor.

[whitequark] plans to take closer photos in the future using more powerful magnification. These high resolution die photos can be useful for a number of things, including finding fake chips and reverse engineering retro hardware.

An External Autofocus for DSLRs

Most modern DSLR cameras support shooting full HD video, which makes them a great cheap option for video production. However, if you’ve ever used a DSLR for video, you’ve probably ran into some limitations, including sluggish autofocus.

Sensopoda tackles this issue by adding an external autofocus to your DSLR. With the camera in manual focus mode, the device drives the focus ring on the lens. This allows for custom focus control code to be implemented on an external controller.

To focus on an object, the distance needs to be known. Sensopoda uses the HRLV-MaxSonar-EZ ultrasonic sensor for this task. An Arduino runs a control loop that implements a Kalman filter to smooth out the input. This is then used to control a stepper motor which is attached to the focus ring.

The design is interesting because it is rather universal; it can be adapted to run on pretty much any DSLR. The full writeup (PDF) gives all the details on the build.

Game Tin: Handheld Games with no Batteries

Anyone who grew up with a Game Boy knows how well they sucked through AA batteries. [Nick]’s Game Tin console solves this problem by running of an ultracapacitor charged by solar power.

The console is based on a EFM32 microcontroller: an ARM device designed for low power applications. The 128×128 pixel monochrome memory display provides low-fi graphics while maintaining low power consumption.

There’s two solar cells and a BQ25570 energy harvesting IC to charge the ultracap. This chip takes care of maximum power point tracking to get the most out of the solar cells. If it’s dark out, the device can be charged in about 30 seconds by connecting USB power.

The 10 F Maxwell ultracapacitor can run a game on the device for 1.5 hours without sunlight, and the device runs indefinitely in the sun. Thanks to the memory display, applications that have lower refresh rates will have much lower power consumption.

The Game Tin is open source, and is being developed using KiCad. You can grab all the EDA files from Bitbucket. [Nick] is also gauging interest in the Game Tin, and hopes to release it as a kit.

Reverse Engineering Star Wars: Yoda Stories

Star Wars: Yoda Stories was released by LucasArts in 1997 to minimal critical acclaim. As IGN said, “like Phantom Menace proved, just because it’s Star Wars doesn’t mean it’s good.” This didn’t stop [Zach] from playing it, and years later, taking an interest in reverse engineering the game.

[Zach]’s reverse engineering of Star Wars: Yoda Stories (google cache) takes a look at the game’s data file. This binary file is parsed by the game at run time to extract sound effects, sprites, and map tiles. Perhaps the best known game data file type was Doom’s WAD file, which had purpose built editing programs from third parties.

After a quick look at the data file in HxD, [Zach] began writing scripts in C# to extract different sections of the data file. Once the sections were found, more code was used to apply a color palette and generate bitmaps.

In the end, [Zach] managed to get a couple thousand tiles of the game’s data. He found some interesting ones, such as the sports car that he replaced the X-Wing with in his mod. The engine for an earlier Lucasarts game, Indiana Jones and His Desktop Adventures, should be very similar, and once we find the Mac install disk and a copy of ResEdit, we’ll post something on Hackaday.io.

A Very Bright LED Jacket

Last year, [Ytai] went to Burning Man for the first time. He was a bit inexperienced, and lacked the lumens to make him visible on the Playa. This year, he made up for it by building an extra bright LED Jacket.

The jacket consists of 48 LEDs, at 150 lumens each. Each RGB LED module was placed on its own PCB, and controlled by the tiny PIC12F1571 microcontroller. This microcontroller was a great fit since it has three PWM channels (one for each color) and costs 50 cents. Firmware on the PIC allows the boards to be daisy-chained together to reduce wiring. This was done by using a protocol similar to the popular WS2811 LEDs.

Assembling 50 of the boards presented a challenge. This was addressed by using surface mount components, a solder stencil from OSH Stencils, an electric skillet, and a good amount of patience. The final cost of each module was about $3.

With 50 of the boards assembled, a two layer jacket was sewn up. The electronics were sandwiched between these two fabric layers, which gave the jacket a clean look. A wrist mounted controller allows the wearer to select different patterns.

For a full rundown of the jacket, check out the video after the break.

Continue reading “A Very Bright LED Jacket”

Running Golang on the Intel Edison

While most embedded development is still done in C and/or assembly, some people are working with more modern languages. The team over at Gobot has successfully managed to get Go running on the Intel Edison.

The Go programming language, which has been around for about five years, compiles to machine code like C. It has a number of modern features including concurrency, garbage collection, and packages.

We’ve looked at the Edison on Hackaday before, and even took a detailed look at the hardware. It features a Quark SoC, Bluetooth, and WiFi, which makes it well suited for connected devices.

Getting Go to work on the Edison hardware wasn’t particularly difficult, since it supports the Pentium instruction set and MMX. However, a library was needed to interface with the Edison’s peripherals. The Gobot team whipped up gobot-intel-iot, which makes it easy to work with GPIO, I2C, and PWM.

After the break, the team demos PWM on the Edison using Go.
Continue reading “Running Golang on the Intel Edison”

THP Semifinalist: NoteOn Smartpen

There are a ton of apps out there for taking notes and recording ideas, but sometimes the humble pen is best. However, if you have the tendency to lose, crumple, or spill caffeinated beverages on your pen and paper notes, having a digital copy is quite nice.

The NoteOn Smartpen by [Nick] aims to digitize your writing on the fly while behaving like a normal pen. It does this by using the ST LSM9DS0TR: a 9-axis inertial measurement unit (IMU). These inertial measurements are processed by a STM32 Cortex M4F processor and stored on the internal flash memory.

To retrieve your notes, the Nordic nRF8001 Bluetooth Low Energy radio pairs the MCU with a phone or computer. The USB port is only used to charge the device, and the user interface is a single button and LED.

The major hardware challenge of this device is packaging it in something as small as a pen. Impressively, the board is a cheap 2 layer PCB from OSHPark. The assembled device has a 10 mm diameter, which is similar to that of ‘dumb’ pens.

The NoteOn doesn’t require special paper, and relies only on inertial measurements to reconstruct writing. With the hardware working, [Nick] is now tackling the firmware that will make the device usable.

SpaceWrencherThe project featured in this post is a quarterfinalist in The Hackaday Prize.