This shows you the differences between two versions of the page.
iothings:proiecte:2025sric:ledstrip [2025/05/29 00:27] andrei.besliu [Challenges] |
iothings:proiecte:2025sric:ledstrip [2025/05/29 00:48] (current) andrei.besliu [ESP32 Web-based LED strip] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== ESP32 Web-based LED strip ====== | + | ====== ESP32 BLE-based LED strip ====== |
* Author: Besliu Andrei-Cornel | * Author: Besliu Andrei-Cornel | ||
Line 5: | Line 5: | ||
* Master: SCPD | * Master: SCPD | ||
* Video Link: https://youtu.be/Q6bHqYo0OGY | * Video Link: https://youtu.be/Q6bHqYo0OGY | ||
- | * Source Code: TBD | + | * Source Code: {{:iothings:proiecte:2025sric:besliu_andrei_iot.zip}} |
====== Introduction ====== | ====== Introduction ====== | ||
Line 12: | Line 12: | ||
====== Hardware ====== | ====== Hardware ====== | ||
- | * ESP32-WROOM-32: 1 x ESP32 Sparrow development board | + | * **ESP32-WROOM-32:** 1 x ESP32 Sparrow development board |
- | * NeoPixel LED Strip: 1 x 5m NeoPixel LED strip, 300 LED's. | + | * **NeoPixel LED Strip:** 1 x 5m NeoPixel LED strip, 300 LED's. |
- | * Breadboard: 1x Breadboard for securing connections. | + | * **Breadboard:** 1x Breadboard for securing connections. |
- | * Connecting Cables | + | * **Connecting Cables** |
- | * USB-A to micro USB cable | + | * **USB-A to micro USB cable** |
====== Diagram ====== | ====== Diagram ====== | ||
Line 153: | Line 152: | ||
</code> | </code> | ||
====== Challenges ====== | ====== Challenges ====== | ||
+ | |||
+ | Not having proper soldering tools leads to bad electrical contacts and makes it a nightmare to debug any issues. Thankfully, jamming a wire through the ESP32 DevBoard pins worked brilliantly, just don't ask me to move it anywhere. | ||
Initially I wanted to use both BLE and a webpage hosted on the ESP32 itself to allow control of the LED strip from multiple sources but due to memory constraints on the ESP32 I had to choose only one (91% memory usage with the BLE implementation alone). | Initially I wanted to use both BLE and a webpage hosted on the ESP32 itself to allow control of the LED strip from multiple sources but due to memory constraints on the ESP32 I had to choose only one (91% memory usage with the BLE implementation alone). | ||
Line 161: | Line 162: | ||
====== References ====== | ====== References ====== | ||
- | + | * Adafruit_NeoPixel: https://github.com/adafruit/Adafruit_NeoPixel | |
+ | * ArduinoBle: https://docs.arduino.cc/libraries/arduinoble/ | ||
+ | * Our OCW labs. | ||
+ | * Some helpful StackOverflow threads. |