Close

Ain't that a kick in the head...

A project log for The Grimoire Macropad

A macropad build that is probably more trouble than it is worth.

mrpendentmrpendent 06/20/2023 at 22:122 Comments

Sooo...I received the replacement parts, and this time decided that I would put one pixel and the Pico on the board, then try to get it working. At that point, I will put on the other pixels.

Well, that was the plan. The reality is...a little different.

I put one pixel on, then soldered on the Pico. I put in the cap that was supposed to be there (according to LadyAda). Then I tried some programming.

I was able to get the on-board LED to light up through code, so that was good.  Then I set my sights on the Neopixel.

I soldered it on, then tried the pixel code--no light.

I got the gerber file out and followed the trace to be sure that the one I had soldered on was, in fact, the first. It was, but still no glow.

I put on the other two in that row, just in case it had been run differently somehow. No glow.

I put the last one on in case it was going the other way. No glow.

At that point, I put it away to think about what was going on.

I came back to it today with an idea--I got some wire, and soldered a pixel directly to the Pico, to the same pins that the other pixels are on. And:

So...this tells us that my understanding of the pixel (and my code) is correct. I ended with this code:

import time
import board
import neopixel
import random

num_pixels = 2
pixel_pin = board.GP18

pixels = neopixel.NeoPixel(pixel_pin, num_pixels)
pixels.brightness = 0.5
rnd_r = random.randrange(0, 255)
rnd_g = random.randrange(0,255)
rnd_b = random.randrange(0,255)

print(rnd_r)
print(rnd_g)
print(rnd_b)

COLOR = (rnd_r, rnd_g, rnd_b)

while True:
    pixels.fill(COLOR)
    pixels.show()    

(The random numbers are there so that every time it runs, the color will change and I will know that the new code is running (or at least a new version of the code).)

It also tells us that the problem is between the Pico and the pixel. So that means it could be:

  1. a problem with the soldering of the Pico to the board.
  2. that the Pixel isn't fully connected to the pads on the board, though I've tried everything I can to be sure
  3. that, while trying to ensure the pixel is connected well, I've managed to fry it.
  4. a design problem with the board itself

The easiest thing to do is to use a multi-meter to check is the trace on the board. So I'll do that next.

Discussions

Ken Yap wrote 06/22/2023 at 04:59 point

One look at your schematic and it's obvious. Your LEDs are not powered. There's a capacitor between the positive supply rail and the power pin of the LEDs. I think you meant for those capacitors to be bypass capacitors across the power rails but they are blocking the supply into the LEDs.

  Are you sure? yes | no

mrpendent wrote 06/22/2023 at 13:37 point

Thank you for the help! You are referring to C1, C2,....C23? That makes sense. I was following advice from the NeoPixel Uberguide, but I noticed that a lot of that guide is done with costumes in mind, plugging large numbers of pixels into a car battery or something. I will try to bridge one of those caps and see what happens. Thank you!

  Are you sure? yes | no