Skip to content

How To Compile Analog WLED .bin File

Adam Oberley edited this page Nov 4, 2020 · 8 revisions

How to Compile Analog WLED .bin File

(Using VSCode and PlatformIO)

A lot of people ask how they can compile their own WLED .bin file whether it be for a custom pin or analog LEDs, so this picture guide will show how to do it.

First, download the latest source code from https://github.com/Aircoookie/WLED under the Code dropdown menu.

Then download, install and open VSCode (https://code.visualstudio.com/download) and install the PlatformIO IDE extension from the VSCode Settings > Extensions menu.

After PlatformIO IDE is installed, restart VSCode and open your unzipped WLED source code folder.

Now you need to find which GPIO pins go to which color and make these adjustments in your code.

  • PWM1 - Red
  • PWM2 - Blue
  • PWM3 - Green
  • PWM4 - White1
  • PWM5 - White2

The best place to find your pins is the Tasmota device repo. https://templates.blakadder.com

Above you can see which GPIO pin goes to each PWM channel.

Insert this information into the NpbWrapper.h file back in VSCode.

Now you can adjust your build flags in the platformio.ini if you want to enable our disable certain things.

Now click the PlatformIO logo in the left side bar and find env:esp8285_4CH_MagicHome and then click General > Build

It will probably fail the first time. Just click build again.

It might fail again. Third times a charm.

There we go!

The .bin file is located in a hidden folder called .pio in your WLED folder. Since it's in a hidden folder you have to move it out to use it.

All that's left to do is flash this .bin file onto your esp chip and then connect it to wifi.

Here's a good video tutorial on how to flash a MagicHome controller like the one pictured above. https://www.youtube.com/watch?v=qgBAU39v07k

You just need to use the firmware.bin instead.

I prefer to use ESPHome-Flasher just because that's what I've had the best luck with. https://github.com/esphome/esphome-flasher/releases

Clone this wiki locally