Today's Hardware Friday post isn't another Kinect post... (Yeah, I know you're all sad now...lol. Well if you really want Kinect stuff, please head over to the Coding4Fun Kinect Gallery. Every weekday there's a new post or project...
Anyway... Today's project is one that we mentioned a few months ago, Building your own hand-held game console with, Netduino, C# and the PIX-6T4 project, but until just recently wasn't one you could really start playing with yet. Well the wait is over and you can now get your own...
The goal of the PIX-6T4 kit and its companion book (coming soon) is to teach you how to use 'Electronic and Software Building Blocks' to become a Skilled Maker and, optionally, a Mad Scientist.
This little console can be programmed in C# and is a perfect learning tool for an initiation to both microelectronics and game programming. It is also a development board, with easily accessible pins.
The kit comprises the following parts:
- Netduino Mini: this is the heart of the system, a micro-controller running the .NET Micro Framework
- AS1100PL LED Driver: this little chip receives the data to display from the Netduino and uses it to turn the LEDs on and off.
- LED Matrix (8x8, red): this little and cost effective display may not have color or high definition, but the great thing about it is that you can actually understand exactly how it works.
- SD Card Socket: the PIX-6T4 console uses standard SD card as mass storage. SD cards are game cartridges, with each card containing many games. The SD card itself is not provided.
- 2 x Analog Joysticks with built-in switch: when we designed the console, we thought a lot about minimalism. This is why we did away with buttons entirely, replacing them with two clickable sticks.
- 2 x 24 PIN DIP Socket: each integrated circuit is mounted on sockets so that you can replace them should anything bad happen.
- Power LED (any color)
- Voltage Regulator (3.3v)
- Power Barrel Jack, Inline DC Power Plug & 9V Battery Connector
- Printed Circuit Board
- Acrylic Case Bottom
- 4 x Stand-Offs & 8 Screws
- Power Switch
- Break Away Header: gives easy access to all the Neduino pins for easy testing and extensibility. This makes it possible to use the PIX-6T4 as a development board.
- 2N4403 PNP Transistor
- 6 x 10K Resistors
- 1K resistor
- 2.1K resistor
- 54.9K resistor
- 100µF Electrolytic Capacitor
- 0.1µF Ceramic capacitor
- Build your own Video Game Console
- Join the Maker Revolution
- Use your console as a Turn-Key development board
- Discover the power of Netduino by 'Secret Labs'!
- Learn C# Programming
- Have fun building your own Games
The goal of the PIX-6T4 and its supporting companion book is to teach you how to use 'Electronic and Software Building Blocks' to become a Skilled Maker and, optionally, a Mad Scientist
To achieve this, we'll break down for you the process that we followed when we set out to build a simple video game console from readily available parts. Why a video game console? Because they're fun!... because a game console touches on many fundamental electronic concepts. In addition, a game console offers countless possibilities for learning how to write software: dream up a game and build it yourself by following our examples and techniques.
We chose the Netduino over other types of microcontrollers simply because the programming skills that you will learn on the .Net Micro Framework, as you discover the Netduino, will also be applicable to the full-featured .Net Framework used to build professional applications, large scale web services, mobile applications running on phones and web applications. Our hope is to empower you with life skills that can help you build a career or just build anything you can think of.
Last but not least, the Netduino community and the .Net Micro Framework embrace the open-source / open-hardware philosophy and whether you're a Mac or Linux user, the .Net Micro Framework is very relevant to you, thanks to the Mono Framework and its suite of development tools.
Where's the code in this Coding4Fun post?
The PIX-6T4 code is open source and is part of the netduino helpers repository on CodePlex.
The projects that you will need to build are located in the \Samples\PIX6T4 folder:
- ConsoleBootLoader: is the program that runs when you turn on the console. Its job is to read the content of the SD card, looking for game modules for you to select in a main menu. When a game is selected, it is dynamically loaded from the SD card and starts. When the game ends, the player is brought back to the main menu.
- Paddles: is a two player game of Ping Pong. Each player controls a paddle with one of the analog joysticks of the console, trying to hit the ball back to the opponent. A player scores a point when the other misses the ball.
- MeteorsFromOuterSpace: is a game where the player controls the movement of a small ship with the left stick of the console, and fires at meteors coming from all directions with the right stick. To shoot a meteor, just point the right stick in its direction
- Tunes: is a simple application playing the Pacman theme song.
To get you started quickly with your console, you can just download these applications. Then, open up the .zip file, place the folders that are on it on an FAT32-formatted SD card. Finally, insert the SD card in your PIX-6T4 console and play.
If you want to explore how the 'layers of the cake' really work, you should dig into the pix6t4.netduino.helpers project:
- \Fun: abstracts the hardware away from the game code. It also provides a small framework to write your games simply and efficiently.
- \Hardware: contains all the drivers for the hardware components used to build the console.
- \Helpers: contains the resource loader used to read and execute games from the SD card
- \Imaging: provides an interface to build your game world, create and display sprites, test collisions between objects and display small and large fonts.
- \Math: a library of trigonometric functions, frequently needed when building games.
- \Sound: provides a simple method to play tunes using the standard Nokia RTTL ringtone format
Digging even deeper...
But wait, there's more! The pix6t4.netduino.helpers library is only a subset of the larger netduino.helpers library which contains drivers and sample applications for many more devices.
If you're looking to build something cool and fun and yet pretty cheap, you don't have to look much farther than the PIX-6T4...