WaveShare 1.3 inch OLED with SH1106


I cobbled together a part definition for a WaveShare 1.3 inch OLED display: https://www.waveshare.com/wiki/1.3inch_OLED_(B)
It has some known issues:

  • For the breadboard view and the Icon I mangled the image of the Adafruit display, that I used as a template, into the right size. So that isn’t correct, in particular the WaveShare module doesn’t have the cutout at the bottom, but a slot below the display.
  • I measured the position of the connectors relative to the edges of the board only with a ruler, so they are only good to about a millimeter.
  • The four mounting holes in the edges are missing in the PCB view. (So good luck figuring out where to put the holes in your PCB layout if you want to use them.
  • The parts editor complains that it cannot deal with separate copper0 and copper1 layers.

As it is, it seems to be good enough for me. I just ordered the first PCBs based on this design. When they arrive I’ll learn if it works as good as I think.


WaveShare 1.3 inch OLED.fzpz (16.9 KB)

The BB view doesn’t have to be perfect size wise, just if it fits into a BB the pins have to be 0.100".

It might be and idea if you are making parts off samples is to buy a vernier caliper.

If you want holes without any copper, you put a circle with zero stroke in the copper group. Also put a duplicate circle in silkscreen so you can actually see it.

I think the copper0 is because you used path instead of circle. I duplicate the path circle I have drawn and it usually becomes a circle, then I delete the original drawn one.

I used the pins from the part that I used as template, so they should be fine. In the BB view the pins do match up with the breadboard, and the PCB pins also look fine. (If not then you’ll hear from me when my PCBs arrive.)

Do I understand you correct, that I can add mounting holes into the PCB description by having circles with zero stroke in the copper group? Will they be marked as “plated though hole” in the Gerber files?
But then if I would want to have display but no mounting holes in the PCB, then I’d have to have different PCB descriptions, correct?

Yeah I noticed it fit the BB.

I don’t think they are plated, just plain holes. You can dissect other parts in the bins with plain holes, which is how I found out, and it might tell you more.

Yeah it would have to be 2 parts, which is not hard because you just delete some holes in the svg.

Always Gerber view it before production or print it out, because it stops mistakes. It saved me a mistake when I realised I didn’t have actual mounting holes, even thought there was circles in the picture. I use free Gerbv.

Yes. If you make a circle of the diameter you desire but with stroke-width 0 and name it nonconn (I use nonconn1 nonconn2, etc as Inkscape doesn’t like duplicate names and Fritzing may not either) in the copper layer with the pads then it will show up in the gerber drill file but not on any of the copper layers and you will get a non plated through hole. If you make a typo and call it noconn1 (speaking from experience :slight_smile: ) you will get copper pads as well so the nonconn is important.

edit: I expect your holes are too small. The gerber says they are .030in, IC pins are .035in and .1 pins (which I expect is what you want) are .038in. There is also an existing part (although it is much the same as yours) found via a google search on “fritzing part waveshare 1.3 oled” (which is the place to start before making a new part usually). A search on “waveshare 1.3 oled mechanical drawing” turns up a site which has a mechanical drawing (although not a very good one) that may be your device with dimensions for both the pin positions and mounting holes.


@vanepp: Good point about the pin holes. I took them from the part that I used as a template. In the new version I used an 8-pin SIP as the template for the pins. I’ll have to see how my PCBs will turn out.

I did look, but there are so many similar displays around that I apparently missed the part from the Korean page. It does have a nice image, but the PCB description in there had only pads without holes for the contacts. So I updated that, added the holes for the mounting, and now have three variants: with no mounting holes in the PCB, with all four mounting holes, and with only the two holes on the opposite side from the pins. Is there a way for me to put them all in the same part as different variants?

WaveShare 1.3inch OLED 128x64_2holes.fzpz (18.2 KB)
WaveShare 1.3inch OLED 128x64_noholes.fzpz (18.1 KB)
WaveShare 1.3inch OLED 128x64_4holes.fzpz (18.0 KB)

Unfortuantly no, there needs to be 3 different parts. For some parts defined in core (and which we can sometimes fool Fritzing in to believing our part should be one of them), the different versions can be selected in Inspector, but they still need to refer to 3 different parts. I suspect that the .030 holes will likely be fine for the “swiss pin” type headers (the ones that are for IC pins rather than .1 headers) as their pins to the board are small so your pcb should be at least usable.


O.K. In this case I think I’m done with it. Thanks for the help.

And, yes, I’m confident that I can mangle the PCBs and the display together even if the holes are indeed too small. (“Was nicht passt wird passend gemacht.” :wink: )