SKR V1.4 Adding NeoPixel LED’s


A guide for adding NeoPixel LED’s to the SKR V1.4. A simple walkthrough for setting up Marlin with WS2812 addressable LED’s.

The DCDC V1.0 power module has been purchased by Make ‘N’ Print for the purpose of this guide. Furthermore the thoughts and methodologies that you find below are mine. Moreover they are no way biased by the fact that this was a paid for item.

Please note that this article may contain affiliate links which help to fund the Make ‘N’ Print website.


Neopixel

This image has an empty alt attribute; its file name is bigttreetech_skr_v1_4-dcdc.jpg

Without a doubt adding Neopixel lighting to the SKR V1.4 is a nice and easy task when using the optional DCDC V1.0 power module.

But what does the DCDC module actually do ?

Moreover the DCDC module allows more current to be safely drawn from the Neopixel connection. Furthermore this simple plugin module allows for up to 30 5 Volt Neopixel LED’s to be powered and controlled by the SKR V1.4. However, I personally would give a bit of leeway and only use 20 – 25 LED’s.

This image has an empty alt attribute; its file name is bigttreetech_skr_v1_4-npwr.jpg
NPWR Jumper Disabled

In addition to plugging in the DCDC power module, the NPWR jumper also needs to be enabled as shown in the below image.

This image has an empty alt attribute; its file name is bigttreetech_skr_v1_4-npwr2.jpg
NPWR Jumper Enabled

This image has an empty alt attribute; its file name is bigttreetech_skr_v1_4-neopixels.jpg

Moreover with NPWR jumper position enabled, the next step is to wire the Neopixel LED’s to the SKR V1.4. However as the SKR v1.4 uses a three pin connection for Neopixel’s. As a result the WS2812 type of LED’s strips are perfect for this task.

Furthermore each wire from the Neopixel lighting fits into its namesake on the SKR board. For example 5V to 5V, Ground to Ground, and DI /DIN (Data Input) to Signal.

This image has an empty alt attribute; its file name is bigttreetech_skr_v1_4-neopixel_wiring.jpg

5V
GREEN (PWM SIGNAL)
BLACK (GND)


Firmware Changes

While the physical installation of the NeoPixel’s is now complete. Next comes configuring Marlin in order to run and sequence the NeoPixel LED’s.

Configuration.h

Without a doubt there is not much to configure within Marlin. Nonetheless I have broken it down with the aim of making it easier to follow along.

Additionally from within the Configuration.h file search for and uncomment //#define NEOPIXEL_LED section by removing the two forward slashes.

While the notes alongside each setting within Marlin will also help guide you along. However the main two options we need to define are the pin used to control the NeoPixel’s, and the number of LED’s in use.

Furthermore the PIN number for the NeoPixels connector on the SKR V1.4 is P1_24 and needs to be set for the NEOPIXEL_PIN option.

Additionally the number of LED lights in use, needs to be set for the NEOPIXEL_PIXELS option. Importantly remember that there is a maximum of 30 LED’s when using the DCDC V1.0 module.

To demonstrate better, the below example has 25 LED’s in use on pin P1_24. However if you set a lower amount of LED’s, they will only work up to the allotted number of NeoPixels. Additionally it is worth enabling the NEOPIXEL_STARTUP_TEST option, this runs a Red, Green and then Blue sequence on starting up the printer. Furthermore this allows for a visual test in order to verify the NeoPixels are working and sequencing correctly.

#define NEOPIXEL_LED
#if ENABLED(NEOPIXEL_LED)
#define NEOPIXEL_TYPE NEO_GRB
#define NEOPIXEL_PIN P1_24
//#define NEOPIXEL2_TYPE NEOPIXEL_TYPE
//#define NEOPIXEL2_PIN 5
#define NEOPIXEL_PIXELS 25
//#define NEOPIXEL_IS_SEQUENTIAL
#define NEOPIXEL_BRIGHTNESS 255
#define NEOPIXEL_STARTUP_TEST
//#define NEOPIXEL_BKGD_LED_INDEX 0
//#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 }
#endif

Configuration_adv.h

Besides the Configuration.h file, there is also a little bit of editing todo within the Configuration_adv.h file. However search for and uncomment //define LED_CONTROL_MENU. Thus allowing the NeoPixel colours that are displayed, to be changeable from within the LCD menu.

Furthermore by also enabling LED_USER_PRESET_STARTUP, once the initial Neopixel Startup Test has finished, a customisable light colour will be shown. Without a doubt for the most part we want this to be a white light. In order to serve as an enclosure light as well. However if you want to change this go ahead and change the Red, Green and Blue values to the colour that you desire. But if you do not want to use this option, then simply leave it disabled.

While again there are notes along each option within Marlin to further aid you through setting the LED Control Menu. However the example below not only enables the LCD screen option. But also sets the custom LED_COLOR_PRESETS to white and starts this automatically, once the Neopixel Red Green and Blue startup sequence has completed.

#define LED_CONTROL_MENU
#if ENABLED(LED_CONTROL_MENU)
#define LED_COLOR_PRESETS
#if ENABLED(LED_COLOR_PRESETS)
#define LED_USER_PRESET_RED 255
#define LED_USER_PRESET_GREEN 255
#define LED_USER_PRESET_BLUE 255
#define LED_USER_PRESET_WHITE 255
#define LED_USER_PRESET_BRIGHTNESS 255
#define LED_USER_PRESET_STARTUP
#endif
#endif

Firmware Re-cap

  • Configuration.h – #define NEOPIXEL_LED
  • Configuration.h – #define NEOPIXEL_PIXELS 25
  • Configuration.h – #define NEOPIXEL_PIN P1_24
  • Configuration_adv.h – #define LED_CONTROL_MENU

Congratulations that is the SKR V1.4 adding NeoPixel LED’s guide completed

Moreover all that is left todo is to compile and upload your firmware like normal. However, if your lights do not come on the first boot, simply turn them on via the menu on the LCD screen.

Now shut down your printer, and on restart it should carry out the Red Green Blue test in that sequence, it will then revert to user default colour of white.

If you found this guide useful, please consider a donation to help keep the Make ‘N’ Print website running. For further information please have a look at our support us page

Thank You


© 2019-2020 Copyright - All Rights Reserved.