Assembly Guide¶
Step-by-step guide to assembling your IoT Toolkit hardware.
Overview¶
This guide will walk you through connecting the ESP32 microcontroller with all sensors, displays, and modules. Follow the steps in order for best results.
Prerequisites¶
Before starting assembly: - Complete the Hardware List checklist - Set up Prerequisites (software and drivers) - Have a clean, static-free workspace - Prepare your breadboard and jumper wires
Step 1: ESP32 Basic Setup¶
1.1 Place ESP32 on Breadboard¶
- Position the ESP32 across the center divider of the breadboard
- Align pins so GND, 3.3V, and GPIO pins are accessible
- Ensure the board is seated firmly
1.2 Power Connections¶
Connect ESP32 power rails to breadboard:
| ESP32 Pin | Breadboard Connection |
|---|---|
| 3.3V | Red power rail (+) |
| GND | Blue power rail (-) |
Do NOT use 5V
ESP32 GPIO pins are 3.3V tolerant. Using 5V will damage the board.
1.3 Verify Power¶
- Connect USB cable to ESP32
- Check that power LED on ESP32 lights up
- Open Arduino IDE Serial Monitor (115200 baud)
- You should see boot messages
Step 2: I2C Multiplexer Setup¶
The I2C multiplexer resolves address conflicts when multiple devices share the I2C bus.
2.1 I2C Multiplexer Wiring¶
| Multiplexer Pin | ESP32 Pin | Connection |
|---|---|---|
| VCC | 3.3V | Power |
| GND | GND | Ground |
| SDA | GPIO21 | I2C Data |
| SCL | GPIO22 | I2C Clock |
2.2 Test Multiplexer¶
Step 3: Sensor Connections¶
3.1 Temperature Sensor¶
| Sensor Pin | Connection | Notes |
|---|---|---|
| VCC | 3.3V | Power |
| GND | GND | Ground |
| SDA | I2C Data | |
| SCL | I2C Clock |
3.2 Humidity Sensor¶
3.3 Vibration Sensor¶
3.4 Acoustic Sensor¶
Step 4: Display Connections¶
4.1 LCD Display¶
4.2 TFT Display¶
Step 5: Module Connections¶
5.1 Voice Module¶
5.2 Camera Module¶
Complete Wiring Diagram¶
ESP32 DevKit
|
|-- 3.3V --> Power Rail (+)
|-- GND --> Power Rail (-)
|
|-- GPIO21 (SDA) --> I2C Bus
|-- GPIO22 (SCL) --> I2C Bus
|
|-- [Sensor Connections]
|-- [Display Connections]
|-- [Module Connections]
Testing the Assembly¶
Test 1: Power-Up Test¶
- Connect USB to ESP32
- Verify all status LEDs on sensors/displays
- Check for any burning smell or heat
Test 2: I2C Scan¶
Upload I2C scanner sketch to detect connected devices:
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(115200);
Serial.println("\nI2C Scanner");
}
void loop() {
byte error, address;
int nDevices = 0;
Serial.println("Scanning...");
for(address = 1; address < 127; address++) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("I2C device found at address 0x");
if (address < 16) Serial.print("0");
Serial.print(address, HEX);
Serial.println();
nDevices++;
}
}
if (nDevices == 0) {
Serial.println("No I2C devices found\n");
} else {
Serial.println("done\n");
}
delay(5000);
}
Expected output should show detected I2C addresses for your sensors.
Troubleshooting¶
| Problem | Solution |
|---|---|
| ESP32 not detected | Check USB cable and driver installation |
| No I2C devices found | Check SDA/SCL wiring, verify power to sensors |
| Sensor returns 0 or null | Verify correct I2C address, check library |
| Display blank | Check contrast/brightness, verify wiring |
Next Steps¶
After successful assembly:
- Test individual sensors: Sensor Documentation
- Set up displays: Display Guide
- Configure cloud connection: Cloud Setup
Assembly Complete!
If all tests pass, you're ready to start programming!