a beauty shot of the 3D-printed version

This PICO-8 Handheld Is No Fantasy

The PICO-8 is what is known as a ‘fantasy console’– you can program it, and there are oodles of games, but it’s not actually the 8-bit console it pretends to be. It’s a virtual machine, one that can run on top of any modern OS. When [UncleStem] got into PICO-8, he decided that he liked the PICO-8’s portability, he wanted a different kind of portability– so he took the ‘fantasy’ out of ‘fantasy console’ with his GameBoy-esqe handheld build, the build/dev video of which is embedded below.

At its core, it’s a Raspberry Pi Zero2W. That’s rather overkill for an 8-bit virtual machine, but it’s what he had on hand, and it makes for an easy build. The real hero of the build is the 720 by 720 pixel IPS display that matches the PICO-8’s square aspect ratio and takes up most of the real estate on the handheld. Even better, it has HDMI in and sound support, so with some buttons and a battery the hardware is all there after [UncleStem] designs a handsome 3D printed case, and also has a go milling it out of aluminum before giving up and having a pro do it.

Since it’s so easy to do these days, everything lives on a custom PCB from his sponsor that gives the handheld good mechanical stability. He’s also using the full-colour silkscreen option to make a very pretty PCB. If that part of the project appeals, we’ve covered guides to PCB art before. He’s shared the PCB and everything else he can on a google drive, though note that the fantasy console itself is not open source, and would need purchased to finish the project.

Oddly enough, this is not the first handheld we’ve seen based on the PICO-8. That would be this project that uses a single-button camcorder form-factor. As unique as that is, this project has the benefit of working with the whole library of PICO-8 games.

Continue reading “This PICO-8 Handheld Is No Fantasy” →

A Hotspot Becomes A Handheld

A Linux handheld computer is, in theory, easy and inexpensive given the availability of single-board computers, but in practice the budget invariably edges well into three figures. There’s an interesting alternative from [bkovac] that won’t break the bank as much, using a cheap 4G wireless hotspot, an iPhone USB keyboard case accessory, and, though a cheaper display could suffice, a fancy Adafruit Sharp memory display.

The hotspot is available from AliExpress for around 20 dollars/Euros/pounds, and it’s referred to by its model number, MF800. It’s powered by a Qualcomm MSM8916, also known as the Snapdragon 410, which you might have found in a budget cellphone early in the last decade. Importantly, though, it’s supported by mainstream Linux, and while it’s by no means the fastest on the block, it can be a poor man’s alternative to a Raspberry Pi. It comes with a small SPI display, but this project replaces it with a much bigger Sharp SPI memory display.

Continue reading “A Hotspot Becomes A Handheld” →

Game Dodecahedron Runs AArch64 Assembly

Operating systems are great things to have for general purpose computing, but sometimes they can just get in the way. There’s RAM overhead and processor cycles required for all that operating, after all. For something like a game system, it seems unnecessary. The NES certainly did well enough without an OS, as did its various successors for several console generations.

[Inkbox] wanted to get back to those heady days by programming bare-metal games for a Rasberry Pi 3 that had sat unused since 2016. Games are on cartridge, running bare metal, in assembly — as God and Masayuki Uemura intended. Also, the console is a dodecahedron, because the name GameCube was already taken.

The GitHub link above doesn’t exactly have documentation, at least as of this writing, so you’ll need to watch the video to get the full details. The dodecahedron form factor might not be ideal for packing away in a bag, but as a handheld we have to admit it does look comfortable to hold. Two faces of the dodecahedron get a half-dozen buttons each, which are wired to a GPIO pin on the Pi via a Schmitt trigger for hardware debounce. Like all good consoles, it uses cartridges, these ones being adapted from SD cards on large PCBs derived from a project we featured before.

That all sounds great, but it’s the assembly programming we’re really interested in — skip to around the seven-minute mark in the video for that. Ultimately it’s a build video, so not the ideal tutorial for ARM assembly programming, but it might not be a bad introduction for some. Unfortunately you don’t get line-by-line of the PacMan game he put together — but he does have it in the repository for you to examine. The repo also has STLs if you want to make a dodecahedron of your own.

Of course he’s got a RetroPi cartridge as well, loaded with emulators, and we suspect that’s mostly how this GameDodecahedron will get used. Still, we’ll always have a soft spot for assembly code and projects that use it — be it on ARM, good old 6502, the open-source RISC V architecture, or even the absolute monster of op codes that is x86.

Continue reading “Game Dodecahedron Runs AArch64 Assembly” →

STM32 Handheld Has OpenGL And All The Classics

We do sometimes go on about how absurdly powerful microcontrollers are these days, but this time it’s technically a microprocessor, not a microcontroller, at the heart of the build — specifically, an STM32MP2. Still, you know you’re living in the future when an STM32 of any sort can not only run [John Cronin]’s gk handheld game console, but provide 3D acceleration to boot.

Full disclosure: you’ve seen this handheld here before — sorta. That was version 3, which was an STM32-based handheld.  V3 used the much less powerful STM32H7S7L8, with a single Cortex-M7 clocked at 600 MHz and a 2D NeoChrom GPU. The STM32MP2, by contrast, has dual Cortex-A35 cores running 1.5 GHz and a bonus Cortex-M33. It’s running a custom OS called gkos, which is mostly POSIX-compliant and boasts nigh-instantaneous boot times.

As with the last version, you can run a bevy of emulators from the 8-bit to the 32-bit era, but the added power and OpenGL support mean this handheld also runs N64 games via a fork of mupen64. There are also emulators for ‘real’ computers, namely Atari ST and XL, and a little-known thing known as a “PC”. DOSBox gets the equivalent performance of a 50 MHz 486, which means you can run all the classics, including DOOM, though that will be more performant running the native-running port of sdl-DOOM.

You also get extra inputs to play with and a bigger screen compared to the last version. Oh, and WiFi. There are accelerometers for tilt control, and did we mention the screen’s touch input is supported? If it weren’t for the form-factor, we’d call this a capable little computer. The GK handheld looks like an awesome handheld console, check it out in the demo video below.

Continue reading “STM32 Handheld Has OpenGL And All The Classics” →

It’s Another Pi Handheld. But It’s A Really Good One

Ever since the first Linux capable single-board computers came out, there have been projects turning them into handhelds. The Raspberry Pi Zero and in particular the Compute Modules are ideally suited to this. While there are more common projects that find their way into our feed we’ve certainly seen a few of them in our time, enough now that a new one has to be special to really catch our eye. Which brings us to the PiBrick from [Ahmad Amarullah], which sets the bar pretty high.

The device is a Compute Module 5 smartphone sized computer with a 3.92″ OLED touch display and the ubiquitous BlackBerry-derived keyboard. It’s drawn together with a PCB that holds all components and peripherals, and this and the 5000 mAH battery fit in a 3D printed shell that gives it the form factor of a chunky smartphone. You can see it at the link above, and also find it in a GitHub repository.

Handheld computers always represent something of a compromise as they can only ever offer relatively small screens and keyboards. But they live or die on their versatility and robustness, both of which this one has in spades. We like it, a lot.

Thanks [Nick] for the tip.

Building A (Not Very) Portable Xbox

Modern handheld game consoles are impressive feats of engineering, featuring full fledged computers in near pocket-sized packages. So what happens if you take an original Xbox and sprinkle on some modern electronics and create a handheld? Well, if you’re [James] of James Channel, you end up with this sandwich of PCBs held together with hot glue and duck tape. 

The first order of miniaturization in this Xbox was replacing the hard drive. Because a CompactFlash card uses parallel ATA, that could be a simple drop in replacement. However, the Xbox locks the hard drive to the system requiring a mod chip for the CF card to work. Fortunately, the sacrificial Xbox came with a mod chip installed. After using an arcade machine to flash the card and copy over the contents of the drive, the CF card install was a breeze. 

For the screen and batteries, a portable DVD player that had remained unused since 2006 was repurposed. The battery cells were rather unhappy, but managed to get resurrected with some careful charging. As it turns out, the iPod 30 pin connector inside the portable screen contains an S-Video line. By tapping into that and adding in some power management for the batteries, the Xbox became a pile of PCBs that could maybe be taken places.

Continue reading “Building A (Not Very) Portable Xbox” →

GK STM32 MCU-Based Handheld Game System

These days even a lowly microcontroller can easily trade blows with – or surpass – desktop systems of yesteryear, so it is little wonder that DIY handheld gaming systems based around an MCU are more capable than ever. A case in point is the GK handheld gaming system by [John Cronin], which uses an MCU from relatively new and very capable STM32H7S7 series, specifically the 225-pin STM32H7S7L8 in TFBGA package with a single Cortex-M7 clocked at 600 MHz and a 2D NeoChrom GPU.

Coupled with this MCU are 128 MB of XSPI (hexa-SPI) SDRAM, a 640×480 color touch screen, gyrometer, WiFi network support and the custom gkOS in the firmware for loading games off an internal SD card. A USB-C port is provided to both access said SD card’s contents and for recharging the internal Li-ion battery.

As can be seen in the demonstration video, it runs a wide variety of games, ranging from DOOM (of course), Quake, as well as Command and Conquer: Red Alert and emulators for many consoles, with the Mednafen project used to emulate Game Boy, Super Nintendo and other systems at 20+ FPS. Although there aren’t a lot of details on how optimized the current firmware is, it seems to be pretty capable already.

Continue reading “GK STM32 MCU-Based Handheld Game System” →