Skip to content

Network-based smart LED software built for ESP32 microcontrollers and designed to control individually-addressable "NeoPixel" LEDs. Each device running Ambience can be controlled by any network-capable device using HTTP requests.

Notifications You must be signed in to change notification settings

patrickhirsh/Ambience

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ambience

Ambience is network-based smart LED software built for ESP32 microcontrollers and designed to control individually-addressable "NeoPixel" LEDs. Each device running Ambience can be controlled by any network-capable device using HTTP requests.

This smart LED implementation aims to be lightweight, flexible, and powerful through its simple Web API. Control Ambience devices directly using your favorite home automation software, or implement your own web application or mobile app to compose lighting effects in more complicated ways. Check out my IOS app Home for an example of more complex behavior using Ambience's web API.

Environment Setup

In order to build and flash Ambience onto an ESP32, you'll need to first install the required libraries and tools. Currently you must do the building and flashing of Ambience yourself using Arduino IDE.

  1. Download and install the latest version of the Arduino IDE.
  2. Download and install the ESP32fs plugin.
  3. Follow Espressif's guide for installing the ESP32 board into Arduino's board manager.
  4. Install the required libraries using Arduino's Library Manager.
    • Adafruit NeoPixel by Adafruit (Version 1.10.0+).
    • ArduinoJson by Benoit Blanchon (Version 6.18.4+).
    • ArduinoOTA by Juraj Andrassy (Version 1.0.7+).

Firmware Installation

With the ESP32 connected to you computer via USB, the correct board selected, and the port set to the serial port associated with your ESP32, follow the instructions below to flash Ambience onto your ESP32.

  1. Clone or download the Ambience repository.
  2. Open the Ambience.ino file in your Arduino IDE
  3. Make any desired changes to the configuration macros in "Core.h" for this device.
    • Most noteably, esnure NUM_LEDS, WIFI_SSID, WIFI_PASS, and DATA_PIN are set correctly
  4. Upload content located in the "data" directory to the ESP32's internal storage using the "ESP32 Sketch Data Upload" tool located in the "Tools" dropdown.
  5. Build and Upload the sketch using the "Upload" button.

About

Network-based smart LED software built for ESP32 microcontrollers and designed to control individually-addressable "NeoPixel" LEDs. Each device running Ambience can be controlled by any network-capable device using HTTP requests.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published