Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

The connected kit

~30 min

The kit for this course is mostly the kit you have. An ESP32-S3 board, a breadboard, a temperature sensor and a small display carry most of the labs. This section adds three things: a second ESP32 with a newer radio, a spare board to talk to, and a role for the computer you are reading this on. Everything beyond that is optional, and some of it costs money every month, so this section also says how to tell before you buy.

What you need, and when

A development board is a small chip mounted on a little circuit board, with a USB socket and rows of pins. You can program it from your computer and plug wires into it. You may well own one already: an ESP32-S3 board, plus a breadboard, a temperature sensor and a small screen. Those carry most of this course.

This course adds three things to that kit. Together they are the connected kit.

First, a second kind of ESP32 board, the ESP32-C6. Its radio is newer, and a later part of the course uses it for programs written in Rust.

Second, any spare ESP32 board. Some labs need two devices talking directly to each other, and you can't do that with one.

Third, your own computer. It plays a real role. It runs the program that collects messages from your boards, and the programs that store and show them. You don't need to rent anything.

Everything else in the table is optional. A few optional parts cost money every month, such as a mobile data plan. Prices here are only rough ranges, checked in October 2026, because they change from shop to shop and month to month. Buy from the board maker or a shop it lists, and download the board's documentation before you order.

The connected kit is the hardware this course's labs use, on top of the starter kit a reader of embedded-systems owns. A development board is a microcontroller module mounted on a small circuit board with a USB connector, a voltage regulator and pin headers, so it can be programmed and wired on a breadboard. Most of this course needs only the items marked required.

Item Why Needed
ESP32-S3 development board (for example ESP32-S3-DevKitC-1) C++ firmware in almost every lab Required
ESP32-C6 development board (for example ESP32-C6-DevKitC-1) Wi-Fi 6, 802.15.4 radios, Rust with the stock toolchain Required from Chapter 7 and for Chapters 17–18
A second ESP32 of any kind Device-to-device labs: ESP-NOW, a BLE central and peripheral Recommended from Chapter 6
Your own computer (Windows, macOS or Linux) Runs the message server, the programs that store readings, and the tools Required
Raspberry Pi 4 or 5 A Linux gateway; GPIO from .NET in Chapter 16 Optional
BME280 or SHT31 sensor, small OLED Readings and a local display for every lab Required (from the starter kit)
Soil-moisture sensor, small pump with a MOSFET driver The irrigation capstone Optional
I²S microphone, IMU (accelerometer and gyroscope) Edge AI in Chapter 24 Optional
LoRa module for your region (868 or 915 MHz) Chapter 7 §4 Optional; region rules apply
LTE-M / NB-IoT cellular module and SIM Chapter 7 §5 Optional; monthly cost

Your computer is a real part of the kit. It runs Mosquitto, the message server most labs send readings to, and the Python programs that store and display them. Nothing in a required lab depends on a paid service or on someone else's server.

Prices change by country, seller and month, so they appear here only as rough bands, checked in October 2026:

Item Typical price band (USD, October 2026)
ESP32-S3 or ESP32-C6 development board about $8–20
A second, basic ESP32 board about $5–15
Raspberry Pi 5 with power supply and microSD card about $70–120
LoRa module or development board about $10–35
Cellular LTE-M module about $25–70, plus a SIM plan
SIM data plan for a few devices from about 1 to 10 per device per month

Buy from an authorized distributor or the board maker's own store, and download the board's documentation before you order it.

Required, recommended or optional?

Sort each part by how much this course needs it. Decide before you drag, then check against the table.

Loading interactive…

Correct! 🎉 Not quite.

Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.

What this task checks

Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.

The compiler says

A model answer

Correct answer

Also accepted:

Why

Why

The two ESP32 boards and your computer carry the required labs. A second board makes the device-to-device labs possible. A Pi, LoRa and cellular each serve one optional chapter or lab.

Why an ESP32-C6 as well

Espressif, the company that makes ESP32 chips, sells a whole family of them. They differ in two ways that matter here: which radios they have, and what kind of processor runs your program.

The table is our best knowledge in October 2026. Check each fact on Espressif's own product page before you rely on it. Chips get updated, and the software around them changes faster still.

There are three reasons to add an ESP32-C6.

Its Wi-Fi is newer, called Wi-Fi 6. One Wi-Fi 6 feature lets a device and the router agree on when the device will next wake up. Between those times the device can sleep, which saves battery. It only works if your router is a Wi-Fi 6 model that supports the feature too.

It has a second radio of a kind the S3 lacks, called 802.15.4. That's a low-power radio used by home-automation systems such as Thread and Zigbee. Chapter 7 uses it.

And its processor is a kind called RISC-V. The Rust programming language supports RISC-V directly, so the later Rust chapters can use the normal Rust tools. The S3's processor needs a special version of them.

One last fact: both boards use only 2.4 GHz Wi-Fi. If your router also has a 5 GHz network, the boards can't see it.

Espressif's chips differ mainly in their radios and their processor cores, and both decide what a lab can do. The table below is working knowledge as of October 2026. Confirm each row on Espressif's product page and the chip's datasheet before you rely on it: chips gain revisions, and the software support around them changes faster than the silicon.

