Encrypted communication and IoT on dedicated hardware. No smartphone, no cloud, no compromises.
SimpleGo is an open-source platform for encrypted communication and secure data transmission on dedicated microcontroller hardware. It combines private messaging with IoT sensor monitoring and remote device control in a single, auditable firmware stack.
The core idea is simple: sensitive data belongs on hardware you control, transmitted through channels nobody else can read. Whether that data is a text message, a temperature reading from a medical sensor, or a command to a remote access system.
SimpleGo runs on affordable off-the-shelf hardware, operates its own relay infrastructure, and is built entirely in C with a codebase small enough to audit.
Turn on the device, connect to WiFi, scan a QR code, and start chatting. Messages are end-to-end encrypted with perfect forward secrecy. There are no accounts, no phone numbers, and no usernames. Your keys never leave your device.
Transmit patient data, sensor readings from wearable monitors, or equipment status in compliance with data protection regulations. End-to-end encryption ensures that sensitive health information cannot be intercepted or correlated to an individual during transmission.
Collect and transmit data from environmental sensors, production equipment, or infrastructure monitoring systems. Encrypted channels prevent data manipulation and protect operational intelligence from interception. Relevant for water treatment, energy infrastructure, manufacturing, and any environment where SCADA security matters.
Transmit soil moisture, weather station data, and irrigation commands across remote locations. Encrypted communication protects operational data from competitors and prevents unauthorized access to automated systems.
Manage door locks, alarm systems, and surveillance infrastructure through encrypted channels. Unencrypted building automation is an open invitation. SimpleGo ensures that commands and sensor states cannot be intercepted or spoofed.
When cellular networks fail, SimpleGo devices can communicate over WiFi and local networks without depending on centralized infrastructure. Planned LoRa support will extend this to long-range off-grid scenarios.
Monitor location, temperature, and status of sensitive shipments. End-to-end encryption prevents logistics providers or third parties from building movement profiles or accessing cargo information.
Deploy environmental sensors or communication relays in regions where monitoring is dangerous. Anonymized data transmission protects both the source and the operator.
- End-to-end encrypted messaging with perfect forward secrecy
- No accounts, no phone numbers, no persistent identity
- 128 simultaneous contacts with individual encryption keys
- Encrypted chat history on SD card (AES-256-GCM)
- Delivery receipts (double checkmarks)
- Compatible with existing SMP-based messaging apps
- Independent relay servers operated by SimpleGo
- Physical QWERTY keyboard and 320x240 color display
- WiFi manager with multi-network support and WPA3
- Hardware Abstraction Layer for easy porting to new devices
- Runs on affordable off-the-shelf microcontroller boards ($50-70)
- Encrypted sensor data transmission
- Remote device monitoring and control
- Configurable data channels with per-sensor encryption keys
- LoRa support for long-range off-grid deployments (planned)
- Multiple independent encryption layers per message
- All traffic padded to fixed block size (no metadata leakage)
- Keys stored on-device with hardware-backed encryption (production release)
- Bare-metal firmware with no OS, no browser, no background services
- 22,000 lines of C across 47 source files (fully auditable)
- Open source under AGPL-3.0
SimpleGo runs on the LilyGo T-Deck Plus, available for around $50-70.
- ESP-IDF 5.5.2 or later
- Python 3.8+
- CMake 3.16+
git clone https://github.com/saschadaemgen/SimpleGo.git
cd SimpleGo
# Set up ESP-IDF environment
. $HOME/esp/esp-idf/export.sh # Linux/macOS
%IDF_PATH%\export.bat # Windows
# Configure
idf.py menuconfig
# Build, flash, and run
idf.py build flash monitor -p /dev/ttyUSB0 # Linux
idf.py build flash monitor -p COM6 # WindowsAll settings including WiFi credentials, server configuration, and security options are managed through menuconfig.
SimpleGo is built around a Hardware Abstraction Layer (HAL). The entire protocol stack and application logic are device-independent. Adding a new hardware platform means implementing five interface files. Everything above the HAL comes for free.
| Device | LilyGo T-Deck Plus |
| MCU | ESP32-S3, dual-core 240 MHz, 8 MB PSRAM |
| Display | 320x240 LCD with touch |
| Input | Physical QWERTY keyboard, trackball |
| Connectivity | WiFi 802.11 b/g/n |
| Storage | MicroSD for encrypted data storage |
Custom PCB designs with hardware secure elements, LoRa connectivity, and optional LTE are in development for professional and industrial deployments. See Hardware Documentation for details.
+---------------------------------------------------------------+
| APPLICATION LAYER |
| Messaging / IoT Sensors / Remote Control |
+---------------------------------------------------------------+
| PROTOCOL LAYER |
| Encryption / Key Management / Data Channels |
+---------------------------------------------------------------+
| HARDWARE ABSTRACTION LAYER |
| hal_display / hal_input / hal_network / hal_storage |
+---------------+---------------+---------------+---------------+
| T-Deck Plus | T-Deck Pro | Custom PCB | Desktop |
| ESP32-S3 | ESP32-S3 | STM32 + SE | SDL2 Test |
+---------------+---------------+---------------+---------------+
SimpleGo/
+-- main/
| +-- core/ # Protocol implementation
| +-- crypto/ # Cryptographic operations
| +-- hal/ # HAL interface headers
| +-- net/ # Network and TLS transport
| +-- protocol/ # Protocol encoding/decoding
| +-- state/ # Persistent state management
| +-- ui/ # User interface
| +-- util/ # Shared utilities
+-- devices/
| +-- t_deck_plus/ # LilyGo T-Deck Plus HAL
| +-- template/ # Template for new device ports
+-- components/ # External libraries
+-- docs/ # Documentation
This is alpha software under active development. The core messaging stack is functional and tested with multiple simultaneous contacts. IoT and sensor functionality is in the design phase.
| Component | Status |
|---|---|
| Encrypted messaging | Working |
| Multi-contact (128) | Working |
| Delivery receipts | Working |
| WiFi manager | Working |
| Encrypted data storage | Working |
| Persistent crypto state | Working |
| IoT sensor channels | Design phase |
| Remote device control | Design phase |
| LoRa connectivity | Planned |
| Post-quantum key exchange | Planned |
- wiki.simplego.dev - Full documentation
- Architecture - System design
- Security - Security model
- Hardware - Device specifications and porting
- Protocol Analysis - Implementation journal
See DEVELOPMENT.md for build instructions and CONTRIBUTING.md for guidelines.
Security vulnerabilities should be reported privately via GitHub's vulnerability reporting feature.
| Component | License |
|---|---|
| Software | AGPL-3.0 |
| Hardware | CERN-OHL-W-2.0 |
- Espressif for ESP-IDF and the ESP32 platform
- LVGL for the embedded graphics library
- mbedTLS for TLS and cryptography
- wolfSSL for X448 key agreement
- libsodium for NaCl cryptographic operations
SimpleGo is an independent open-source project by IT and More Systems, Recklinghausen, Germany. SimpleGo uses the open-source SimpleX Messaging Protocol (AGPL-3.0) for interoperable message delivery. It is not affiliated with or endorsed by any third party. See docs/DISCLAIMER.md for full legal notices.
SimpleGo - Encrypted communication and IoT on dedicated hardware.
