Create NEOpixel symbol and footprint

Hello, I want to make a PCB for a NEOpixel clock. So I ordered a NEOpixel ring from eBay and it is separated in 4 single PCBs giving a circle about 16cm in diameter. There are 6 soldering pads, 3 at each end. The outer ones are GND at each end. The most inner ones are +5V. The middle are Din and Dout. So far, so good. Then I created a symbol for it. How can I tell KiCAD (6.x) that the both GND are connected on the PCB and the same for +5V? Then I am free to lay the tracks where I want them to. I can connect Power supply where I want. I tried several things. First effort was only naming the pins in the symbol with Vin and GND. Didn’t work. Then I took Pin numbers both 1 for +5V and both 3 for GND (2 for Din and 4 for Dout). But now I am not allowed to daisy-chain the PCB modules as a ring.
What am I doing wrong?
Thanks in advance,
Tom

I do not really understand.

If you’ve already bought PCB’s, then what are you trying to do with KiCad for this project?
Wh not just glue them on a piece of PMMA, wood or something else, add some wires and you’re done?

If you want do design a full PCB in KiCad, then why not just start with the separate LED’s and put those on your PCB?

If you want to use the “1/4 round” PCB’s as a module in KiCad, then you have to:

  1. Design a schematic symbol which has each electrical connection (So 6 in total) for your “1/4 round PCB” module.
  2. Put 4 of those schematic symbols in a schematic and make the connections.
  3. Design a footprint of such a “1/4 round” module.
  4. Assign those footprints to your self made schematic symbols.
  5. Design a PCB with them.

I am not sure however if those “1/4 round” modules are fit to be used and soldered onto another PCB.
I’m guessing you’re better off by using some sheet material, draw some holes in strategic locations, then glue the LEd ring to the sheet material and solder some wires to them to connect it all.

Why I want to do that?

Well, I want to add some additional components like PIR sensor, AM/PM-LEDs, LDR for adjusting brightness. And I want to use a step down power regulator, so I can reduce the current.

Why I don’t want to start with separate LEDs? I would have to solder in smd-style 60 of these WS2812 LEDs including capacitors. No, these PCBs from eBay are really fine. They work. I tried it, by making a paper circle and taping the PCBs onto it. But I need extra components additionally to the WeMOS. So I do need a PCB. And I guess, a round PCB with these visible components will look great.

So, how can I tell KiCAD, that the power pins are “equal”?
When I’m using 6 pins with different numbers, I can connect the PCBs forming a ring on the round “Motherboard”, but I can’t route the power to the pins, where I thonk, it’s better for the layout.

I would design a small PCB in KiCad with the microcontroller, SMPS, PIR sensor and all the other stuff, and then add a simple three pin connector for the LED ring on the PCB.

KiCad at this point doesn’t really support marking footprint pads as internally connected.

So either ignore the DRC problems telling you that you have unconnected nets or adjust the symbols, schematic and so on to only contain traces that you want to actually route. This probably means not having a real GND net, but instead routing a wire from LED1 GND2 to LED2 GND1 and another wire from LED2 GND2 to LED3 GND1 and so on.

In my projects, I usually just route the (unnecessary) trace anyway because it’s often easier and you’re not relying on an internal trace where you have no idea about resistance and so on.

Thanks. I’ve read somewhere about KiCAD problems like this with V5.x. In my opinion, it’s kinda bug that should be fixed. “Identical” pins on a daughter PCB (Arduino nano, ESP32 developement boards) are standard. So, I’ll have to revert this back to my first approach and hope, that the KiCAD team will fix this some day. To be honest, they are doing a good job. I like the software! Maybe, this “external routing” will make things really complicated?!
Cause I’ve started using KiCAD only a few weeks ago, I am having problems, in ignoring errors and warnings… :wink:
The other point, concerning resistance (is futile, HAHA) and current on a PCB, the software has no idea about… I agree. When having 60 LEDs, each will be able to draw 75mA current, so you’d probably have 4.5Amps at 5 Volts, when all LEDs are fully switched on. But this will be the next point, why I want to use at least 2 point, where to apply power. As a clock, it hopefully won’t do tah, but, what if the Software fails… I don’t wanna be “Burning down the House” (Cardingans & Tom Jones)…

I thought doing so. But these 3 pin headers are making to problems:
a) I cannot draw max. of 4.5 Amps
b) theses standard 3 pin headers are 2.54mm, the PCBs are 2mm…

Now I’ve decided to revert back to my first draft/design and then telling KiCAD, where to connect the power. Thank you for helping.

The fact is that if you have to make a pcb with other components above it is better that you create your own led ring.
I built one with 100 WS2812 2020 led which are microscopic and related smd 0402 capacitors and if I remember correctly only one capacitor did not solder properly.
I used the modified roaster oven for soldering.

