AVR Tetris

Tetris, the timeless classic, is one of those concepts that someone will try to run on every conceivable hardware platform. I took on the challenge of programming a Tetris clone from the ground up using hardware I had on hand. At the heart of the build is an ATmega168 microcontroller. The game displays on a KS0108 128×64 LCD module with five momentary push switches to provide directional, rotational, and input controls. You can see the resulting monochrome action embedded after the break.

I had several goals in mind while writing the code for the game.  I wanted the code to be portable so that the size of the board and type of screen used could be easily changed. With that in mind I developed the trunk for a Nokia 3595 cellphone screen and a parallel branch for the graphic LCD. Originally I was working with an ATmega8 but upgraded so that I could operate at the 3.3v the cell phone screen required.

The firmware for the graphic LCD branch compiles to just over 6 kB which means it can still be run on a mega8. Also, the ATmega168 is the same processor used in the Arduino Duemilanove so another Tetris port is not out of the question. I just got a hold of my first Arduino so we’ll see if I find time to start a new branch in the code.

Continue reading “AVR Tetris”

Embedded Games: Rogue

Here’s a handheld version of Rogue. Rogue is one of the first graphical computer games and takes the player through a dungeon-exploring adventure. [Manuel] built this around a PIC 16F876 microcontroller and a KS0108 graphic LCD screen.

Hot on the heels of the pixellated Mario game, these embedded handhelds make for fun projects and great gifts. There are few parts used and [Manuel] etched his own PCB. Take a look at the schematic, this is a great platform to start with but the sky’s the limit on writing your own games.

FPGA Driver For PSP Screen

Friends are constantly giving us their old electronics. We love it because our junk box is a never-ending pile of possibilities. We’re really starting to amass a collection of LCD screens that are not easily interfaced and this project gives us some hope for the future. [Philip] has been posting about using an FPGA as a driver for a replacement PSP LCD screen.

Many projects source cell phone LCD screens that have their own driver chip that can be addressed over SPI for use with a simple microcontroller. More complicated screens need a more involved control scheme and this is where the Field Programmable Gate Array takes over. [Philip] lays out the steps he’s using to implement his controller, from setting up the correct voltage levels, to planning for coordinate addressing, and even some of his follies with reverse current. We think this would be a great way to introduce yourself to FPGA projects.

DS Goes Full Size – Pockets Everywhere Rally In Protest

It’s hard to believe we missed this one from a couple of years back but we’re thankful that reader [Christian] tipped us off about it. This a Nintendo DS with two tablet pc screens being used as an external display. He’s using an FPGA but not to emulate the processor. It is translating the video data from the DS board into usable signal for the larger LCD screens. In the video after the break you can see that pen input has been implemented, with the FPGA sending location data back to the DS.

[Neal], the creator, priced the project out at around $580. It’s worth a lot more considering the know-how needed to get the video scaling and pen input right using the FPGA. It won’t fit in your pocket, but it doesn’t have a case either so it’s not going anywhere anytime soon.

Continue reading “DS Goes Full Size – Pockets Everywhere Rally In Protest”

Gamecube To Go

gamecube-to-go

[Hailrazer] built a handheld GameCube so he could take his gaming with him. The final product is quite nice, providing a large display and about 3 hours of play time on the lithium polymer batteries.

Starting with the case from a Kidz Delight Datamax game, he used Bondo ABS cement and plastic bumper filler to alter the case but still provide a professional look. The display is a five-inch PlayStation One LCD Screen from which he also incorporated the speakers. At least four controllers were cannibalized for use as the buttons, sticks, triggers, and directional pad. Our favorite feature is the totally exposed optical head mounted on the back.

We’ve embedded video as well as a picture of the optical drive after the break. This goes so far beyond just making the GameCube an all-in-one system. If you like this build, check out the Nintendo 64 and Dreamcast mods on [Hailrazer’s] YouTube channel.

Continue reading “Gamecube To Go”

Arduino “python” Integration

vivarium

[Cyberspice] informs us she likes snakes. Hey, who doesn’t? She’ll soon be adopting a lovely ball python and wanted to keep close tabs on the sensitive creature’s environment. To that end she assembled a network-enabled vivarium monitoring system based on Adafruit’s Boarduino (a minimalist Arduino clone), a TMP36 analog temperature sensor, Saelig’s WIZ810MJ Ethernet interface, and a common LCD screen. The Arduino rig periodically issues updates to a web server, which can then generate informative graphs using a set of PHP scripts (what, no Python?).

Okay, so we could probably count on one hand the number of readers in need of fancy reptile monitoring and still have fingers left over. There are countless other applications where networked sensor monitoring of this sort is a frequent necessity, so the article could be a good starting point for your own projects. There’s lots of source code to work with, on both the Arduino and web server sides. And the parts list demonstrates serious frugality: the Boarduino, the generic LCD, and especially the Ethernet interface; even with the breadboard adapter, this unit is about half the cost of the usual Arduino Ethernet shield, leaving more funds available for the snake food budget!

Reverse Geocache Puzzle

fig1-6471

[Mikal] wanted to create an awesome electronic wedding gift for his friend who was moving to France. After experimenting with a few things, he settled on creating a puzzle box that would only open in a certain location. Since his friend introduced him to the Arduino, he fittingly used one in the design, along with a serial GPS module and a mini character LCD. The box itself is locked using a servo-controlled chopstick, which could theoretically be snapped if [Mikal] really screwed something up. To save battery life, he used a small Pololu module to provide power that uses only 0.01 microamps in standby, and can be shut off by the Arduino.

The box was designed to be mysterious yet self-explanatory. When the button on the front is pushed, the box comes to life for 3 minutes, displaying the distance away from secret location. Additionally, it warns how many tries are left: the button can only be pushed 50 times before it is sealed “forever”. In order to open the box, you have to be within 2km of the destination. Theoretically, you can narrow down the location to one of 2 points after 2 readings, but a less scientific approach would probably be a lot more fun.

This seems like an amazing gift, and the same concept could be repurposed into hundreds of other devices. For extra fun, he could have placed it at a geocache location.