🛠️ Hacking Hardware Interfaces for Reticulum
Workshop - jitter; chris (OGM Assembly)
Practical Interface Workshop for Reticulum
🐍 (Python setup) → 🍄 (MicroPython flash) → 📡 (ESP-NOW interface) → 🤝 (peer networking) → 🌐 (mesh)
🎯 Workshop Goals
- Demonstrate practical deployment of Reticulum without relying on traditional Internet infrastructure
- Hands-on experience with alternative transport interfaces
- Understanding real-world applications and limitations
- Not about
Rnode
- the Reticulum assembly offers a workshop- Call this
Enode
? 😄
- Call this
⚡ Requirements\r\n\r\n- At least one ESP32 device, two are preferable, but not required
-
Best is a device from
m5stack
but we will try to make any ESP32 work -
Alternatively, bring a
RPi Zero 2
so we can hack onUSB-CDC
post-workshop -
A computer running Python 3 and an Editor
-
Age 12 or with parent 👶
-
Listeners are welcome, you do not have to particpate.
The workshop will use devices from Espressif - most ESP32 devices will work.
📡 ESP-NOW Overview
Differently put, no centralized infrastructure is required, it's peer-to-peer and offers a way of "multicasting".
💻 Implementation Details
- Flashing MicroPython is probably the hardest part, so assembly staff will assist doing so.
- Eventually, there will be some easy soldering required to add a secondary
UART
- The interface code is hosted in a GitHub repository.
mpbridge
allows easy multiplatform upload and continous development.- Each participant tries to connect the interface built to the assemblies' Reticulum node.
📋 Workshop Preparation Checklist
Speaker: jitter
📚 Essential Reading
- https://linuxinabit.codeberg.page/blog/reticulum/
- https://github.com/micropython/micropython/wiki
- https://github.com/espressif/esp-now/blob/master/User_Guide.md
💾 Software Prerequisites
- Python 3.x installed and working
- Your preferred code editor
- Git client
- USB drivers for ESP32 (Windows users)
- Terminal emulator (like PuTTY, screen, or minicom)
🔧 Hardware Preparation
- ESP32 device charged/functional
- USB data cable (not charge-only)
- USB-UART adapter (beneficial)
⚡ Before You Arrive
- [ ] Test your Python environment
- [ ] Clone the interface repository
- [ ] Test USB connection to your ESP32
- [ ] Read through basic MicroPython concepts
- [ ] Install required Python packages (
mpbridge
,rns
) - [ ] Review ESP-NOW protocol basics