Skip to content

About

An E-Ink PDA device using the ESP32 S3.

Resources

Contributing

Stars

2.0k stars

Watchers

55 watching

Forks

Latest commit

 

History

810 Commits

Folders and files

Repository files navigation

PocketMage PDA

PocketMage is available on Crowd Supply! Check it out here!

@Ashtf 2025

Screenshot 2025-09-10 203805 Screenshot 2025-09-10 203851

[Project Summary]

This project is a PDA powered by an ESP32-S3 running a custom OS written in C++ using PlatformIO. This project utilizes an E-Ink and OLED screen in tandem to mitigate the refresh rate restrictions of an E-Ink panel while retaining the aesthetics and benefits of using E-Ink. This project is a work in progress and currently amounts to a simple GUI for navigating between apps, a text (.txt) file editor, and a basic file manager. More applications are planned for the future and a list of TO-DOs can be found below.

At this point, the plan for this project is to get the software and hardware to maturity and once a finished product is achieved, a few things will happen. First, the project files (Code, KiCad schematics, 3D files) will be open-sourced and free for anyone to access. Next, I will likely begin selling kits that allow people to purchase all the parts required to build a device for themselves if they don't want to source the parts themselves. Finally, the community will be encouraged to help develop the software for the device and hopefully push it even further than I could myself.

The project is open hardware and open software: the code, KiCad schematics, and 3D files are published under Apache-2.0. Kits are available on Crowd Supply for anyone who prefers not to source parts individually. Community contributions to the firmware and apps are welcome.

[Getting Started]

Start with the docs sites. The PocketMageOS docs cover the device, the OS, and the built-in apps; the SDK docs cover building standalone apps.

Apps come in two forms. Native apps compile into the firmware; start from APP_TEMPLATE.cpp and the App API Reference. ELF apps build standalone against the SDK and load from the SD card at runtime; start from the SDK Get Started guide.

The app walkthrough video is a useful first pass: Developing For the PocketMage.

[Hardware]

  • ESP32-S3 WROOM1 with 16 MB flash and 8 MB RAM. WiFi and Bluetooth supported.
  • 3.1" 320x240px 1-bit SPI E-Ink panel (GDEQ031T10) with integrated driver
  • 256x32px 1-bit SPI OLED (SSD1326, ER-OLED018-1W) with integrated driver
  • MicroSD card slot with support for up to 2 TB
  • TCA8418 I2C keyboard matrix IC
  • Piezo buzzer (simple tones)
  • Power button
  • 1200 mAh pouch-style LiPo battery with JST PH (2 mm) connector
  • USB Type-C connector
  • PCF8563T I2C RTC module
  • Expansion port with the following breakouts:
    • +3.3V
    • GND
    • I2C SDA
    • I2C SCL
    • SPI MOSI
    • SPI SCK
    • SPI MISO
    • GPIO A
    • GPIO B
    • GPIO C
    • GPIO D / UART TX (changeable with a solder jumper, default TX)
    • GPIO E / UART RX (changeable with a solder jumper, default RX)

[Software]

  • Text editor app (TXT)
  • FileWiz file-management app
  • Calendar app
  • USB file transfer app
  • COMM mesh chat app
  • Settings app
  • Tasks app
  • Journal app
  • Dictionary app (Lexicon)
  • App loader for ELF apps
  • Terminal app (Wrench scripting)
  • SSH
  • Commands supported through the home menu:
    • roll dN (dice roll, N = number of sides)
    • set time and date
    • directly open files in TXT or FileWiz by typing the name
    • and more

[Planned Features]

  • Timers and alarms
  • E-book reader
  • WiFi notes/calendar sync (Google Docs/Calendar)
  • LoRa/Meshtastic add-on module
  • Battery expansion add-on module
  • Custom abbreviations
  • Bluetooth keyboard support

License

All files are distributed under the Apache-2.0 license:

PocketMage PDA - A clamshell note-taking and productivity device using E-Ink and OLED.

License

About

An E-Ink PDA device using the ESP32 S3.

Resources

Contributing

Stars

2.0k stars

Watchers

55 watching

Forks

Releases

Packages

Used by

Contributors

Languages