Chip Wi-Fi Bluetooth IEEE 802.15.4 (Thread, Zigbee) Cores Rust (esp-hal)
ESP32-S3 Wi-Fi 4 (802.11n), 2.4 GHz BLE 5 No 2 × Xtensa LX7 Needs Espressif's forked toolchain (espup)
ESP32-C3 Wi-Fi 4, 2.4 GHz BLE 5 No 1 × RISC-V Stock stable Rust
ESP32-C6 Wi-Fi 6 (802.11ax), 2.4 GHz BLE 5 Yes 1 × RISC-V, plus a low-power RISC-V core Stock stable Rust
ESP32-H2 None BLE 5 Yes 1 × RISC-V Stock stable Rust
ESP32 (original) Wi-Fi 4, 2.4 GHz Classic Bluetooth and BLE No 2 × Xtensa LX6 Forked toolchain

Three reasons put the ESP32-C6 in the kit.

  1. Wi-Fi 6. Its 802.11ax radio supports Target Wake Time, where a device and an access point agree when the device will next wake. A sleeping sensor can then skip beacons it doesn't need. It helps only if your access point also speaks Wi-Fi 6 and supports the feature.
  2. An 802.15.4 radio, the low-power radio standard under Thread and Zigbee, which Chapter 7 uses. The S3 has none.
  3. RISC-V cores. The Rust compiler supports RISC-V out of the box, so Chapters 17 and 18 build ESP32-C6 firmware with the ordinary, stable Rust toolchain. The S3's Xtensa cores need a separate fork.

Both boards run 2.4 GHz Wi-Fi only. A home router's 5 GHz network is invisible to them, which matters in Chapter 4.

Worked example

Which board for which lab

  1. 1

    A learner owns one ESP32-S3 and one ESP32-C6. Which board fits each of these: a Thread sensor in Chapter 7, the C++ MQTT sketch in Chapter 9, and a Rust blink in Chapter 18?

  2. 2

    Thread runs over 802.15.4. Only the C6 has that radio, so the C6.

  3. 3

    The C++ MQTT sketch needs Wi-Fi and the Arduino-ESP32 core, which both boards have. Either works; these pages compile it for both.

  4. 4

    Rust blink. The C6 builds with stock stable Rust, and the course's build checks its Rust code for that chip. The S3 can run Rust too, but only with the forked toolchain. Use the C6.

Worked example

A board that can't join your Wi-Fi

  1. 1

    A learner buys an ESP32-H2 board for the Wi-Fi chapter because it was cheap and "has Bluetooth and Thread." What goes wrong?

  2. 2

    Check the Wi-Fi column. The H2 has no Wi-Fi radio at all.

  3. 3

    What it can do. BLE and 802.15.4: it fits Chapters 6 and 7, not Chapter 4.

  4. 4

    The habit. Read the radio list on the vendor's page before buying, not the listing's headline.

Optional radios and what they cost later

Two optional radios come with strings attached.

LoRa sends small messages a very long way, several kilometres, on very little power. It uses radio bands that anyone may use without a license. But each part of the world has its own band. Europe uses around 868 MHz, and the United States around 915 MHz. A LoRa module is built for one band, so buy one sold for your country.

Europe also limits how much of the time a device may transmit, often 1 percent. That's 36 seconds of sending per hour. Chapter 7 shows what fits in that.

Cellular radios, called LTE-M and NB-IoT, use the same phone networks as your mobile phone. So each device needs a SIM card and a data plan, and that plan costs money every month, for every device. A board you buy once doesn't.

These radio rules are law in each country, not tips. Using the wrong module, or sending too much, is illegal.

Two optional radios come with conditions that Wi-Fi and Bluetooth don't.

LoRa is a long-range, low-data-rate radio that works in unlicensed bands, and the band depends on where you live: 863–870 MHz in Europe, 902–928 MHz in the United States, other ranges elsewhere. A module is built for one band, so buy one sold for your region. In Europe's 868 MHz band, the rules also limit duty cycle, the fraction of time a device may transmit: commonly 1% in the sub-bands LoRaWAN uses, which is 36 s of airtime per hour. Chapter 7 §4 works through what that allows.

Cellular IoT (LTE-M, NB-IoT) uses a mobile operator's network, so a device needs a SIM and a data plan. That is a recurring cost, paid every month for every device, unlike a board you buy once. Check that your operator supports the technology where you live; coverage differs by country.

Radio rules are national law, not advice. A module sold for the wrong region, or a device that transmits more than its band allows, is illegal to operate there.

Do I need to buy a radio module?

A learner in Germany wants a soil sensor 2 km from the house, with no Wi-Fi out there and no wish to pay a monthly fee. Answer each question to land on what to buy.

Loading interactive…

Correct! 🎉 Not quite.

Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.

What this task checks

Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.

The compiler says

A model answer

Correct answer

Also accepted:

Why

Worked example