Also:
Those 1/4 round PCB’s can not handle 4.5A properly.
It is much better to route separate power and GND wires to each of them to lower the voltage drop.

If you connect them all in series, then it is very likely that at the end of the LED string, the voltage has dropped so much that they have noticeably less light.

4.5A PCB connectors are a bit difficult especially if you want to keep it small and cheap.
Instead, consider using some THT pad, or big SMT pads and solder wires to them directly.

FR4 gets quite soft at soldering temperatures and there is a big risk you tear the SMT pads from the PCB during soldering. It helps if you put a few small via’s though such holes. This makes the connection to the PCB much stronger. This also makes mechanical pads such as for example used in USB connectors a lot stronger.

1 Like

Thank you, Fabio, for your suggestion. I don’t want to solder SMD myself. I don’t want to struggle with these capacitors. I decided to wire the NEOpixel PCBs directly onto the board and I will supply them with power every 90 degrees. So, when software fails, I will gonna have max. of 1.25A per sub-PCB. This is easy to handle.
The routing and the components are not finally chosen, cause the TL2576 isn’t capable supporting 5A. The tracks, that will support power to the NEOpixel PCBs will have to be thicker. But there’s enough space on the board to do that.

Hello Paul, I guess, you are right. I included this in my plans, cause this was the reason, why I wanted to apply power for every segment of the ring. In my first trials, I couldn’t route that and I wanted to find an elegant way, if KiCAD could know, that some pins are “internally routed”. But so, I had to modify the schematic layout and I had to apply the power manually. This works, but it doesn’t look “nice” at all.
NEOpixel

BTW… yes, I know I will have to use another voltage regulator. This one is too weak. :slight_smile:
I think, the XL4016 looks nice.

How do you solder the led strips to the pcb which have the smd contacts below?
Maybe if you make some metallized holes on the pcb as big as the pads of the strips the tip of the soldering iron enters you and you can put the tin.

I don’t recommend hot air welding, the leds are easy to burn or melt.

So I added additional vias to the pads so that I can first tin and then attach the leds with hot air and tweezers. If I have to go to the soldering points again, I can do this from the back.

Hello Fabio, I plan to use normal pads as I would connect a THT component. So when soldering on the back side, the solder will run through the hole and connect to the pad of the NEOpixel PCB.
At the moment I’m completely re-working my layout, cause I had to replace the voltage regulator, the inductor and some other components. I’m adding a poly switch fuse, also.

Make the holes as large as you can because it is not so obvious that the tin arrives on the other side and manages to heat the led pad.

Hello Fabio, yes, you’re right. I’m thinking about making connections, like the module contacts of ESP12 or ESP07. But I’m still having no idea how to make that, cause I need to connect the segments directly. Rotating the open ends will inhibit connecting the pads. Maybe I will use “edge cut” feature to conect the two drilling holes to one oval one (ignoring all warnings). I will find a solution… :slight_smile:

You have used THT pads for the 1/4 round LED strips.
Do those LED strips also have THT pads?

A fun idea may be to break off some pins of a 2.54mm single row header with square pins (those are quite sturdy) and then stand-off the LED ring from the PCB. This gives more “depth” to your clock project.

Hello Paul, these 1/4 strips don’t… I was thinking about using some stand-off, too… I could solder some wires to the pads, about 1 inch length. I will come back to that, later, when I finished the PCB…

Nope.
You should think of that before you finish the PCB.

One way to make a simple standoff is to use a piece of paper or thin cardboard.
If you glue several loops together, then it gets quite stiff, especially because it’s also turned into a circle.
Gluing it perpendicular to your PCB without smearing glue everywhere is a bit of a problem.

Another option is to use a circle with a number of stand-off screws, or those brass M3 PCB mounts.
If you want to use these, you have to add the holes to your PCB, and then glue the LED strips on top.
This is a good example of why you need to think of your mounting method in advance.

I see that each LED strip has 3 holes, that’s 12 in total.
You could thread some thread through a bead, then through the PCB, and a tube as distance holder and pull the thread tight somehow. The beads could be unobstrusive black tings, or bright and shiny pearls.

Yes, the 1/4 strips are having each 3 holes. But they are really small in diameter, less than 2mm. To small for standard screws. And I don’t know, if the next NEOpixels, when I’m gonna order them, will have the same holes. To I won’t rely on these holes. But I can place some distance thingy onto the PCB:
https://www.reichelt.de/distanzhuelsen-metall-6-kant-m3-15mm-di-15mm-p7120.html?&trstct=pol_6&nbc=1 or this one: https://www.reichelt.de/mini-traegerpfosten-kunststoff-15-9-mm-50er-pack-rnd-610-00269-p223893.html?&trstct=pos_47&nbc=1

Some glue and the wires will do the rest… So, adding some holes won’t make it too hard to handle… :wink: