Level converters to make all your hardware (5.5V and under) play with each other

txb0108-level-converters-ks0108-stellaris-launchpad

I finally set aside some time for one of my own projects. I have been playing around with ARM microcontrollers a lot lately and wanted to try out my GLCD display that uses the KS0108 protocol. It’s 5V but I had heard that some of these displays will work with 3.3V TTL. But the datasheet tells me otherwise. I tried using a pull-up resistor to 5V and configuring the Stellaris Launchpad pins to open drain, but the low voltage wasn’t getting below the 0.3V threshold needed by my display. My only choice was to use some type of level conversion. I actually ended up driving the KS0108 using a pair of TXB0108 level converters.

I figured this had to have been done before so I check over at Sparkfun. Their offerings are either one-way or have a direction pin that you must drive yourself. I figured there had to be a bi-directional solution and a search over at Mouser led me to the TXB0108. It is exactly what I was looking for and as you can see I etched my own circuit boards to make the TSSOP chips breadboard compatible. I’ve documented the process you can find the code and board files at my post linked above.

Update: one of the Reddit comments mentions this chip is available on a breakout board from Adafruit if you’re interested.

Overclocked ATmega32 gaming

With more pixels and more objects to track you’re going to need to get that AVR running pretty fast to get the job done. But [Vladutz2000] figured why stop at 16 MHz when you can overclock an ATmega32 to 27 MHz for a faster gaming experience?

This build may not be as colorful as Super Pixel Bros, but choosing a KS0108 graphic LCD certainly brings a lot more definition to the images. You can see in the video after the break that the AVR does an excellent job of generating and animating multiple objects. It doesn’t take much to put this together yourself but if you want the board layout done for you, you’re out of luck. The hardware for the project is installed on a PCB that was hand-drawn with an etch resist marker. [Read more...]

Space Invaders clock 6 years ahead of Pong Clock

Space Invaders came out in 1978, six years after Pong. That means this Space Invaders clock uses newer technology, right? Nope, it’s the same hardware as the Adafruit Pong Clock with some updated firmware. Still, as you can see after the break, the effect is pretty nice. Pong was cool, but having a clock that scrolls through several classic games would be cooler.

[Dataman], the guy responsible for this firmware hack shared his code. It should be easy enough to alter it for any clock using a KS0108 graphic LCD screen. So what’s next? Can someone pull off a black and white Ms. Pac-Man that looks decent on the 128×64 display?

[Read more...]

Yet another pong-clock

[PT] let us know that Adafruit Industries has just release a pong clock kit. The $80 price tag might seem a bit steep but it does come with a custom-ordered KS0108 display in order to get white on black like the classic video game, as seen after the break. Also included is the laser-cut case, an ATmega328 microcontroller, RTC, and all the other bits needed to get this working.

We just saw a pong clock built on a breadboard using a KS0108 display but that one used a PIC processor. Adafruit always open-sources their designs and code so you can head over to the kit details page if you already have the hardware on hand to throw this together.

[Read more...]

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.

[Read more...]

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.

Follow

Get every new post delivered to your Inbox.

Join 93,633 other followers