Skip to content
This repository has been archived by the owner on Nov 2, 2024. It is now read-only.
/ ESP32-LEDControl Public archive

ESP32 LED driver with mobile app for controlling

License

Notifications You must be signed in to change notification settings

Vassterak/ESP32-LEDControl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

My code for ESP32 (espressif32) board. Which is used for controlling Classic LED strip and Addressable LED strip via mobile app over low energy bluetooth protocol (BLE).

What does project contains?

Libraries for microcontroller code:

For addressable LED strip and multiple color effects: FastLED, Documentation 1, Documentation 2
For Bluetooth communication: BLE, Documentation

Hardware for circuit build:

Check out: Schematic

  • 12V power supply (max power depends how many LEDs strips you would like to drive. For me 50W (4A)).
  • Mini SMD step-down 12V => 5V for microcontroller.
  • IoT ESP-WROOM-32 2.4GHz Dual-Mode CP2102 with 4MB Flash.
  • level shifter (required only if Addressable LED strip is not getting strong enough data signal, depends on your Microcontroller)
  • LEDs strips

Software for controlling:

Outcome

video of active leds

image of controller

Get started

  1. Install Visual Studio Code
  2. Install PlatformIO IDE extension (Depending on your Python version you can get error like this) PlatfromIO Image1
  3. Clone repository
  4. Open PlatformIO inside Visual Studio Code and click on Open Project and import cloned repository. 1. select PlatformIO (RED icon) 2. Import project (BLUE icon) PlatfromIO Image2
  5. Check if you have all required libraries PlatfromIO Image3 PlatfromIO Image3
  6. Got to Definitions And add(generate) your own CHARACTERISTIC_UUIDs.

Files explanation

no_ota.csv => file that sets correct partition sizes, needed because BLE library is quite huge. More info.
platformio.ini => file that applies partition config and sets correct dev. board, lib dependencies and other settings. (It's something like simple MAKEFILE)

License

License