Control LED's on BTT SKR Mini E3 V2

I just built my first Octoprint box using a Pi 4 Model B (2GB/64-bit), an older 7" RPi touchscreen and RPi 5MP camera. I was even able to use an older V3 enclosure with my V4 Pi, by opening up some of the port openings. I used the octopi-buster-lite-0.17.0 build, and I wired into my home network, so didn't bother configuring the WiFi. I am also running Octoscreen, which I was able to configure using the great tutorial posted on the Chris's basement Youtube channel . I need some help configuring one feature I really need.

To monitor my prints remotely, I will need to be able to turn on the Neopixels for light. In the menus of my SKR Mini, there is an LED section that lets me turn them on/off, and change color just fine. Is there a way to configure Octoprint so that I can access the Neopixel controls of my board?

My printer is a modded Ender3. At this point I have added a Microswiss all metal hot end converted to direct drive, Ender Extender 400mm frame conversion, mechanical dual Z leadscrews, and a BTT SKR E3 Mini V2 mainboard. Using Octoprint, I can connect just fine to the SKR E3, I can control all axes, the camera works, and I printed from a file on my computer. All functions seem to work well. The one thing I can't do is access the Neopixel controls.

TIA for any and all help.

Jose

If the LEDs are connected directly to the printer board, then if the firmware is congifured properly (which I assume it is because of the menu options) you should be able to use gcode commands to change those for you. A plugin that can assist with control from the UI is OctoPrint-M150control.

The gcode command...https://reprap.org/wiki/G-code#M150:_Set_LED_color

That sure does look like it could fit the bill. I'll give it a shot tonight.

update: Well, I was going to try installing the plugin, but instead I got working on a new Marlin build for my freshly configured GIANT bed. I added linear rails to the Y, and now have usable print area of 390mm on X/Y, and 420mm on Z. No, that isn't representative of any personal habits.

So then, the challenge has now increased. My build of Marlin has my BLTouch working, but does not have the Neopixels enabled, and I don't know how to configure for making them work. I will have to figure out how to enable the Neopixels first, then I can update this thread with my experience using that super cool looking plugin.

Jose

Well I figured out how to get the Neopixels sort of working. The function is less than perfect, but I was able to test the OctoPrint-M150 control plugin. It does exactly what I needed. I can now turn the light ring on/off when I am viewing the camera. Thanks for pointing me in the right direction, jneilliii.

Jose

If you ever feel like connecting the LEDs directly to the Pi, my plugin OctoPrint WS281x LED status offers you a lot more features, and is compatible with M150 commands too. (I may be biased) but I think it's one of the better ways for LEDs to work since it can leverage the full power of OctoPrint, that the printer's firmware can't do.

Hi @Charlie_Powell, wondering if you had any suggestions for how to get your WS281x plugin working with a BTT SKR E3 V3 motherboard where the LEDs are plugged into the NEOPIXEL port and I have configured a build of Marlin to control the LEDs successfully with the Neopixel configurations (port PA8).

I've tried setting the GPIO port to both the default (10) and what I assume the PA8 port maps to (8)

Any help would be appreciated.

The plugin works with LEDs connected directly to a Raspberry Pi running OctoPrint. It sounds like your LEDs are connected to your printer, not your Pi.

1 Like

Yeah, if you have Marlin configured for it you can just use M150 commands to control it.

Of course! Makes perfect sense :sweat_smile:

look into event manager settings or the gcode scripts section and put those M150 commands on print complete, etc.