An ESP32-C3 sensor without writing a single line of code

Pick the board, wire a BME280, choose a power mode and flash it from Chrome. Step by step through the HydroNode Device Builder, with updates over the air afterwards.

HydroNode 9 min read
The HydroNode Device Builder start page with three ways to build a deviceThe HydroNode Device Builder start page with three ways to build a device

An ESP32-C3 SuperMini costs a few euros, so does a BME280. Tonight they become a climate sensor that runs for weeks on a battery in deep sleep and takes new settings over WiFi. No Arduino IDE, no PlatformIO, not a single line of code. Just Chrome and a USB cable.

What you need

ESP32-C3 SuperMiniOr any ESP32, S2, S3, C3, C6 or ESP8266 with at least 4 MB of flash.
BME280Temperature, humidity and pressure over I²C.
A USB cable that carries dataMany charging cables only carry power, and then the browser never sees the board.
Chrome or EdgeOn a computer. Firefox 151 or newer works too. Plus a 2.4 GHz WiFi.

Wiring

BME280 VIN to 3V3, GND to GND, SDA to GPIO 6 and SCL to GPIO 7. On the SuperMini those are the builder's default I²C pins. Stay away from GPIO 8 and 9: the LED and the BOOT button live there.

Start the builder

  1. Open FleetIn the top navigation, FleetDevice builder.
  2. Pick a pathFor a single device, Build for a sensor. The other two cards are for templates you use to flash many identical boards.
The Device Builder start page with three cardsThe Device Builder start page with three cards
Three ways in. Setups and templates never store your WiFi.
  1. SensorWhere it reports
  2. BoardChip and pins
  3. WiringSensors and outputs
  4. PowerSleep mode
  5. TimingInterval
  6. WiFiStays local
  7. FlashOver USB
Seven questions, one per page. A rail on the left shows where you are, and every step stays clickable.

Steps 1 and 2: sensor and board

Pick the HydroNode sensor the device reports to, or create it right here. Then the board. Each chip family says what it can take over the air: firmware and config on every ESP32, config only on the ESP8266. The battery icon marks boards that draw well under 1 mA in deep sleep.

Board selection in the Device Builder grouped by chip familyBoard selection in the Device Builder grouped by chip family
If your board is missing, pick the development kit with the same chip. The firmware is the same.

Step 3: what is wired to the board?

Click BME280 in the list. The builder puts it on the default pins, picks the address 0x76 and adds the three values as TEMPERATURE, HUMIDITY and PRESSURE. The pin map on the right shows what is taken and warns about conflicts. Pins are never moved silently.

Not sure the wiring is right?Scan the board next to the pin map briefly flashes a small scanner and lists every I²C address that answers. Next to each address are the sensors it could be, and one click adds it.

Step 4: how it sleeps

The builder picks the most frugal mode your parts allow and shows the average current of exactly this setup next to it. With a BME280 on the SuperMini that is Deep sleep. Two options are worth it: Fast reconnect remembers the access point and channel and saves one to three seconds per round. And the sensors can be switched off completely through a pin while the board sleeps.

Power modes in the Device Builder with an estimated current per modePower modes in the Device Builder with an estimated current per mode
From Always on to Deep sleep, each with the estimated current for your setup.
Don't panic In deep sleep the USB port disappears from your computer. That is expected. To flash over the cable again later, press RESET once.

Step 5: how often it sends

One round every 5 minutes is plenty for indoor climate. The builder shows what a round costs: boot, reading the sensors, WiFi, the secure connection. Enter your battery's capacity and it estimates the runtime. Single values can go out less often, for example pressure only every third round.

The timing step with interval, cost of a round and battery lifeThe timing step with interval, cost of a round and battery life
2.6 seconds awake per round, about 1.9 mA on average. On 2,000 mAh that is roughly five weeks.

Step 6: WiFi

Network name and password. The password goes from this page straight onto the board over USB and never reaches HydroNode. If you save it with your passkey, it is encrypted in the browser and fills in by itself next time, even on another computer. No details at hand? With Skip, use placeholders you can still download, just not flash.

Step 7: flash

  1. Check the summarySensor, board, wiring, timing and WiFi are listed one more time.
  2. Flash nowPlug the board in and press Flash now. Chrome asks which device: pick the board.
  3. WatchThe page shows each phase: preparing, connecting, writing, restarting. Then it follows the board until its first reading arrives. That takes about a minute.
The last Device Builder step with a summary and a note about updates over the airThe last Device Builder step with a summary and a note about updates over the air
Only Flash now installs the HydroNode firmware, and only that firmware updates over the air afterwards.

Prefer your own code? The same page offers a PlatformIO project, an Arduino sketch or ESPHome YAML to download. Those devices do not get updates from Fleet, though.

And afterwards?

The setup is saved on the sensor under SettingsDevice setup. From there you reflash it with one click, for example onto a spare board, or keep it as a template. Fleet lists the device with its firmware and config revision. When you later want a different interval or a second sensor, press Change config there and the change goes to the board over WiFi. The details are in Update every device over the air.

Read more