decentral.community at 38c3

Hacking Hardware Interfaces for Reticulum
12-27, 16:00–18:00 (Europe/Berlin), CDC Circle

ESP-NOW? Python? MicroPython? Reticulum? What's the connection? The interfaces we build in this workshop πŸπŸ„πŸ“‘πŸ€πŸŒ


πŸ› οΈ 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? πŸ˜„

⚑ Requirements

  • 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 on USB-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

ESP-NOW is a wireless communication protocol defined by Espressif, which enables the direct, quick and low-power control of smart devices, without the need of a router. ESP-NOW can work with Wi-Fi and Bluetooth LE, and supports the ESP8266, ESP32, ESP32-S and ESP32-C series of SoCs. It's widely used in smart-home appliances, remote controlling, sensors, etc.

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

πŸ“š Essential Reading

πŸ’Ύ 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
See also: Reticulum Manual PDF

running simulacron in the kitchen closet on some crappy hypervisor while trying to keep up with my dog.

This speaker also appears in: