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.
- Directly to the GPIO pins on the pi, and as expected, was the least stable result.
- 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.
- 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 ) 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
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
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..
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