1.40 7.3 Bluetooth Audio Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.41 7.4 SD Card Write and Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
1.42 7.5 MP3 Player with SD Card Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
1.43 7.6 Take Photo SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
1.44 8.1 Real-time Weather From @OpenWeatherMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
1.45 8.2 Camera Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
1.46 8.3 Custom Video Streaming Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
1.47 8.4 IoT Communication with MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
1.48 8.5 CheerLights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
1.49 8.6 Temperature and Humidity Monitoring with Adafruit IO . . . . . . . . . . . . . . . . . . . . . . 189
1.50 8.7 ESP Camera with Telegram Bot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
1.51 8.8 Camera with Home Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
1.52 8.9 Blynk-based Intrusion Notification System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
1.53 8.10 Android Application - RGB LED Operation via Arduino and Bluetooth . . . . . . . . . . . . . 238
2 Arduino Video Course 253
2.1 Video 1 - Introduce this Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
2.2 Video 2 - What’s ESP32, Camera Extension Board? . . . . . . . . . . . . . . . . . . . . . . . . . . 253
2.3 Video 3: “Hello LED” Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
2.4 Video 4 - Data Types, Variables, and Serial Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . 254
2.5 Video 5: LED Fade - Controlling LED Brightness . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
2.6 Video 6: Controlling RGB LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
2.7 Video 7: Arrays and Loops in Arduino Programming . . . . . . . . . . . . . . . . . . . . . . . . . . 256
2.8 Video 8: Walking Light with 74HC595 Shift Register . . . . . . . . . . . . . . . . . . . . . . . . . 256
2.9 Video 9: Toggle LED with Push Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
2.10 Video 10: Digital Counter with Seven-Segment Display . . . . . . . . . . . . . . . . . . . . . . . . 257
2.11 Video 11: Using LCD1602/LCD2004 with ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
2.12 Video 12: Using WS2812 RGB Strip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
2.13 Video 13: Arduino Beep with Active Buzzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
2.14 Video 14: Playing Custom Music Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
2.15 Video 15: DC Motor Speed Control with ESP32 L293D . . . . . . . . . . . . . . . . . . . . . . . . 259
2.16 Video 16: Mini Water Pump using ESP32 and L293D . . . . . . . . . . . . . . . . . . . . . . . . . 260
2.17 Video 17: Controlling Servo Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
3 For MicroPython User 261
3.1 1.1 Introduction of MicroPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
3.2 1.2 Install Thonny IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
3.3 1.3 Install MicroPython on the ESP32(Important) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
3.4 1.4 Upload the Libraries (Important) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
3.5 1.5 Quick Guide on Thonny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
3.6 1.6 (Optional) MicroPython Basic Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
3.7 2.1 Hello, LED! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
3.8 2.2 Fading LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
3.9 2.3 Colorful Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
3.10 2.4 Microchip - 74HC595 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
3.11 2.5 Number Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
3.12 2.6 Display Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
3.13 2.7 RGB LED Strip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
3.14 3.1 Beep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
3.15 3.2 Custom Tone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
3.16 4.1 Small Fan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
3.17 4.2 Pumping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
3.18 4.3 Swinging Servo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
3.19 5.1 Reading Button Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
ii