Counting a recurring cost

  1. 1

    A learner plans 5 cellular soil sensors for a year, on a plan that costs 4 per device per month. The modules cost 40 each. What does the first year cost?

  2. 2

    One-time: 5 \times 40 = 200 dollars for modules.

  3. 3

    Recurring: 5 \times 4 \times 12 = 240 dollars for a year of plans.

  4. 4

    Total: 200 + 240 = 440 dollars, and the second year adds another 240 with no new hardware. The plan, not the module, is the larger cost.

Check your understanding (counts toward your progress)

A learner wants one board that can do Wi-Fi, Thread and Rust with the stock stable toolchain. Which fits?

Correct! 🎉 Not quite.

Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.

The S3 has no 802.15.4 radio and needs a forked Rust toolchain.

The H2 has Thread and stock Rust, but no Wi-Fi.

The C3 has Wi-Fi and stock Rust, but no 802.15.4 radio for Thread.

Why

Only the C6 has all three: Wi-Fi 6, an 802.15.4 radio and RISC-V cores that stock stable Rust targets.

Check three columns at once: Wi-Fi, 802.15.4 and Rust.

Three cellular sensors each need a $5-per-month SIM plan. What do the plans cost for one year, in dollars?

Correct! 🎉 Not quite.

Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.

Why

3 × 5 × 12 = 180 dollars, every year, on top of the modules.

Correct answer

Also accepted:

Why

Multiply devices, dollars per month and months.

A learner's router offers one 2.4 GHz network and one 5 GHz network. Which can the ESP32-S3 and ESP32-C6 join?

Correct! 🎉 Not quite.

Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.

Wi-Fi 6 is a standard, not a band. The C6's Wi-Fi 6 radio is 2.4 GHz only.

Neither board has a 5 GHz radio.

Both chips are 2.4 GHz only, including the C6.

Why

Both boards are 2.4 GHz only. A 5 GHz network is invisible to them, which is a common reason a first Wi-Fi sketch never connects.

Read the Wi-Fi column for both chips, especially the frequency.

Which chip in the comparison table has no Wi-Fi radio at all?

Correct! 🎉 Not quite.

Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.

The C3 has a 2.4 GHz Wi-Fi 4 radio.

The S3 does have Wi-Fi: version 4, on 2.4 GHz.

The C6 has Wi-Fi 6 on 2.4 GHz.

Why

The H2 has BLE and an 802.15.4 radio, but no Wi-Fi. It fits the Bluetooth and Thread chapters, not the Wi-Fi ones.

Look for the word None in the Wi-Fi column.

Practice: Planning the kit (5 problems · doesn’t affect your progress)

Which item turns two single-device labs into a device-to-device lab?

Correct! 🎉 Not quite.

Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.

A Pi is a Linux computer, used as a gateway, not as a peer device for ESP-NOW or BLE.

LoRa is an optional long-range radio with its own rules.

Space isn't the issue; a second radio is.

Why

Device-to-device labs need two devices: any second ESP32 will do.

A second ESP32 of any kind

Which chip pairs BLE with an 802.15.4 radio but has no Wi-Fi?

Correct! 🎉 Not quite.

Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.

The C6 has Wi-Fi 6 as well.

The C3 has Wi-Fi but no 802.15.4.

The original has Wi-Fi and Classic Bluetooth, no 802.15.4.

Why

The H2 is the Thread/Zigbee and BLE part with no Wi-Fi radio.

ESP32-H2

Four cellular sensors cost 35 each, and each needs a 3-per-month plan. What does the first year cost in total, in dollars?

Correct! 🎉 Not quite.

Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.

Why

Modules 4 × 35 = 140; plans 4 × 3 × 12 = 144; total 284 dollars.

Correct answer

Also accepted:

Why

Add the one-time module cost to twelve months of plans.

284

Under a 1% duty-cycle limit, a LoRa message takes 0.4 s of airtime. At most how many such messages may the device send per hour?

Correct! 🎉 Not quite.

Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.

Why

1% of 3600 s is 36 s; 36 / 0.4 = 90 messages per hour.

Correct answer

Also accepted:

Why

First find the airtime allowed per hour.

90

A tutorial for US readers lists a 915 MHz LoRa module. A reader in Germany wants to follow it. What should they buy?

Correct! 🎉 Not quite.

Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.

915 MHz is the wrong band in Germany and illegal to transmit on there.

LTE-M is a different technology, with a monthly plan and its own coverage map.

No ESP32 in the kit has a LoRa radio.

Why

Same design, regional band: in Europe that means an 868 MHz module, used within the duty-cycle limit.

The same kind of module, sold for 868 MHz

Where this goes next

The ESP32-S3 runs the C++ firmware from Chapter 4's first Wi-Fi join to the capstones. The ESP32-C6 takes over in Chapter 7 for Thread and Zigbee, and in Chapters 17 and 18 for Rust. The second board pairs with the first in Chapter 6 (BLE) and Chapter 7 §1 (ESP-NOW). The cost arithmetic above returns in Chapter 12 §6, where a whole fleet's recurring costs are estimated.

Feeling good about this section?

Take the section quiz

Every answer gets a full explanation at the end.

Sign in to save highlights

Insert an equation

  • No matches.