FPGA Brings Arduboy to the Game Boy Advance

Hackaday readers are perhaps familiar with the Arduboy, an open source handheld gaming system that aims to combine the ease of Arduino development with the seething nostalgia the Internet has towards the original Nintendo Game Boy. While not quite the same as getting one of your games published for a “real” system, the open source nature of the Arduboy platform allows an individual to develop a game playable on a commercially manufactured device.

While the Arduboy hardware itself is actually quite slick, that hasn’t stopped people from trying to bring its games to other pieces of hardware. Now thanks to the efforts of [uXe], the Game Boy Advance is well on its way to becoming Arduboy compatible, in a way bringing the whole project full circle. Assuming this gadget becomes a commercial device (it sounds like that’s still up in the air), Arduboy developers will be able to proudly play their creations on the final and objectively best entry into the Game Boy line.

Getting to this point has been something of an adventure, as documented in a thread from the Arduboy forums. Members of the community wondered what it would take to get Arduboy games running on a real Game Boy, but pretty quickly it was decided that the original beige brick model wasn’t quite up to the task. Eventually its far more capable successor the Game Boy Advance became the development target, and different approaches were considered for getting existing games running on the platform.

While there were some interesting ideas, such as using the GBA’s link port to “feed” the system games over SPI, in the end [uXe] decided to look into creating an FPGA cartridge that would actually run the Arduboy games. In this scenario, the GBA itself is basically just being used as an interface between the FPGA and the human player. In addition to these low-level hardware considerations, there was considerable discussion about the more practical aspects of bringing the games to the new hardware, such as how to best scale the Arduboy’s 128 x 64 output to the GBA’s 240 × 160 screen.

As demonstrated in the videos after the break, [uXe] now as all the elements for playing Arduboy games on the GBA in place, including the ability to disable full screen scaling by using the shoulder buttons. Now he just needs to shrink the hardware down to the point it will fit inside of a standard GBA cartridge. Beyond that, who knows? Perhaps the appeal of being able to run Arduboy games on a real Game Boy is enough to warrant turning this hack into a new commercial product.

Thanks to a hardware swap we’ve seen Arduboy games played on the Dreamcast VMU, and [uXe] himself previously grafted Arduboy-compatible hardware into an original Game Boy, but being able to play these games on an unmodified Game Boy Advance obviously has its own appeal. At the very least, it will be a bit more ergonomic than using a hacked classroom gadget.

Continue reading “FPGA Brings Arduboy to the Game Boy Advance”

Arduboy Brings New Life to Dreamcast VMU

The Dreamcast VMU was a curious piece of hardware. Part memory card, part low-end LCD gaming toy, its fate was sealed once SEGA abandoned the console platform on January 31, 2001. With a limited market penetration and no major killer app, the VMU is a largely forgotten piece of ephemera from a past era. All the more reason to refit one with an Arduboy, instead.

[sjm4306] has taken the Arduboy and repurposed it into a VMU-friendly form factor. The PCB is designed to fit snug inside the plastic case, with conductive traces for the original rubber membrane buttons already in place on the main board. There are some minor fit and finish issues with the first prototype – problems with drill sizes, and connectors that don’t quite fit flush with the housing. Mistakes like these are familiar to any maker who has built a custom PCB or two in their time, and [sjm4306] is confident the bugs will be worked out in the second revision.

It’s a fun project that brings some fun gaming action to an otherwise forgotten platform. If an Arduboy isn’t enough, you could always try to fit a Pi Zero instead. And if you don’t have a VMU, you can always emulate one. Video after the break.

Continue reading “Arduboy Brings New Life to Dreamcast VMU”

Star Fox Comes To Arduboy

The original Star Fox for the SNES was a landmark game. With the Super FX chip built into the cartridge, it presented the first 3D accelerated home console experience. The series has spanned several consoles and over two decades. Now, it’s getting an (albeit unofficial) port to the Arduboy, thanks to [Stephane Hockenhull].

Impressively, the game fits in under 28KB, and [Stephane] hasn’t skimped on the development details. The process begun with setting up a basic 3D engine on the Arduboy, followed by some tests of various gameplay ideas. The final implementation bears a strong similarity to the original SNES gameplay. At this point, work moved out of the Arduino IDE into [Stephane]’s custom development environment to speed things along. A PC port was used to save time programming the flash every iteration.

The tricks used to pull this off are many and varied. There are neat hacks used to optimise the storage of the 3D model data, implement lightweight collision detection, and generate random levels. Everything was done in order to make the game fit into the smallest space possible.

Running smooth 3D graphics on a 16MHz 8-bit microcontroller is an impressive feat, and a testament to [Stephane]’s coding abilities. We can’t wait to see more 3D development on the platform. Meanwhile, if the Arduboy doesn’t quite have the look you want, there’s a solution for that too. Video after the break.

Continue reading “Star Fox Comes To Arduboy”

