APA-102-2020 - the ultimate smd addressable led

Adafruit are selling these as dot stars, I was using the ws2812 part for the 5050 version, it is identical. Now I need the smaller 2020 version for more flashy lights.

The question is, has anyone made a part secretly for these? (no sign on google search) If there is no such part yet, has anyone got any ideas on how to shrink the WS2812 down to 2020 size? Is there some function to resize all in the parts editor, I think it may work

The dimensions are on the product page on aliexpress (ray wu’s store, search “APA-102-2020” so amazing such a small powerful led (I will not be soldering this myself, couldn’t manage the 5050 version, never mind these!)

Don’t know if parts editor will work (I expect not, but I don’t often use parts editor). You (or someone) is more likely to need to modify the pcb svg file with Inkscape or one of the other editors. There appears to be a data sheet with dimensions for the pads here:


although it isn’t particularly readable.


Thanks Peter, I have used Inkscape before. I will try to resize there.

OK I went fishing for the svg files and came across this: /fritzing-app/resources/parts/svg/do not change these svg files with anything but a text editor.txt

With the exeception of icon files, do on change resource svgs with vector graphics programs unless you are very very very very goddamn careful. For example, adobe illustrator does not recalculate stroke-width when loading SVGs when the units are not pixels. Secondarily, illustrator, inkscape, and the like tend to shove a lot of specialized extra crap into SVGs in order to facilitate later re-editing. Since many of the resource SVGs are used as generator templates, errors can proliferate beyond the single SVG that gets incorrectly changed; and the extra crap can muddy the templating process.

Hmmm I don’t think the developers want you to edit the SVG’s!

OK no that’s the core parts, where are the rest of the parts?

Yes, they don’t want you editing in place core parts because as noted you can break things (and your changes will get overwritten at the next parts update from github as well which may not have been happening when that readme was written). In general pick a part with something close to what you want (a 5050 led I think) right click on the part and select edit part with parts editor. Then file-save part (which will put the new part in the mine parts bin), right click the part in mine and select export part. That will save the part as an fzpz file. Use an unzip program (I use 7zip) to unzip the fzpz file and you will have the fpz file and the 4 svg files that make up the part. Modify the svg file you want then use 7 zip again to zip all 5 files to the same or a new file name and up load it to fritzing to test. Note if you may mistakes it is possible to hang Fritzting and need to delete the user files so make sure you have a backup of the directory or your sketches before doing this. What may be easiest for you is to copy the appropriate svg from (in Windows)


to another location edit the svg there (so as to not change the core copy) then load it with the parts editor in to the part that you want.
If you haven’t read them these two tutorials on parts making may help you (most of the above are in one or the other):


Thanks for the links everyone. This is definitely not a trivial undertaking, I was even looking at eagle for a while there as I found a ready-made part, however due to an unfortunate accident I am bedridden (broken leg) for a good while so now having the time on my hands. I will report back on progress here

It likely isn’t as complex as it looks. If there is already a part with a bigger footprint you should only need to edit the pcb svg (to reduce the footprint size) and possibly the breadboard svg as well to reduce its size. The pcb one should be fairly easy.


Well this is sad, someone posted a helpful link on this thread which has now been removed. I guess I know why, it was a link to alibaba supplier page, maybe selling is not allowed here?

The only problem is, the page had the best product information I have found so far, including dimensions of a pcb footprint with overlap for soldering it was going to be copy paste to inkscape job done. Now I am searching alibaba (not the easiest place to look there is so much stuff) to try and find the page again as I didn’t save the link…

Ok found it - or something like it:


going to bookmark this page in case the link is removed (lets see what happens)

Hmm, the pad layout on this one is slightly different than that of the version that adafruit is selling. I suspect that you would need to select your supplier of choice and get their suggested pcb layout to make a proper pcb. I would have though that a 2020 was a standard footprint, but I know very little about smd parts. Perhaps one of our smd experts will comment? As noted before if you start with the 5050 footprint available in core I don’t think that will be too difficult a task. All you need to do is reduce the size of the pads (and possibly in this particular case add two pads in the center for gnd and vcc it looks like) which shouldn’t be that hard once you identify the package you need of course :slight_smile: . As I recall, the person that posted the data sheet made similar posts to several threads and I expect (but don’t know :slight_smile: ) got deleted as spam as it was nothing to do with Frtizing directly just the data sheets.


I did, also saw 2 varients on datasheet from alibaba, for apa102c in 2020.
the six pads around is same, while the middle two differs
I hope the ground and power pad under the LED works , the routing would be much easier…

I currently draw my part in fritzing, and tried my best not to use another app (inkscape) to edit.
the results is a lot of pads, and some silkscreen “|” or “_” for part outlines
locating the pads precise is fairly easy with fritzing.
if anyone is interest in my results, i’ll upload them later since i’m not with my files now.

the cons are that the pads are all individually, flipping them to the other layer requires so many clicks.and the system were slow if the copied part repeats too much.
with this apa102with2020, thats 8 small pads, and with 20LEDs that is alot of copy&pasting
and would likely to lag while moving/editing the whole led array.

Life It would be so happy if I can convert the objects directly in to a part,
or even just grouping them.

I’ve tried my version of footprint with apa102 - 2020, and hot air gun rework
some of them worked, convinced that footprint and schematics were right
and some of them failed, likely due to poor soldering skills ( and improper syringe paste) (and too high temp from gas-hot air gun)

Anyone still need this? i need some time to reorganize my board.

It will be worthwhile to post your foot print when you feel it is correct so it is available to anyone that wants to use these even if the original poster doesn’t want them any more. The more parts we have the better :slight_smile: .


nice to hear that :wink:
2020footprintforshare.fzz (28.1 KB)

the board inside is the footprint i tested and worked,
both the 5050 / 2020 were tested, with an Aduino as controller.
the pins (data/ clock/power/gnd) were shown as silkscreen texts
notice that they are pads, not a part,
if anyone knows how to group them up, that’ll be good to use.

I wonder if the power/gnd pads can be smaller, or deleted, they easily shorted with a little much paste.

oh, the 2020/5050 apa102 LEDs were from taobao, or alibaba/China.
(Where actually they are packaged.)

Are the 5050 leds and the 2020 the same foot print? From the original poster I thought the 2020 was much smaller, but the data sheets of the two seem to be the same except the 2020s seem to have internal pads (a heatsink in one case and it appears power and ground in your case). To be really useful your outline would need to be turned in to an svg file (relatively easy to do) so it can be made as a part.


The pinouts and directions were basically same,
But sizes are smaller, as 5050 is a part sized 55mm and 2020 is 22mm

hello, be careful the number after 2020, 8192 of this part
means “grayscale” , there are integrated system that map your (1-255) grayscale to (1-8192)
with integrated gamma correction

the problem is, it uses a pwm much-slower to create the 8192 gradient, that there are gaps and flickers like ws2812, and thus this type of package is not suitable of POV devices

find some like apa102-2020-256