MicroLink v2 is a production-ready Tailscale VPN client for ESP32-S3 devices that establishes secure WireGuard tunnels through Tailscale's control plane. It implements the full Tailscale protocol stack including Noise protocol for control plane encryption, HTTP/2 framing, DISCO peer discovery, STUN for NAT traversal, DERP relay fallback, and WireGuard encryption via wireguard-lwip integration. The architecture uses a multi-task FreeRTOS design with separate tasks for coordination, WireGuard management, DERP transmission, network I/O, and application logic, communicating via message queues and event groups. Key features include WiFi/cellular network failover with health monitoring, zero-copy WireGuard receive option for high-throughput scenarios, NVS-based peer caching with LRU eviction, and an HTTP configuration server for runtime management. The code demonstrates strong protocol fidelity through direct reference to Tailscale's Go source files while adapting to embedded constraints.
This repository provides an ESP-IDF component framework (esp-openclaw-node, esp-openclaw-talk, esp-openclaw-room-node) for building IoT devices that connect to the OpenClaw gateway via WebSocket. It implements device identity (Ed25519), session persistence, command dispatch, and WebRTC audio (Talk). The room-node component adds a full voice-interactive display client with LVGL-based animated face, Canvas (image/A2UI rendering), camera snapshot, file access, and real-time diagnostics. The codebase includes multiple board-specific examples (M5Stack Tab5, Waveshare AMOLED, ESP-BOX-3, M5Stack Dial) that demonstrate reuse of the core components. Strong engineering practices are evident: extensive host-based unit tests (with fake SDK headers), CI pipelines that verify cryptographic signatures and component patches, firmware packaging with provenance manifests, and a component registry release process for versioned distribution. The architecture cleanly separates concerns via board adapter abstractions and config structs, making the core components reusable across different ESP32 hardware.
This repository is a build system for producing precompiled static libraries from ESP-IDF components, intended for use with the Arduino core for ESP32 microcontrollers. It orchestrates the entire build pipeline: cloning and updating ESP-IDF and Arduino core repositories, configuring IDF with target-specific settings (flash modes, memory variants, debug levels), compiling libraries for multiple ESP32 chip variants (esp32, esp32s2, esp32s3, esp32c3, etc.), and packaging the resulting artifacts into archives and Arduino package index JSON files. The system is driven by shell scripts (build.sh, tools/copy-libs.sh, etc.) with a CMake-based project structure, and includes a Textual-based TUI (tools/config_editor/) for interactive configuration and compilation. CI/CD workflows (GitHub Actions) automate periodic builds and deployment to the esp32-arduino-libs release repository. The codebase is well-organized, with clear separation of build logic, configuration files (configs/), and tooling (tools/). It demonstrates strong DevOps practices for managing multi-target embedded library builds.
This repository distributes precompiled binary libraries (static archives) for the ESP32 series WiFi stack, used as a submodule within the Espressif IoT Development Framework (ESP-IDF). It contains no source code for the WiFi stack itself; instead, it provides archived .a files for various ESP32 variants (ESP32, ESP32-S2, ESP32-C3, etc.) and a set of shell scripts and CI configurations to manage library updates, fix symbol collisions (e.g., printf redefinition), and run build and feature tests. The repository acts as a binary release artifact, not a standalone application or library with reusable software components. Its primary purpose is to be checked out as a submodule in ESP-IDF to supply the low-level WiFi, mesh, and networking layers.