Hacker News new | ask | show | jobs
Pocketbyte: Modular ESP32-S3 Pocket Computer for Games, Music, and PDA Stuff (pocketbyte.co)
2 points by omrawaley 1 day ago
2 comments

This is a project I've been working on for over a year and a half now.

It's an open-source modular pocket device based on the ESP32-S3. The entire bottom half can be swapped out with different modules like a gamepad, a Blackberry-style keyboard, and even DIY modules.

I wanted to build a device that would allow me to do things like play games, listen to music, and take notes without getting distracted by my phone. It's more like a PDA than a smartphone though.

It can be customized in many different ways and aligns with right-to-repair, DIY, and hacking.

Some of the stuff it can run are:

- Retro emulation (up to SNES and Genesis)

- Various game ports (Quake, Duke Nukem 3D, etc)

- Celeste (PICO-8 port)

- MP3 player app (it has a stereo headphone jack)

- Custom indie games (made using the C library, supporting various graphics backends)

- Text editor/note taking app that can sync to your computer

There's some cool stuff like an App Store that allows you to download programs via Wi-Fi! Plus the "OS" is inspired by the 3DS!

There are even more things I want to get it running in the future, like an SSH client so it can be used for portable admin stuff. The keyboard module will unlock a ton of possibilities.

It's 90% done, currently focusing on finishing the keyboard module and finalizing the shell. Software is still WIP (will be released at V1.0.0), and schematics will be released after I build first batch of DevKits.

Let me know what you think!

It looks really cool, except the case looks like it puts mechanical force on the connectors, which aren't exactly known for reliability.

Having a tie bar with a screw into each half, or even just some bosses to prevent lateral movement would be nice.

The C instead of C++ or Rust SDK would be a major negative point for me, but I'm sure the more hacker minded people will love it!

Thanks for the feedback!

I might look into using pogo pins instead for the connector. That eliminates the pressure, but then requires a separate mechanical force to keep the parts in place.

Besides the header/pins, there are also currently magnets.

I went with C for the SDK because I wanted maximum compatibility/portability.

You can still use C++ (I tested it, works 100% fine), and I'm currently exploring Rust bindings! https://docs.pocketbyte.co/rust

Also check out spring pins for battery contacts. They tend to be cheaper and more robust. Here's the general category page, in Digi-Key: https://www.digikey.com/en/products/filter/rectangular-conne...
Oh I think I've seen these on a couple Chinese handhelds.

Currently the device uses a JST connector, but I'll definitely take a look at this.

Thanks!

I meant instead of the pogo pins, but if you do have a custom shell, then it is also a more convenient way to connect the battery, too.
Highly recommend checking out the YouTube overview video I published a few days ago! https://youtu.be/K3hrEtXDh0w?si=OnURRCTOfIf79xBN