Pocketbyte: Modular ESP32-S3 Pocket Computer for Games, Music, and PDA Stuff

2 pointsposted 11 hours ago
by omrawaley

5 Comments

omrawaley

11 hours ago

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!

eternityforest

10 hours ago

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!

omrawaley

10 hours ago

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