Classroom Gadget Turned Arduino Compatible

Cheap second-hand hardware is usually a fertile ground for hacking, and by looks of this project, the digital classroom aids that were all the rage a few years back are no exception. [is0-mick] writes in to tell us how he managed to hack one of these devices, a SMART Reponse XE, into an Arduboy compatible game system. As it turns out, this particular gadget is powered by an ATmega128RFA, which is essentially an Arduino-compatible AVR microcontroller with a 2.4GHz RF transceiver tacked on. This makes it an extremely interesting platform for hacking, especially since they are going for as little as $3 USD on eBay.

There’s no USB-Serial converter built into the SMART Response XE, so you’ll need to provide your own external programmer to flash the device. But luckily there’s a labeled ISP connector right on the board which makes it pretty straightforward to get everything wired up.

Of course, getting the hardware working was slightly more complicated than just flashing an Arduino Sketch onto the thing. [is0-mick] has provided his bootloader and modified libraries to get the device’s QWERTY keyboard and ST7586S controlled 384×160 LCD working.

Playing games is fun, but when his friend [en4rab] sent him the SMART Response XE to fiddle with, the goal was actually to turn them into cheap 2.4 GHz analyzers similar to what was done with the IM-ME. It seems they’re well on their way, and [is0-mick] invites anyone who might be interested in filling in some of the blanks on the RF side to get involved.

Continue reading “Classroom Gadget Turned Arduino Compatible”

FPGA Magic Puts Little Embedded Screens Up On The Big Screen

Old-school handheld gaming platforms have a certain charm, but it’s fair to say that their relatively tiny screens don’t lend themselves to wider viewing. This presented a problem to [uXe] who wanted to display Arduboy games on the big screen, so he took a MyStorm BlackIce FPGA board and created a converter that emulates a SSD1306 OLED display and has a VGA output.

Having proved the viability of the idea, it was ported to a dedicated PCB with onboard ancillaries such as a level shifter for a 5 volt input. In an exciting twist, with a few modifications it’s also emulated a GameBoy screen, allowing full-sized playable games from that platform too. But the power of this hack isn’t relegated to gaming. SSD1306 is just one of a few different common standards for embedded displays. The FPGA work in this project is the blueprint for building a VGA adapter for any number of display replacements. We’d love to see an HD44780 mod of this!

The result as you can see in the video below the break is very much more in the spirit of the OLED than an HD immersive experience. But it does have a very pleasing air of an older arcade machine about it.

Several projects starting on a MyStorm BlackIce board have made it here in the past. Pretty memorable is the BBC Micro clone using one.

Continue reading “FPGA Magic Puts Little Embedded Screens Up On The Big Screen”

Arduboy Classic Plays On Original Game Boy Screen

The Arduboy is a Kickstarter backed, 8 bit video game console that mimics the look of a very tiny Nintendo Gameboy. The Arduboy Classic is actually using the case, button and LCD screen from a classic Game Boy.

[uXe] is using the same brains, an ATMEGA32U4, along with a 328 as a co-processor to handle the classic “creme-n-spinich” gameboy screen. 2K of dual port ram acts as a buffer between the two micro-controllers meaning they can not only run while not being in lock step with eachother, but that each micro can read or write to the ram at the same time.

Currently the whole setup is spread out on a breadboard while all the interfacing is worked out, but it is working quite well. Future plans are to make a drop in motherboard replacement for the classic game system, and there is ample room for all the new electronics on the original footprint.

If you’re unfamiliar with the Arduboy project, check out our interview with it’s creator, [Kevin Bates]. That and the demo of [uXe’s] hack based on the project are both found after the break.

Continue reading “Arduboy Classic Plays On Original Game Boy Screen”

An OLED Ring for Bluetooth Notifications

Wearables are the next frontier of amateur electronics, and [Kevin]’s Arduboy ring (link dead, try Internet Archive) is one of the best examples we’ve seen yet.

Inside the Arduboy is an nRF51822 – a chipset with Bluetooth Low Energy, an ARM Cortex M0,256k of Flash, and 16k of RAM. There’s also a an OLED and a touch button for displaying notifications from a phone, with the ability to reply to these notifications.

The enclosure for the ring is rather interesting. It’s a bit thick, but that’s for a reason – there’s a 40mAh battery stuffed along the sides of the ring. The enclosure itself is 3D printed to spec, and contrary to some beliefs, there’s nothing wrong with bending a LiPo cell once. Sure, it only has four hours of battery life with the display on, but it has a 24 hour battery life in standby mode, making it almost useful as an everyday wearable.

This is [Kevin]’s second wearable, the first being the Ardubracelet, an extremely interesting OLED bracelet with three different displays.  The Arduboy is much more compact and comes extremely close to looking like a product. You can check out the video of it below.

Continue reading “An OLED Ring for Bluetooth Notifications”