Tag Archives: game console

Arduino wireless joystick

taifur has posted great instructions about how he built an Arduino powered wireless joystick that can be used as a console for playing PC games. His design features a joystick module and 5 buttons, with which you can control the mouse cursor as well as implement any 5 keyboard functions (such as W, A, S, D and Space are the most commonly used keyboard buttons for games).

Arduino wireless

Arduino wireless joystick

My Arduino wireless joystick has two parts. One is receiver which will be connected to PC via USB port. Another is transmitter and this is the actual joystick in your hand. As I mentioned earlier, Receiver unit should contains 32U4 comes equipped with a full-speed USB transceiver. For the purpose I used cool & tiny Pro Micro from Sparkfun. You may used others variant like Arduino Micro or DUE.

ATtiny keychain game console

This tiny keychain game console is pretty neat and is based on ATtiny85 and and a SSD1306-driven OLED screen. The author has also shared the code for the UFO Escape game for this console.

ATTiny85 game console

ATTiny85 game console

I finally had some free time to make something fun and decided to write a new game for the Attiny85 ssd1306 keychain.  I reused the sleep, display and interrupts code from the “Breakout” game I created a while ago.

This time I wanted a more addictive game. The game had to be playable using just the two buttons. I thought a racing game might be a good choice but the landscape screen is more suitable for a side-scroller. So I settled for an obstacle avoiding side scroller. Similar games include the recent Flappy Bird, Nyan Cat and many variations of the Helicopter game.


Demo video.

PIC24-based game console

Voja antonic‘s single chip game console is based on PIC24EP512GP202 microcontroller, a 16-bit Microchip’s MCU which is programmed to generate the VGA signal, music and sound effects for playing Jumping Jack.

Single chip game console

Single chip game console

As the video signal and the corresponding sync signals are generated by software, the console contains a minimum of hardware. There is also an audio signal output with five binary tone channels, mixed by a passive resistor network. Two of those channels are used for sound effects, similar to ones used in video games of that time (early eighties) and three for background music. This output is capable of driving line output for PC speakers or headphones.

It should be noted that there is no video processing unit, PGA or any special purpose chips, and that PIC microcontrollers are not designed for video signal generation. Everything is achieved by a series of different design tricks and some compromises. As te game does not run on PC but on stand-alone unit, screenshots are taken by camera from VGA monitor or directly from Photoshop, which was used in bitmaps creation process.

Video and audio generators, which are the vital parts of the firmware, are the parts of the operating system, which will soon be documented, and can be used for any other game or application. As the timings are critical, those parts are written in assembly language, but all the other parts of the program (scenario for some other games or any other application) may also be written in some other programming language, preferably Microchip’s C. In this case all parts are written in Assembler, but only as a result of author’s preference.