With the proliferation of cheap screens for use with microcontrollers, we’ve seen a matching proliferation in small handheld gaming projects. Pick your favourite chip, grab a screen off the usual suspects, add some buttons and you’re ready to go. [bobricius] has put a unique spin on this, with an unconventional cartridge-based build.
The main body of the handheld is constructed from attractive black and gold PCBs, and features a screen, some controls and an on/off switch. There’s also a microSD socket is on the board, which interfaces with cartridges which carry the microcontroller. Change the cart, and you can change the game.
[bobricius] has developed carts for a variety of common microcontroller platforms, from the Attiny85 to the venerable ATmega328. As the microSD slot is doing little more then sharing pins for the screen and controls, it’s possible to hook up almost any platform to the handheld. There’s even a design for a Raspberry Pi cart, just for fun.
It’s an entertaining take on the microcontroller handheld concept, and we can’t wait to see where it goes next. It reminds us of the Arduboy, which can even do 3D graphics if you really push it. Video after the break.
I like the idea. If the package has nice controls and a nice display that is almost universally compatible, I2C or SPI, we have you a NRF, ESP, PIC, Propeller, PI, whatever to control it. A ROM chip isn’t much less than a microcontroller.
I’m glad to see that concept coming back. Those who grew up with NES/SNES or any cartridge base system knows about putting processing power in the cartridge!
NES and SNES had their main CPU and GPU in the console. Only additional chips like MMC and Super FX were added to the carts, they weren’t meant to be used as stand alone chips.
The only consoles that had CPU in the carts AFAIK were Microvision. The main unit had speaker, controller, battery, and LCD. The game ROM and CPU were in separate cartridge.
Pedantry.
Modern recapitulation of the Microvision…
My thoughts exactly. The Milton-Bradley Microvision console provided power and I/O, while the cartridge s held a microcontroller- usually a tms 1000 or an intel 8051
nice.
now if i could just get a pizero the size of a postage stamp and a pi 3 the size of a zero
in case you missed it https://hackaday.com/2019/07/11/make-a-compatible-raspberry-pi-clone-but-your-pi-must-die/
This is a really good idea. The issue with some of the 8-bit handhelds that have come out recently (like the Arduboy) is that most of the BOM cost is in everything except the processor–screen, buttons, PCB, etc. So it ends up costing around $50, which is hard to justify unless you really want that retro look. And you have to really want it, given that you can grab a DS Lite for less than $30 on eBay.
Now, if the handheld is just the expensive part of the BOM, and the cartridges can get direct access to everything, then you have something that could play “serious” handheld games. You can still have the intentionally limited AVR-based game for cheap, or you can throw on an STM32 for something on the GB Advanced level. Hook in a cheap SoC, and now you’re around the DS or 3DS level. The BOM cost of the cartridge would probably be higher than Nintendo’s flash carts these days, but not out of line with historical costs. Compared to Nintendo official licensing costs, it may not even be that much different.
My only issue here is that it looks very limited at this point. Not a great form factor, screen is pretty small, buttons are limited. But it could be the basis for something interesting.
Nice little project. One improvement I’d suggest is using a shift register for the buttons instead of the resistor dividers. Basically the same idea as the original NES controller.
I would second that. My Kia uses resistor dividers in the steering wheel buttons and they sometimes do the wrong function when I press them when it’s too hot or cold outside. At least once it was something I don’t have a button for, volume up or next song button muted my radio.
It’d be an interesting project to document all those.
Coleco did it this way back with the Telstar Arcade. It was a cross between a Pong system and modern console. The cart contained the MCU and game “ROM” (basically custom asic’s made by General Instrument sometimes called Pong-In-A-Chip) . Only four carts were made before it was discontinued.
http://www.geekvintage.com/coleco-telstar-arcade.php
http://www.pong-story.com/gi.htm
https://www.youtube.com/watch?v=sGXc15cgzhw
If they’re still hunting for a name for this, since Arduboy is already taken, they could always go with Ardugear :P
Like the idea be cool if it used the processor from an actual sd card
Really cool use of the connector! What if you used an ESP32 main board, but put the flash on the cartridge? Just enough pins for dual IO plus I2C for other stuff you might want.
Avoid I2C unless necessary. It’s excruciatingly slow for single-CPU game consoles. Use SPI even if it means using a 3-to-8 decoder for the chip select lines.
Lots of DIY console projects starts with I2C parts then learn this the hard way.
It might be fine for a Wii (nunchucks) when you got a co-processor in each wiimote that got nothing better to do during the frame than send address bytes and wait for responses but for a screen and other peripherals it gets close to a slideshow.
ESP is dual core, but that’s a pretty good point anyway, no reason to waste time I2C polling things. I was thinking more of using the I2C for extra addons like blinky leds right on the cartridge, and using DIO SPI for the flash.