Meggy Jr RGB is a new kit that we designed as a platform to develop handheld pixel games. It’s based around a fully addressable 8×8 RGB LED matrix display, and features six big fat buttons for comfy game play. The kit is driven by an ATmega168 microcontroller, and you can write your own games or otherwise control it through the Arduino development environment. Meggy Jr is fast, programmable, open source and hackable. And fun.
A unique feature of Meggy Jr RGB is that it is designed to be mounted inside a “handle set” — a wooden or plastic case that’s safer and more pleasant to hold than a bare circuit board. You can make, mod and customize your own handle sets to suit your taste– These are like faceplates in that you can switch whenever you want to suit your mood or the game that you’re playing, however different handle sets can radically change what the Meggy Jr looks and feels like. Above, you can see what our basic handles (left) look like, as compared to a set of custom smoke-colored batwing handles (right).
You can design your own custom handles, starting from our templates– either to make them on your own or to have them fabbed by laser shops like Ponoko or Pololu. (Ponoko in particular offers some veryinteresting materials to make cases out of, like felt and bamboo!)
You can download the two handle designs shown above as PDF and Inkscape SVG files here (780 kB .ZIP file). Each handle design consists of a sandwich of two pieces of material that go above and below the circuit board. For a perfect fit, fab the front piece (the carapace) from 0.24″ thick material (or slightly thinner), and the back piece (the plastron) from 0.12″ (or so) thick material.
The Meggy Jr RGB printed circuit board, fabbed in white with black printing. A lot of the small components are mounted underneath the LED matrix display– it’s a big space saver. The two big chips under there are STP16DP05B1R LED driver chips. Up above the display are eight extra programmable LEDs that can be used for displaying extra data– like lives, score, ammo, or level. There’s also a little buzzer that can make appropriate bleeps buzzes and bloops, and a 16 MHz crystal oscillator.
Beyond the display, buttons, and interfaces, there are some less obvious features on the board. If you are not using the buttons at a given moment, those six inputs to the chip can be repurposed as analog or digital inputs or as digital outputs, and access points are provided. Also, the serial port TX and RX lines are not utilized while running the LED matrix, which means that they are available for turning Meggy into an ambient data device, or whatever else might come to mind. This is an open source hardware project, so you’re welcome to hack it. Start by downloading the schematic here (64 kB PDF file).
You can also download the circuit board design here (114 kB .ZIP file. The circuit board was designed in gEDA PCB– free, open-source printed circuit board software.) We are releasing the design for this board under open source licenses and under a creative commons license as well.
Meggy Jr RGB is designed to be programmed through the popular Arduino software environment, when you hook it up to your computer with an FTDI USB-TTL cable (shown above). This is the same programming arrangement that you’ll find on some of the popular Arduino-compatible boards such as the Boarduino and Bare Bones Boards (not to mention Peggy 2.0). And of course, Meggy Jr RGB also supports programming through a regular AVR ISP (in-system programming) connection, such as the USBtinyISP.
The first version of the Arduino library for Meggy Jr RGB has been uploaded and is now available as open source project through Google Code. This library provides fast interrupt-based screen redraw, multiple brightness levels, simple functions to write data to a video buffer, and example programs. (Additional example programs will be added soon.)
The 8×8 LED matrix is able to produce a pretty good range of colors. While it’s probably not suitable for displaying video (or true colors of any sort, really) it works extremely well for its intended purpose– displaying brightly colored pixels for games or the display of information. This would make an excellent computer-controlled status display. Or disco floor for your Lego minifigures.
- Meggy Jr RGB at the Evil Mad Science Shop
- Meggy Jr RGB documentation on the Evil Mad Science Wiki
- Arduino download page. Arduino 0012 (or newer) is recommended for Meggy Jr development.
- Meggy Jr RGB Arduino Library download page.
- Meggy Jr RGB Kit build instructions. (3.9 MB PDF file. If using Acrobat to view PDF files, you may need the latest version to see all of the images.)
- Information about Programming Meggy Jr.
- How to make a Meggy Cozy.
- How to make a Meggy Link Cable.