pocketOS is not your typical operating system—it's an Elixir application that transforms ESP32-based handheld devices into powerful, hackable cyberdecks. Running on AtomVM — which brings the BEAM to resource-constrained devices — pocketOS delivers a complete handheld experience with functional, concurrent code on hardware that fits in your pocket.
- 🎨 Native Elixir UI - Build UIs without leaving the BEAM
- 💻 ALisp Terminal - Interactive LISP environment for on-device hacking
- 📡 Meshtastic Protocol - Send messages over LoRa without infrastructure
- 🗺️ GPS & Mapping - Track your location and visualize your world
- 🔧 Hackable by Design - Extend, modify, and make it yours
- LILYGO T-Deck
- LILYGO T-LoRa-Pager
- Linux - With atomgl plugin for development and testing
- AtomVM >= v0.6.6
- atomgl component (github.com/atomvm/atomgl)
- Elixir development environment
- ESP-IDF (for flashing to hardware)
git clone https://github.com/yourusername/pocketOS.git
cd pocketOS
Edit lib/hal.ex
and uncomment your target platform:
# Uncomment the platform you're using:
@platform "t-deck"
# @platform "t-pager"
# @platform "linux"
mix deps.get
mix compile
mix atomvm.packbeam
# For T-Deck or T-LoRa-Pager (remember: port might be different on your system)
mix atomvm.esp32.flash --port /dev/ttyACM0
Insert a FAT-formatted SD card with optional configuration files:
WiFi Configuration - wifi.sxp
:
(
(ssid "myssid")
(psk "mypass")
)
Custom Init Script - init.lsp
:
(progn
[...]
(quote ok)
)
Note: Follow ESP-IDF limitations for filesystem and SD card compatibility.
We welcome contributions from the community! Whether you're into:
- 🎨 UI/UX improvements
- 🔧 Hardware support
- 📡 Protocol implementations
- 📚 Documentation
- 🐛 Bug fixes
pocketOS is open source software licensed under the Apache 2.0 License.
Built with ❤️ and Elixir by hackers, for hackers