Skip to content

SPI Setup Running without root

cp2004 edited this page Sep 1, 2020 · 9 revisions

This page has been deprecated in favour of the new wiki, you can find it's equivalent here

There is a setup wizard in place that will do all the heavy lifting for you, but if you want to know how to do it yourself then read on:

Please note that you may have to reload the web interface after a restart of OctoPrint, to get the wizard to show up. It won't show up if all of the settings are already correct, but you should see a lightbulb in the navbar if the plugin is working as expected.

  1. Add the Pi user to the gpio group. This means you can access the GPIO pins on the Raspberry Pi

    Run sudo adduser pi gpio to do so, or groups pi to check if Pi is already there

  2. Enable SPI, which is how the plugin will drive the LEDs.

    Can be done through raspi-config or by adding dtparam=spi=on to /boot/config.txt (Easier!)

  3. Increase the SPI Buffer size, so we can output more data. Needed to drive more than a handful of LEDs

    Add spidev.bufsiz=32768 to /boot/cmdline.txt.

  4. Set the correct clock frequency. Needed to get the correct signal frequency. On a Raspberry Pi 3, this should be 250. This step is not required on a Pi4

    Add core_freq=250 or core_freq_min=500 to /boot/config.txt.

  5. Set a minimum clock frequency. Starting with the Raspberry Pi 4, the SPI frequency can change if the Pi is idling vs. 'working', which can cause the LEDs to misbehave and flicker, or change colour. Not required on earlier models.

    Set core_freq_min=500 in /boot/config.txt.

These settings are suggested by the rpi_ws281x library the plugin depends on, see more here about running the library

Heads up! This documentation has migrated to Gitbook! Find it here: https://cp2004.gitbook.io/ws281x-led-status/

Clone this wiki locally