WS281x LED Status issues with 24 pixel ring

Im sure this is simple, and I am overlooking something, but I am at my wits end. When I start up OctoPi, my lights will color wipe like they should, then flash between full white, at full brightness, and the color wipe. When I turn off the plug in, they will dim and color wipe again, and about 50% of the time they will turn off, and the other 50% of the time they will go full white, full bright, and not turn off.
I am running a pi 3B+, and the neopixels are found on amazon by searching the following:

2PCS 24 Bits WS2812 5050 RGB LED Ring Lamp 5050 led Ring Stage Light with Integrated Full Color RGB Ring

I have tried hooking up 3 different ways, and all 3 have given me the same result. I have also tried with both rings.

  1. Directly to the GPIO pins on the pi, and as expected, was the least stable result.
  2. Running a buck converter off the power supply, and varying the output voltage from 4.6 to 4.75v sharing a common ground between the output side of the buck converter and pin 6 on the pi.
  3. Using a logic level shifter, with the buck converter set at 5v, as per the diagram in the setup guide.

I have also tried using a 470 ohm resistor on the data line with no change in the output. The buck converter is rated at 3A (the manufacturer recommends 2A max), and the calculator in the plugin estimates 0.96A.
What am I missing?

There's usually two things that cause random flickering of the LED strip - not having a common ground pin (but I have drilled this throughout the documentation etc, rarely an issue any moreโ€ฆ sounds like you found this :slightly_smiling_face:) or OS configuration. Make sure the OS config test passes.

Generally matching WS281x with a Pi and Python can be a bit fiddly. It sounds like you've read the Troubleshooting Guide - WS281x LED Status since some of the things you've tried have been from there.

It's late here so I will finish typing this quickly:

  • Avoid long wires to the first LED
  • Open the /boot/config.txt file and upload it here, just want to check there is nothing conflicting. Sometimes other software (especially touchscreen installs) can conflict here

I might think of something else, it sounds like you have a good idea of how to test it so far though.

Thank you, Charlie. Something I forgot to add, I did have these rings working with the neopixel socket on the SKR E3 v2 board. You may be on to something with the touch screen.
I am also wondering if I am having some issues with cross talk on the data line. I did a custom install of WS2812B's on a motorcycle a couple years back ( 2 strands of 175 pixels in parallel) and ended up using twisted ethernet wire for the data line for shielding.
anyway, here is the config file you asked for:

For more options and information see

http://rpf.io/configtxt

Some settings may impact device functionality. See link above for details

uncomment if you get no picture on HDMI for a default "safe" mode

#hdmi_safe=1

uncomment this if your display has a black border of unused pixels visible

and your display can output without overscan

#disable_overscan=1

uncomment the following to adjust overscan. Use positive numbers if console

goes off screen, and negative if there is too much border

#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

uncomment to force a console size. By default it will be display's size minus

overscan.

#framebuffer_width=1280
#framebuffer_height=720

uncomment if hdmi display is not detected and composite is being output

#hdmi_force_hotplug=1

uncomment to force a specific HDMI mode (this will force VGA)

#hdmi_group=1
#hdmi_mode=1

uncomment to force a HDMI mode rather than DVI. This can make audio work in

DMT (computer monitor) modes

#hdmi_drive=2

uncomment to increase signal to HDMI, if you have interference, blanking, or

no display

#config_hdmi_boost=4

uncomment for composite PAL

#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

Uncomment some or all of these to enable the optional hardware interfaces

#dtparam=i2c_arm=on
#dtparam=i2s=on
dtparam=spi=on

Uncomment this to enable infrared communication.

#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

Additional overlays and parameters are documented /boot/overlays/README

Enable audio (loads snd_bcm2835)

dtparam=audio=on

[pi4]

Enable DRM VC4 V3D driver on top of the dispmanx display stack

dtoverlay=vc4-fkms-v3d
max_framebuffers=2

[all]
#dtoverlay=vc4-fkms-v3d

enable raspicam

start_x=1
gpu_mem=128
dtparam=spi=on
core_freq=250

The config.txt file looks fine, there is nothing extra there I would not expect and the key line core_freq=250 to set a compatible frequency to run the LEDs at is there.

With this: Do you have a touchscreen? It is usually the GPIO screens people have issues with.

I haven't noticed interference being an issue in my setups, but I do have the wires twisted in them to keep them neat. Maybe it is worth thinking about.

Charlie, I took everything apart and reassembled it using a new breadboard and logic chip. Things seem to be working well now. I guess Ill just chalk it up to a loose connection. I may have misunderstood you on the touch screen, I am using a tft35 on my ender 3 pro, not on the pi. In any event, I appreciate the help, and this is a solid plugin you have developed! Thank you again!

1 Like

Awesome, enjoy :grinning_face_with_smiling_eyes:

Hi! I've just installed the plugin to work with the 12x ring version. Almost seams to work good, but the first led still always on and green at 100% of brightnes. I use a sample bc547 and 3 resistor as level shifter. Any suggestion? Thanks.

I have seen this before, at the time the user reported the level shifter was the issue and taking it out of the circuit solved the issue. You don't need it, just in some cases you might.

Thanks, but at 3.3V i have always strange colors and none of the configuration works. So, i can't get the correct rgb color. Never. I will tri with a decent level shifter from amazon.. "Little" note: from the raspberry and the board i use about 1 mt of wires.. :slight_smile: :roll_eyes:

Ok, so it makes sense that you need a level shifter then. I haven't used or seen the type of shifter you have described so I can't say if it should or shouldn't work :slightly_smiling_face:

Right.. :grimacing: That's what i used: Great Cow BASIC / Discussion / User Submitted Projects, Demos & Guides: Level Shifting in a Pinch