ESP32-C3 Wireless Adventure: A Comprehensive Guide to IoT [pdf]

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • esphome

    ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.

  • This looks like an excellent resource!

    As someone who primarily specializes in programming and only understands the basics of electronics, I often use esphome[1] for my home automation projects. I want to mention it here as it significantly lowers the entry barrier for creating functional (and funny!) projects quickly, focusing on code and capabilities (with one click, you can update any esp chip wirelessly, after the initial firmware upload via USB that you can do via a web interface too).

    Working at a lower level and with code more closely tied to the machine can definitely be rewarding. Yet, it’s esphome that has revived my pleasure of working with electronics and enabled numerous complex projects that I wouldn't have even begun otherwise.

    It's also incredibly powerful, and if you wish, you can write libraries to add more features. It seamlessly integrates with Home Assistant (auto-discovering the devices), but it can also be used with other interfaces.

    I trust it to not disappear because I think Home Assistant acquired the project.

    Oh, and it's open source too (MIT + GNU GENERAL PUBLIC LICENSE)!

    [1] https://esphome.io/

  • connectedhomeip

    Matter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.

  • ESP32s aren't really ‘lower level’ in the sense that anyone is likely to write assembly code for them (compared to, say, 8051 or PIC), other than maybe some driver author at Espressif. The big win from using RISC-V, other than name recognition, is mainstream compiler support (which is nothing to sneeze at, especially when it's largely funded by someone else).

    When I worked on Matter¹, the Xtensa and RISC-V versions were basically fungible from the software point of view. (And really, so were other vendors' various ARMs.) We did find that Bloaty McBloatface² didn't support Xtensa, so I had to write an alternative.

    ¹ https://github.com/project-chip/connectedhomeip/

    ² https://github.com/google/bloaty

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • espthernet

    ESP8266 10-Base-T Ethernet Driver

  • cnlohr managed to add Ethernet to a esp8266 module (1) using the i2s signals also present in the esp32-c3 and a driver plus magnetics. Once the transformer is in place, passive PoE can be added with a regulator connected to the relevant transformer pins, probably 2 and 7 in the schematic at (2), but yeah, the size grows significantly.

    1- https://github.com/cnlohr/espthernet

    2- https://github.com/cnlohr/espthernet/blob/gh-pages/hardware/...

  • esp-wifi

    A WiFi, Bluetooth and ESP-NOW driver for use with Espressif chips and bare-metal Rust

  • I haven't done much with it yet, but I'm excited about the bare-metal (no_std) rust support for the esp32c3 (as opposed to some other variants that require a custom toolchain as I understand it).

    Lots of details at <https://mabez.dev/blog/posts/>, and some examples of wifi on bare-metal at <https://github.com/esp-rs/esp-wifi>.

    I hope to eventually get it working with MQTT (there may be examples already, I haven't yet looked in-depth), at which point I think this will be my go-to for the majority of my IOT projects going forward!

  • esp-idf

    Espressif IoT Development Framework. Official development framework for Espressif SoCs.

  • The latest, but it was a few months ago. The results were off by 400 meters, and many persons have the same problems : https://github.com/espressif/esp-idf/issues/8976

  • bloaty

    Bloaty: a size profiler for binaries

  • ESP32s aren't really ‘lower level’ in the sense that anyone is likely to write assembly code for them (compared to, say, 8051 or PIC), other than maybe some driver author at Espressif. The big win from using RISC-V, other than name recognition, is mainstream compiler support (which is nothing to sneeze at, especially when it's largely funded by someone else).

    When I worked on Matter¹, the Xtensa and RISC-V versions were basically fungible from the software point of view. (And really, so were other vendors' various ARMs.) We did find that Bloaty McBloatface² didn't support Xtensa, so I had to write an alternative.

    ¹ https://github.com/project-chip/connectedhomeip/

    ² https://github.com/google/bloaty

  • willow

    Open source, local, and self-hosted Amazon Echo/Google Home competitive Voice Assistant alternative

  • I can't agree with this enough. Willow[0] (disclaimer - I'm the creator) just wouldn't be possible without the robust Espressif ecosystem, libraries, code samples, docs, etc. Let alone all on a finished product (ESP BOX, $50) available worldwide through their distribution channels! We have a lot of background and experience in this and related fields but the fact remains we went from concept to initial release in less than six weeks (with two part time devs - if you include me, which you shouldn't haha).

    [0] - https://github.com/toverainc/willow/

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts