DIY Front Panels with PCB

Hi folks,

I figured I would document my experiences with using PCB fabrication sites like JLCPCB.

First, i had no clue where to start, not having any CAD software or anything. I settled on using EasyEDA since it interfaces with these PCB sites directly, but you can use others. This CAD software will generate a Gerber file, which is uploaded to the site for them to make for you.

Here is a screen cap of my finished VCO panel I made in the CAD program:

And here is a pic of the finished product:

If you like the way that looks (you can change the color) the details on how are to follow.

  1. Know what dimensions you want to work with. I was going Kozmo format, so 100mm x 200mm. The price breakdown is $2 / £1.53 a piece for an order of 5 working out to be about $10.70 / £8.19. Its for this reason that the next time around i plan to design a bit more generically so I can use them all. Live and learn right? So that price works out because they charge an engineering fee to process PCB that are sized greater than 100×100mm. Another thing i was thinking is a redesign that shrinks things to 100mmx100mm. I have a few ideas, but i wanted to stick to Kozmo here since well you know why.

  2. Thankfully, since its just a front panel, you dont have to worry too much about traces. Here are some terms:
    a. Top Layer - The copper traces part. In the case of cases, I used this for accents and as part of my logo.
    c. Top Silk Layer - The white lettering and stuff. On the top of the PCB.
    d. Bottom Silk Layer - The white lettering and stuff. On the bottom of the PCB.

  3. Setup the view. Right click the canvas and open canvas attributes. I set my grid size to be 10mm with a snap at 1mm. Click Update.
    image
    image

  4. Tools and navigation. You use the middle click to move the work area, and mouse wheel to zoom in and out.
    a. The rect tool is great for blocking out chunks of a layer. I select the tool, and the layer i want to lay down. In this case i want to drop some substrate copper traces.
    image
    image
    image
    Its like using a paint program really. Once you have a new object, you can select it by clicking it, then you get a bound box with green vertices. You can click and drag the center to move the object around, and you can click and drag those green points to resize. While selected, you can press the delete key to delete it.
    image
    One trick is to select the Rectangle properties when the shape is selected, and change fill to no. This will make a rectangle thats just an empty box. Set the stroke width to your liking.
    image
    image
    b. The pad tool creates a pad. Its a bit tiny for the 3mm screws i use, so i need to adjust them. Select the pad, and on the right there will be a “Pad Properties” dialog. I adjust the hole size to fit the 3mm screws, and the width to give the metal bit some room.
    image
    image
    image
    c. The hole tool. This produces a hole. No really thats all it is no fancy biz. I just adjusted the properties to fit the 3mm size requirements and thats it.
    image
    image
    image
    d. The arc center tool helps make parts of circles centered on something. This is how i did the copper traces on the pots. Its kinda hard to explain, but here goes. You click a place, then it pulls a circle from the center of that click. then, you leave just an arc you want derived from that circle by moving the cursor around.
    image
    image
    image
    image
    image
    image
    e. The text tool. You uh, just insert text. By default, it just stamps the word “text”, so you need to alter the properties again.
    image
    image
    image
    image
    If you’s got some fancy fonts downloaded from them there internets, you have to add them using the fonts management button in the properties dialog. You can look at sites like https://www.dafont.com/. Unpack the archive, and add them. You can change the size of the text by altering the height property.!
    image
    image
    image
    e. The image tool. This lets you put images in with varying levels of success. You upload the image and adjust the color tolerance until you get something thats serviceable. In this case, the image is simple enough, so it can turn it into a black/transparent image ok.


    Then, you can just stamp the image and adjust size with its properties.
    image

The last thing to keep in mind is to give a bit more space for the through holes. When i received mine, i had to drill a tiny bit in the hole for the jacks and pots. When you look up the dimensions for things, allocate a tiny bit more, since apparently thats a thing.

Once you are happy with your board,save that guy as a Gerber file.
image

Go to https://jlcpcb.com or wherever you want to get PCBs from.It doesnt matter the dimensions, since the gerber will fill in the details for you.

image
image
To preview click the gerber viewer (there may be some rendering errors and stuff, its just a last check. there are other gerber viewers online):


Select your options as you see fit. here are some notes:

  1. 2 layers is fine.
  2. 1.6mm is thick enough.
  3. Select whatever color, just know green gets shipped the fastest. Green is a 24h turnaround, and other colors are 2-3 days. This is what i went with, its all mostly default.

    When you are satisfied, add to your cart.
    image

Be sure to take advantage of coupons. New customers get a couple for like $5 off.
image

I ordered two different panels, and spent a bit more in shipping (worth it). You can see the status of your order from the website:
image
image
image
image

As you can see the turnaround was fucking fast.

15 Likes

Solid gold right there!

4 Likes

footnote: you don’t have to save the gerber files, the G→ option in easyeda lets you go directly to jlcpcb. saves you a click or two.

3 Likes

I can’t thank you enough for this. Can we make this sticky, or put it in a permanent section somehow @lookmumnocomputer?

5 Likes

