Skip to content
Henry Gabryjelski edited this page Dec 2, 2021 · 4 revisions

Welcome to the esp8266-fastled-webserver wiki!

The main README.md provides an overview of the project.

Changes ~ November 2021

Prior to November 2021, this depot used a different branch for each product being built. (e.g., Fibonacci512, Kraken64, and the base esp8266-fastled-webserver). This resulted in many differences in what effects were available for each product, and some fixes were made in one branch, but not the others.

Starting with PR #212 (sometime in November 2021), some major changes occurred.

  1. While the project still builds in Arduino, support was added to also build in PlatformIO.
  2. The code from all active products was merged into the main branch.
  3. Configuration defaults were generated for all active products.

So how do you customize...

For example, let's presume you want to build the "ESP Thing" (parallel 6-output board) features, and change the number of pixels on each of those outputs from its default of 50 pixels per output to something much less....


Configuration In Arduino

In the Arduino environment, you simply edit config.h as follows:

https://github.com/jasoncoon/esp8266-fastled-webserver/blob/b1dd8e9938eca5a93f8d11b1a8bf0389d653b3e6/esp8266-fastled-webserver/config.h#L27-L28

You would replace line 28 with the following contents:

    #define PRODUCT_ESP8266_THING   // select the product to build
    #define NUM_PIXELS 72           // Total number of pixels on all ports
    #define PIXELS_ON_DATA_PIN_1 5  // Let's put a prime number of pixels on each data pin...
    #define PIXELS_ON_DATA_PIN_2 7
    #define PIXELS_ON_DATA_PIN_3 11
    #define PIXELS_ON_DATA_PIN_4 13
    #define PIXELS_ON_DATA_PIN_5 17
    #define PIXELS_ON_DATA_PIN_6 19
    // add other changes as you'd like
    // see "./include/configs/product/product_template.h"
    // for documentation on the various configuration
    // options.

Configuration In PlatformIO

PlatformIO allows you to add custom build environments via the file platformio_override.ini. Just create it in the root of the depot, with the following contents:

[env:custom_esp_thing_older]
platform = ${common.platform_default}
platform_packages = ${common.platform_packages}
lib_deps = ${esp8266.lib_deps}
board = d1_mini
board_build.ldscript = ${common.ldscript_4m1m}
build_unflags = ${common.build_unflags}
build_flags =
	${common.build_flags_esp8266}
	-D PRODUCT_ESP8266_THING
	-D NUM_PIXELS=72
	-D PIXELS_ON_DATA_PIN_1=5
	-D PIXELS_ON_DATA_PIN_2=7
	-D PIXELS_ON_DATA_PIN_3=11
	-D PIXELS_ON_DATA_PIN_4=13
	-D PIXELS_ON_DATA_PIN_5=17
	-D PIXELS_ON_DATA_PIN_6=19

Then, manually refresh the PlatformIO project list: image

That's all. Your custom build environment will appear, and expanding it will give you the same options to build / upload file system / etc.


Clone this wiki locally