IoT challenges, checked by the same engine that runs them
An instructor sets a device to build, such as a weather station or a smart irrigation node. Students enter alone or as a group, build together live with turns or free-for-all, and submit. The server rebuilds every entry with the same wiring engine and scores it against the rubric, so the result is the circuit, not the claim.
[01] Challenges
Six challenges to build
Each one uses parts from the STEM Engine's library, so you can build it today, and an instructor can set it as a challenge with exactly these parts. The server checks the parts, the wiring and that it powers up.
- [01]Intermediate
Solar weather station
An ESP32 reads temperature and humidity from a DHT22 and shows them on an LCD, running off a solar panel that charges its own battery.
- Wire the DHT22 data line to an ESP32 pin
- Put the LCD on the I2C bus
- Charge the 18650 cells from the solar panel through the TP4056
- Power it all from the battery, not USB
Parts: ESP32 DevKit V1 · DHT22 Humid/Temp · LCD 16x2 (I2C) · Solar Panel (6V 1W) · TP4056 Charger + Protection · 2S 18650 Pack (7.4V)
- [02]Beginner
Smart irrigation node
A soil-moisture probe tells an ESP32 when the bed is dry, and a relay switches the pump on until it is wet again.
- Read the soil-moisture probe on an analogue pin
- Drive the relay module from a GPIO pin
- Keep the pump circuit on the relay's switched side
- Choose the dry threshold
Parts: ESP32 DevKit V1 · Soil Moisture Sensor · 5V Relay Module (1-channel) · USB 5V Power Supply
- [03]Beginner
Intruder alarm
A PIR sensor watches a doorway; when someone walks past, the Arduino flashes an LED and sounds a buzzer.
- Wire the PIR output to a digital input
- Drive the LED and the buzzer from two outputs
- Add a push button to reset the alarm
Parts: Arduino Uno R3 · PIR Motion Sensor · Active Buzzer · Red LED (5mm) · Push Button
- [04]Beginner
Parking sensor
An HC-SR04 measures the gap to the wall behind a car and the buzzer beeps faster the closer it gets.
- Wire TRIG and ECHO to two digital pins
- Turn the echo time into centimetres
- Map the distance to the beep rate
Parts: Arduino Uno R3 · HC-SR04 Ultrasonic · Active Buzzer · Red LED (5mm)
- [05]Advanced
Obstacle-avoiding rover
A 2WD rover drives forward, and when the ultrasonic sensor on its servo head sees something close it stops, looks both ways and turns to the clearer side.
- Mount the motors on the chassis and wire them to the L298N
- Put the HC-SR04 on the SG90 servo
- Power the motors from the LiPo, the logic from the board
- Drive it in the physics sim
Parts: 2WD Robot Chassis · DC Gear Motor (Left) · DC Gear Motor (Right) · L298N Motor Driver · Arduino Uno R3 · HC-SR04 Ultrasonic · SG90 Micro Servo · 3.7V LiPo
- [06]Intermediate
Solar sun tracker
Two light sensors either side of a solar panel tell a servo which way to turn, so the panel follows the sun across the sky.
- Read each LDR through a voltage divider on an analogue pin
- Compare the two readings
- Turn the SG90 toward the brighter side
- Add a dead band so it does not jitter
Parts: Arduino Uno R3 · LDR Photoresistor · Voltage Divider (1K/2K) · SG90 Micro Servo · Solar Panel (6V 1W)
[02] Step by step
How it goes
- [01]Your instructor sets the device and the rubric
- [02]Enter alone, or invite your group to build together
- [03]Wire the board, sensors and actuators in 3D
- [04]Submit; the server re-derives and scores the circuit
- [05]Download the finished model when it is complete
[03] Specification
Boards and sensors in the parts library
| Microcontrollers | ESP32, ESP8266, Arduino Uno and Nano, Raspberry Pi Pico |
|---|---|
| Computers | Raspberry Pi 5 |
| Sensors | DHT11 and DHT22, HC-SR04 ultrasonic, MPU6050 IMU |
| Actuators | Servos, relay modules, brushless motors with ESCs |
| Power | LiPo packs, solar panels |
| Links | Bluetooth and Wi-Fi |
[04] More builds
Build something else
Start today
Cut your first plate today
Create an account and open the Workshop in your browser, then take a short course to go further.