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…
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
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.
- 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.
- An 802.15.4 radio, the low-power radio standard under Thread and Zigbee, which Chapter 7 uses. The S3 has none.
- 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
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
Thread runs over 802.15.4. Only the C6 has that radio, so the C6.
-
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
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
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
Check the Wi-Fi column. The H2 has no Wi-Fi radio at all.
-
3
What it can do. BLE and 802.15.4: it fits Chapters 6 and 7, not Chapter 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…
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
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
One-time: 5 \times 40 = 200 dollars for modules.
-
3
Recurring: 5 \times 4 \times 12 = 240 dollars for a year of plans.
-
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?
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?
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?
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?
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?
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?
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?
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.
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?
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.
A tutorial for US readers lists a 915 MHz LoRa module. A reader in Germany wants to follow it. What should they buy?
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.