We’ve had our eye on [davedarko’s] LAMEBOY project for a while now, a handheld setup in roughly the same form factor as the classic Nintendo Game Boy. It’s remarkable how approachable portable electronic design has become, and that’s really what makes this interesting. The design is beautiful, and the closer you look, the more respect you have for what [dave] is doing.
Right now his proof of concept has a 3D printed enclosure whose face is the printed circuit board. We love how the lower left corner of the PCB slips under a pocket in the case, which makes it possible to use just one screw to secure the two together in the upper right.
The LAMEBOY is built around an ESP8266 module. Anyone who has used one knows this chip contains a fair amount of horsepower, but very little I/O. [Dave] has a lot going on with an LCD screen, six user buttons, a USB to I/O chip, and an SD card slot. He took two approaches to solve this dilemma. First he grabbed a PCF8574 port expander, and second he’s offloaded the color control of the screen backlights to an ATtiny85 (running a BlinkM clone).
Below you can see some early game tests on the perfboard prototype. We haven’t seen game play on the most recent prototype (there is a screen color test video in his latest project log) but it sounds as though [dave] plans to make use of the Gamebuino framework. This should mean that there will be no shortage of cool ROMs to load.
Continue reading “LAMEBOY is Handheld Gaming on the ESP8266”
[Tech2077] is one of the lucky ones who already got his hands on a Raspberry Pi. He’s been looking into different interface options with the GPIO header and just posted a guide to using an HD44780 character display with the RPi. We like this approach because instead of doing some hard-core LCD work he’s using prototyping equipment you probably already have on hand.
Getting a character LCD running should be really simple. The gotcha is the logic level gap between the devices. If you’ve been working with Arduino, your add-ons are probably meant for a 5V power rail and logic levels. The RPi outputs 3.3V logic. You could use a level converter (you’d need at least 7 pins to be converted in this case) or you can be a bit more clever. [Tech2077] grabbed an I2C port expander that uses just 2 of the RPi lines to address even lines of the display (four data bits plus three control bits). This is a bit of a hack, as the 3.3V logic is 0.2V below the recommended minimum for a digital 1 on the port expander. But it seems to work just fine! If it didn’t, a couple of NPN transistors would do the trick as well.
Addressing the new peripheral is just a matter of loading the i2c module and writing some Python.
Sometimes a project has more sensors, buttons, or LEDs than your microcontroller has pins. The PCF8574 is an easy way to add 8 low-speed input or output pins to a microcontroller. A configurable address lets multiple PCF8574s exist on the same bus, so two microcontroller pins can control dozens of IO pins. We’ll show you how to use this chip below.
Continue reading “Parts: 8bit IO Expander (PCF8574)”