Video games have been part of my life in Honduras since I was a kid, but it wasn’t until I was 14 that my interest in game programming began.
At first I developed software primarily to learn programming, in a variety of languages. Later I decided to apply my programming knowledge to the digital-electronics world, using integrated circuits such as Atmel microcontrollers to develop my own projects. Online, I bought everything I needed to start learning electronics and microcontroller programming from NerdKits, a company founded by MIT students.
In October 2009, just one year after I started studying electronics, I decided to build my own video game system, applying everything I’d learned about microcontrollers and game programming to a single system. In spite of a lack of resources for developers in Honduras, and with limited free time as a high school student and even more limited capital, I set out to accomplish my goal.
By generating the correct waveforms with two Atmel AVR microcontrollers, I sent data for both monaural sound and monochromatic composite video to an NTSC analog television. Everything was done in the code, with the help of only a handful of resistors and capacitors.
Although sending information to a TV wasn’t an easy task, I decided to take on another challenge. One day, while using my TV’s remote control, I had the idea to develop my own remote control to send information wirelessly with infrared light.
My idea was to use a third AVR processor to create a motion controller for my console. This chip reads the output from a dual-axis accelerometer, whose signal changes proportionally to the game controller’s movement, and then the chip drives an infrared LED on and off using pulse-width modulation, according to the controller’s movement or button presses. Yet another microcontroller in the console decodes this infrared information remotely.
My project was featured in local newspapers and TV programs as the “first video game system developed in Honduras,” and was selected in February as the best NerdKits project of the month.
I named my console Embedded Entertainment System, or EES. I hope my success with the EES will encourage other developers to build their own projects without fear of failing. With enough effort and perseverance, almost any goal can be accomplished.