MagWLED Logo

Install a prebuilt firmware version

Build your own MagWLED-1 firmware

Add this custom build environment to platform_override.ini.

Standard WLED

        [env:c3_magwled]
        extends = env:esp32c3dev
        build_flags = ${env:esp32c3dev.build_flags}
        -D BTNPIN=9
        -D RLYPIN=5
        -D I2S_SDPIN=10
        -D I2S_WSPIN=8
        -D I2S_CKPIN=7
        -D MCLK_PIN=-1
        -D SERVERNAME="\"MagWLED\""
        -D WLED_DISABLE_ALEXA
        -D ESPHTTPD_SINGLE_REQUEST

        lib_deps =
        ${env:esp32c3dev.lib_deps}
      

MoonModules

        ; Mostly carbon copy from esp32c3dev_4MB_M, but inheriting in this config language is messy
        [env:c3_magwled]
        ; Works on commit df55650c84b5affcde4226d963eb207f3773be73
        extends = esp32_4MB_V4_S_base
        ;board_build.flash_mode = dout
        platform = ${esp32.platformV4}
        platform_packages = ${esp32.platformV4_packages}
        board_build.flash_mode = qio
        board = esp32-c3-devkitm-1
        board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; 1.8MB firmware, 256KB filesystem (esptool
        erase_flash needed when changing from "standard WLED" partitions)
        upload_speed = 921600

        build_unflags = ${common.build_unflags}
        -D USERMOD_DALLASTEMPERATURE ;; disabled because it hangs during usermod setup on -S2 (autodetect broken?)
        -D USE_ALT_DISPLAY ;; four line display seems to have problems with I2C - it hangs during usermod setup
        -D USERMOD_FOUR_LINE_DISPLAY ;; see above
        -D USERMOD_ROTARY_ENCODER_UI ;; see above
        -D WLED_ENABLE_DMX ;; disabled because it does not work with ESP-IDF 4.4.x (buggy driver in SparkFunDMX)
        -D WLED_ENABLE_DMX_INPUT ;; needs more testing
        ;-D WLED_DEBUG_HOST='"192.168.x.x"' ;; to disable net print
        -D USERMOD_ANIMARTRIX ;; Tips our memory usage over the limit
        -DWLEDMM_FASTPATH ;; needs more testing on -C3

        build_flags = ${common.build_flags} ${esp32c3.build_flags}
        -D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0
        ${common_mm.build_flags_S} ${common_mm.build_flags_M}
        -Wno-misleading-indentation -Wno-format-truncation
        -D WLED_RELEASE_NAME=esp32c3dev_4MB_M
        -D WLED_DISABLE_ADALIGHT ;; to disable serial protocols for boards with CDC USB (Serial RX will receive junk
        commands, unless its pulled down by resistor)
        -DARDUINO_USB_CDC_ON_BOOT=0 ;; disable CDC USB
        ; -D WLEDMM_WIFI_POWERON_HACK -DLOLIN_WIFI_FIX ;; use this _only_ if your device is not able to make a WiFI
        connection!
        ;-D WLED_DISABLE_INFRARED ;; save flash space
        ;-D WLED_DISABLE_ALEXA ;; save flash space
        -D WLEDMM_SAVE_FLASH
        ; -D LEDPIN=8 ;; onboard neopixel 5x5 Matrix. Attach your own LEDs to GPIO 20
        ; -D BTNPIN=9
        ; -D STATUSLED=10 ;; onboard LED
        ; -D RLYPIN=-1 -D IRPIN=-1
        ;-D HW_PIN_SDA=0 -D HW_PIN_SCL=1 ;; for I2C Qwiic connector
        ; -D SR_DMTYPE=1 -D I2S_SDPIN=5 -D I2S_WSPIN=6 -D I2S_CKPIN=4 -D MCLK_PIN=7
        ; -D WLED_USE_MY_CONFIG
        ; MagWLED-1 Specific
        -D WLED_DISABLE_INFRARED
        -D BTNPIN=9
        -D RLYPIN=5
        -D LEDPIN=2
        -D IRPIN=-1
        -D SR_DMTYPE=1
        -D I2S_SDPIN=10
        -D I2S_WSPIN=6
        -D I2S_CKPIN=7
        -D MCLK_PIN=-1
        -D SR_ENABLE_DEFAULT ;; enable audioreactive at first start - no need to manually set "enable", then reboot
        -D SERVERNAME='"MagWLED-1"'