2 pointsby omrawaley6 hours ago2 comments
  • omrawaley6 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!

    • eternityforest5 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!

      • omrawaley5 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

  • omrawaley6 hours ago
    Highly recommend checking out the YouTube overview video I published a few days ago! https://youtu.be/K3hrEtXDh0w?si=OnURRCTOfIf79xBN