• Stars
    star
    714
  • Rank 63,413 (Top 2 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

FastLED + ESP8266 Web Server

Control an addressable LED strip with an ESP8266 via a web browser or infrared remote control.

Hardware

ESP8266 development board

Wemos D1 Mini Pro & Headers

Wemos D1 Mini & Headers

or

Adafruit HUZZAH ESP8266 Breakout

Adafruit HUZZAH ESP8266 Breakout

Addressable LED strip

Adafruit NeoPixel Ring

Adafruit NeoPixel Ring

Other hardware:

Recommended by Adafruit NeoPixel "Best Practices" to help protect LEDs from current onrush:

Optional shield to make everything more tidy:

Wemos D1 Mini ESP8266 LED & Level Shifter Shield

Wemos D1 Mini ESP8266 LED & Level Shifter Shield

Features

  • Turn the NeoPixel Ring on and off
  • Adjust the brightness
  • Change the display pattern
  • Adjust the color

Web App

Web App

Patterns are requested by the app from the ESP8266, so as new patterns are added, they're automatically listed in the app.

The web app is stored in a file system in on-board flash memory. The file system used is LittleFS (Note: prior versions used SPIFFS).

The web app is a single page app that uses jQuery and Bootstrap. It has buttons for On/Off, a slider for brightness, a pattern selector, and a color picker (using jQuery MiniColors). Event handlers for the controls are wired up, so you don't have to click a 'Send' button after making changes. The brightness slider and the color picker use a delayed event handler, to prevent from flooding the ESP8266 web server with too many requests too quickly.

Installing

The app is installed via the Arduino IDE which can be downloaded here. The ESP8266 boards will need to be added to the Arduino IDE which is achieved as follows. Click File > Preferences and copy and paste the URL "http://arduino.esp8266.com/stable/package_esp8266com_index.json" into the Additional Boards Manager URLs field. Click OK. Click Tools > Boards: ... > Boards Manager. Find and click on ESP8266 (using the Search function may expedite this). Click on Install. After installation, click on Close and then select your ESP8266 board from the Tools > Board: ... menu.

The app depends on the following libraries. They must either be downloaded from GitHub and placed in the Arduino 'libraries' folder, or installed as described here by using the Arduino library manager.

Download the app code from GitHub using the green Clone or Download button from the GitHub project main page and click Download ZIP. Decompress the ZIP file in your Arduino sketch folder.

Here are the board settings I use:

image

The web app needs to be uploaded to the ESP8266's file system. You can do this within the Arduino IDE after installing the Arduino ESP8266 LittleFS.

With the upload tool installed, upload the web app using ESP8266 LittleFS Data Upload command in the Arduino Tools menu.

Compression

The web app files can be gzip compressed before uploading to the ESP8266's file system by running the following command:

gzip -r data/

The ESP8266WebServer will automatically serve any .gz file. The file index.htm.gz will get served as index.htm, with the content-encoding header set to gzip, so the browser knows to decompress it. The ESP8266WebServer doesn't seem to like the Glyphicon fonts gzipped, though, so I decompress them with this command:

gunzip -r data/fonts/

REST Web services

The firmware implements basic RESTful web services using the ESP8266WebServer library. Current values are requested with HTTP GETs, and values are set with POSTs using query string parameters. It can run in connected or standalone access point modes.

Infrared Remote Control

Control via infrared remote control is also supported, via the ESP8266 port of the IRremote library.

More Repositories

1

led-mapper

An online tool to generate and visualize maps for irregular and/or gapped LED layouts, for use with FastLED, Pixelblaze and other libraries.
JavaScript
215
star
2

esp32-fastled-webserver

Work in progress ESP32 port of https://github.com/jasoncoon/esp8266-fastled-webserver
C
198
star
3

macrochips

A collection of laser engraved, 4 inch slate tile microchip coasters.
54
star
4

esp32-fastled-ble

Control addressable RGB LEDs via BLE using an ESP32 and FastLED
C
37
star
5

esp8266-fastled-audio

C++
35
star
6

SmartMatrix-FastLED-Examples

Examples of integration of Smartmatrix and FastLED
Arduino
14
star
7

BlinkyTileFastLED

BlinkyTile control using the FastLED library and an Arduino or Teensy
Arduino
14
star
8

SpectrumAnalyzerStrip

Spectrum analyzer using a Teensy 3.1 and an APA102 RGB LED strip.
Arduino
12
star
9

icosaLEDron

20-sided regular icosahedron made of PCBs with WS2812B-Mini 3535 RGB LEDs, LiPo battery, accelerometer, gyro, compass & other sensors.
C++
12
star
10

useless

Arduino controlled moody useless machine
Arduino
11
star
11

fibonacci64-touch-demo

Demo Arduino firmware for Fibonacci64 Micro v2 with touch pads
C
11
star
12

fastled-arcade

C
10
star
13

SmartMatrixLife

Conway's Game of Life on a SmartMatrix display using the FastLED library
Arduino
10
star
14

cyclohex-touch-demo

Demo Arduino firmware for CycloHex hexagonally-nested rings with 228 LEDs and six touch pads
C
8
star
15

fibonacci64-nano-touch-demo

C
7
star
16

SparkRing

SparkRing
JavaScript
6
star
17

fibonacci-demoreel

Fibonacci Demo Reel for any Arduino-compatible microcontroller.
C++
6
star
18

FastLED-Lessons

6
star
19

fibonacci64-circuitpython-demoreel

Fibonacci64 Demo Reel - CircuitPython, NeoPixel & FancyLED
Python
6
star
20

NoiseSmearing

NoiseSmearing, by Stefan Petrick, originally shared at: https://gist.github.com/StefanPetrick/9ee2f677dbff64e3ba7a
Arduino
6
star
21

LightAppliance

LightAppliance application for SmartMartix LED array
C++
5
star
22

FastLED-Photon-Blink-Example

C++
5
star
23

fibonacci

C++
5
star
24

APA102_Teensy_IR

C
4
star
25

demoreel100-buttons

C++
4
star
26

esp32-power-meter

ESP32 Power Meter
C++
4
star
27

SmartMatrixSpectrumAnalyzerBasic

Basic spectrum analyzer using Teensy Audio Library and SmartMatrix
Arduino
3
star
28

fibonacci128-touch-demo

C
3
star
29

ParticleCoreMatrixLamp

RGB LED matrix lamp using a Particle Core, FastLED, and 90 APA102C RGB LEDs.
Arduino
3
star
30

aurora-web-server-application

Web server application for controlling a SmartMatrix display running Aurora via the USB port.
HTML
3
star
31

fibonacci64-dial-prop

C++
3
star
32

fibonacci512-pixelblaze

A repository of patterns for the Fibonacci512 with Pixelblaze: https://www.evilgeniuslabs.org/fibonacci512-pixelblaze
JavaScript
3
star
33

Neosegment-FastLED-DemoReel100

Demo reel of a few patterns for Neosegment RGB seven-segment LED displays, using the FastLED library.
Arduino
3
star
34

ruler

SVG ruler generator
JavaScript
3
star
35

feather_ble_lamp_fastled

C
2
star
36

fibonacci182-card

Fibonacci 182 Card is a beautiful credit card sized rectangle with 182 RGB LEDs surface mounted in a Fibonacci distribution. Swirling and pulsing like a tiny galaxy, it's mesmerizing to watch.
C
2
star
37

fastled-jack-o-lantern

Arduino
2
star
38

releases

Upcoming releases.
HTML
2
star
39

fibonacci256-pixelblaze

A repository of patterns for the Fibonacci256 with Pixelblaze: https://www.evilgeniuslabs.org/fibonacci256-pixelblaze
JavaScript
2
star
40

fibonacci-pi

Fibonacci RGB LED disc driven by a Raspberry Pi
Python
2
star
41

RainbowSmoke

Arduino
1
star
42

SmartMatrixFadeCandyHtml

JavaScript
1
star
43

rgb-led-race-gate

C++
1
star
44

APA102-Strip

Arduino
1
star
45

f256-nunchuk-games

C
1
star
46

FastLED-Photon-IR-DemoReel

APA102 RGB LED strip driven with a Particle Photon, controlled via infrared remote control and/or web app over WiFi
C++
1
star
47

Fibonacci48x14mmDemo

Fibonacci48 x 14mm Demo Sketch
C
1
star
48

Teensy32x32MatrixSlideshow

Dynamically displaying bitmap images and animations on a 32x32 RGB LED Matrix using a Teensy v3.1, an SD card adaptor, and the SmartMatrix libraries by Pixelmatix.
Arduino
1
star