Thank you so much! Been trying to figure this out for a while but it has been so daunting.

2 Likes

Good point @fredrik, i was trying to keep the instructions portable. Thats the reason i went with EasyEDA over Eagle.

1 Like

Superb info. I’ve been sketching up ideas for capacitive touch modules but not looking forward to etching my own boards to ‘stick on’.
This is a new and fun way to go.
As for making things more ‘generic’ and sub dividing the kosmo format I’m thinking some tessalation (can’t spell) design that’s reversible even would allow you to mix it up a bit.

3 Likes

Yeah, I just uploaded my first PCB panel to JLCPCB yesterday. I designed it in KiCad. Went with the slow shipping since I’m a patient cheapskate and the module won’t be done for a while (getting the PCBs for that from PCBWay, just for variety).

4 Likes

Dave from Notes & Volts just posted a nice tutorial on how to make PCB front panels using KiCad:

7 Likes

the audio on that one is god awful :frowning: but otherwise a great and very informative video

3 Likes

This is a great alternative to the Easy EDA for when you want to order from PCB houses other than JLCPCB.

1 Like

Well, you can export Gerbers from EasyEDA.

3 Likes

How do you align your panels with your PCBs? do you put them into the same KiCAD / easyEDA file and move them on top of each other?
Also: How do you get your daughter boards (for jack sockets) aligned with the main PCB and panel and can you also put them in a single file?

I haven’t tried doing them in a single KiCad file. I would think that would complicate things, for instance, how would you generate Gerbers for just the board or just the panel? I guess you could save a copy and then edit out the board you don’t want?

I tend to design my front panels before my PCBs. I do that in Inkscape, with layers corresponding to artwork, holes, etc. Then I export a bitmap image of the holes layer and use bitmap2component to make it into a silkscreen footprint. (This has to be done carefully to keep the scale correct.) I place that footprint in pcbnew and use it to guide placement of panel components. And of course I export a bitmap image of the artwork, convert it to a silkscreen footprint, and use that in pcbnew to make the front panel, after first using the holes footprint to place the panel holes. And obviously I delete the holes footprint in both cases after it’s served its purpose. (I guess I could move it to the user drawings layer and leave it in place.)

It’s not a particularly easy or convenient process but it’s the best I’ve got.

I’m still struggling with best ways to do daughterboard alignments, pretty much all I can think of is to note the coordinates of the header footprints and mounting holes on the main board and put the daughterboard headers and mounting holes at the same coordinates. I’ve also printed the main board to a PDF file, converted that to a bitmap image, and converted that to a silkscreen footprint, again taking care to keep the scale correct, and used that to help line things up.

3 Likes

Thanks! I am now using your gate grinder module as a starting point for my panel/pcb. I have set up a 100x200 “frame” with lines on F.Fab and place my potentiometers and stuff like I want it (not using inkscape, because I need to learn it first), then place all the other components and do the routing.

That is where I am currently , and now I am going to copy the whole pcb directory to a new location, delete all the non-panel components and then put the holes on top of the components to match them up. Then I will delete the original components and, voíla, I got a panel (hopefully). I’ll do the same for the daughterboard with the jacksockets.

Hope it works!

5 Likes

You’ll want the frame on the edge cuts layer, not fab. But same idea

2 Likes

I am trying to get a custom shape transparent window on my panel! (I want a blinking heart when the envgen triggers). So I need to have the solder mask as well as the copper removed for my image. So far I have

  • image on solder mask (not in the screenshot, but it works)
  • inverted image on F.Cu
  • copper keepout area covering the whole image area (I don’t think I need that)

But the inverted image on F.Cu gets a clearance on the copper, which I can not get rid of! In the local clearance and settings for it everything is zero. I tried adding a pad and connecting the footprint/component to ground in the schematics.
Any ideas what I need to do here?

2 Likes

Did it! :upside_down_face: I had to convert the shape into a custom shaped pad in the footprint editor! then I could assign it to the GND net. Now I need to do the backside, but there a simple mask will do.

6 Likes

So I personally generate the Panel’s and Boards in the same file now that i’ve learned a ton about KiCAD… lol
So this is my work around for generating separate GERBERs…
Highlight one of your boards - delete it - plot your board and drill files, CTRL-Z and bring your other board back - then delete the one you already have a gerber for, plot and generate drill files and then ctrl-z again and then save lol.
It verks… :stuck_out_tongue:

This makes lining everything up stupid easy.

Another way to do it - once you have your board finished - export your pcb as an SVG and bring it into inkscape and delete everything except where your pots, switches jacks etc are and then import it back into ki cad when making your panel as a footprint and you can trace around it to make your panel :slight_smile:

4 Likes

Nice, except I’m an advocate of the other way around: Lay out your front panel first, then design your PCB. Of course that doesn’t always work out without some backtracking. But generally I’m a firm believer in starting with the user interface and designing from there, rather than having it be whatever you can manage at the end of the design process.

(Not that I’m holding myself up as an exemplar of module design, but that’s the theory I aim for.)

6 Likes