Close

nGame is µGame, only Smaller

A project log for µGame

A handheld game console programmable with (Micro/Circuit)Python.

dehipudeʃhipu 12/28/2017 at 15:552 Comments

While I was designing the #D1 Mini X-Pad Shield, the #PewPew FeatherWing and most recently µGame, I struggled with the same problem: how to fit the direction pads and fire buttons on as small PCB area as possible, while still keeping them usable. I think I have tested pretty much any type of SMD buttons on offer from China, tried different layouts and packing schemes, and even did some uncanny experiments with fitting larger buttons to smaller footprints. But I never quite had the courage to really push the limits. Until now, that is.

This is what happens to µGame when you leave it in your pants pocket in the dryer and let it shrink. It uses the same ST7725S display that I used in #Trinket M0 TFT — even the driver fits, you just have to adjust the screen size in it. It uses the smallest 2-pad buttons I could find — they use 1206 resistor footprints. The SAMD21 microcontroller has no additional flash storage this time, so we are very constrained in what fits there — none of the demos for µGame I had worked out of the box, that's why the photo shows just random pixels.

On the back you can see the 2032 coin cell battery, the power switch and the voltage regulator circuit, the USB socket and the shottky diode that isolates the battery from the USB power. There is no battery charging, no audio output, no battery monitoring and even no reset button (you can reset it to get to the bootloader by shorting one of the vias to ground). I still have some free space in that corner (and it's also free on the other side), so I might add a hole for a keychain there...

As I said, the memory constraints are severe, and I haven't written a game or demo that actually runs on it, but I'm sure I can do it. In the worst case, I can drop the wasteful CircuitPython and program this thing with Arduino.

This whole thing is basically just to see how hard it would be to build (moderately), and use (hard, you have to press the buttons with your fingernails). Also, because I kinda felt bad switching the final µGame version to use old Nokia phone batteries after submitting this to the coin cell contest. So here, a version that still runs on the coin cell.

Also big thanks to the hackers on the #Hack Chat for helping me debug the power/USB problems.

Discussions

MatejEusk wrote 12/28/2017 at 20:38 point

Wow so cute! I want to buy one too... Will do 3D printed case for it too. Minimal specs like Atari 2600 (4kb ram, 16kb rom).

  Are you sure? yes | no

deʃhipu wrote 12/29/2017 at 23:42 point

I won't be making this one — it's just a proof of concept. It's actually much more powerful than an Atari — a 32bit 48MHz microcontroller with 32kB RAM and 256kB of flash. We truly live in the future.

  Are you sure? yes | no