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
dlcarrier
7 hours ago
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...