This is [Pierre Cauchois’] digital weather display. Since weather displays are ubiquitous in this day of smart phones in every pocket he went out of his way to give it a unique look. He started with a wooden voltmeter case, swapping the ancient display for a modern LCD screen.
He used Gadgeteer components for the retrofit. The images for the LCD are stored on an SD card and displayed on demand. Since the digital bezel will be the same no matter what the time or environmental conditions [Pierre] used the power of the .NET framework that drives the system. He made up an image using magenta for all of the dial openings. This way a sprite can be used just for the changing numbers, weather icon, and graphing area.
Looking at all that went into coding the project we think the Gadgeteer components are perfect for those that are well-versed in upper-level languages and don’t really want to deal with low-level microcontroller issues.
[Joby Taffey] takes the prize for the first completed homebrew game for the IM-ME. Over the last few weeks we’ve seen [Travis Goodspeed] working with sprite graphics, and [Emmanuel Roussel] developing game music for the pink pager. But [Joby] didn’t really use either of those.
[Travis’] sprites were using a framebuffer that fills up a lot of valuable RAM. [Joby] decided to draw the room screens (all of them have been stitched together for the image above) as a one-time background image to keep the memory free. From there, the screen is updated in 8×8 blocks based on cursor movement. He also decided not to add music as he feels the high-pitched piezo is not capable making sound without driving everyone crazy.
Source code is available and for those of you who don’t own this pretty handheld, the game can also be compiled in Linux.
Here’s a study in sprite animations that [Travis Goodspeed] put together. He’s working with one of his favorites, the pink IM-ME device that he’s been hacking on for a while now. But if you don’t have this hardware that shouldn’t discourage you. There’s a lot to be learned from his methods which will translate to any microcontroller working with a graphic LCD.
He starts with a 24-bit PNM sprite that includes three frames of his desired animation. From there he needs a way to store the data for use with 8-bit microcontrollers. He chose to write a Perl script that will translate the image format into a 1-bit map. Each frame of the animation takes up a column width that is a multiple of 8 for easy retrieval by the processor. This translation into a C array, and the accompanying code that translates it into data for the frame buffer is the key to the animation process. What is he shooting for? A sprite-based video game on the handheld.