Unicorn Hat recieves wrong signals?

Setup:
i have Raspberry pi 4 and put the unicorn hat (8x8) on it.
It is a freshly installed raspberry os
i installed the libraries linked in the shop site at GitHub - pimoroni/unicorn-hat: Python library for Unicorn pHAT and HAT. 32 or 64 blinding ws2812 pixels for your Raspberry Pi

If i try to run any of the examples from the github, only 2 of the LEDs, and always the same, light up one stronger the other lighter. They change color. (see image below)

What i tried:

Its always that some LEDs light up but dont do what they are supposed to do.
I also checked the signal on those other products they do recieve the correct 5V signal from the raspberry. I also checked the recived power.

Now i tried the Unicorn hat because you just plug it in cant do that much wrong i thought. But it still doesnt work and im out of options.

Pictures:
Unicorn hat:


Image is taken while running rainbow.py.
No Errors or warnings in console while starting or running a script (i.e. rainbow.py) from the unicorn hat repo.

Edit:
This is my boot config.txt:

# 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 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

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Disable compensation for displays with overscan
disable_overscan=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]

[pi4]
# Run as fast as firmware / board allows
arm_boost=1

[all]
enable_uart=1

Does commenting out dtparam=audio=on help? I ran into something similar with OG Unicorn HAT: Examples not working properly with Pi 3/3B+ and recent Raspberry Pi OS · Issue #148 · pimoroni/unicorn-hat · GitHub

1 Like

Yes that actually worked thanks!

Is it because GPIO 18 is used for sound and would that mean changing my scripts and wiring to GPIO 21 for example should work? (i assume it needs to be a PCM pin like shown here GPIO 18 (PCM Clock) at Raspberry Pi GPIO Pinout since 18 is one)

I think you need to disable the onboard audio for it to work as it and the Unicorn HAT LEDs share the same PWM hardware (old school LED driving!). Looks like it’s possible to use a different PWM pin if you dig around in the library but you’d still not be able to use the onboard audio. You could use HDMI audio out instead (or a USB dongle/soundcard)?

1 Like