A couple effect boards I designed to learn KICAD  [link]

Digital tools for electronic work: software for pcb design, schematic drawing, circuit simulation, parts inventory tools, ...
Post Reply
User avatar
whbeers
Information
Posts: 7
Joined: 02 Mar 2023, 05:19
Location: Greater Seattle Area
Has thanked: 4 times
Been thanked: 2 times

Post by whbeers »

Hey - I had some time between jobs to kill, and after building several circuits from PedalPCB I've started learning PCB design with KICAD by building open-source versions of classic effect circuits. I'm trying to get one put together a week, focusing on classic drive and fuzz circuits with only minor modifications while breadboarding (with some luck, the pace will slow down again once my day job starts up again). I thought I'd share what I've gotten up to so far in case it's interesting to folks here:

https://github.com/whbeers/buffer_overflow (DOD Overdrive 250 clone)
https://github.com/whbeers/random_input (NPN Fuzz Face clone with multi-turn bias trimmers and probing points on each collector - and yeah, I've been meaning to try out a version that trims on the Q2 emitter to see how it compares when I swap in different transistors)
https://github.com/whbeers/noise_floor (utility IO and 3PDT boards - includes a footprint and schematic layout for 3PDT-based bypass that might be helpful to some folks)

Now that I've put together, produced, and revised a couple to the point that they work using PedalPCB 3PDT adapters, I'm taking the designs in a more opinionated direction using molex picoblade connectors, with the goal to build a more pluggable test platform for future designs. See the "noise floor" design above for where I've gotten to so far and some of my future plans.

I'm interested in feedback on the approach I've taken so far, or other ideas on what's worked / what hasn't, especially around user interface boards - ie. some shortlist of configurations of pots and switches that end up being generally useful.

(Note: this is all stuff I'm doing for fun / to learn, and I'm publishing it all as open source on github using the CC0 public domain licensing scheme. In the off-chance this is useful to you, please feel free to use any or all of it for whatever purposes. I can't promise support for any of it, and I'm definitely not an expert.)

[the naming scheme is me being an infosec nerd.... there's plenty more where this comes from :)]

User avatar
Tassieviking
Breadboard Brother
Information
Posts: 58
Joined: 25 Nov 2018, 12:09
Location: Tassie
Has thanked: 32 times
Been thanked: 23 times

Post by Tassieviking »

Not bad at all if you are just learning KiCad.
If I may make some suggestions:
I always use the stereo sockets that are mounted on the PCB, they give you a lot more mechanical strength with 6 solder pads. Just connect the extra ring pads to ground.
(It is a common fault in older amplifiers that the solder joints crack from inserting/removing the cables)
The pads that are connected to ground need to have thermal reliefs or they are going to be very hard to solder,
yours seem to be solid with no reliefs.
A relief means that there is a gap between the pads and the flood fill with small arms attaching the pads to the flood fill, when they are solid it takes a lot more heat to make the solder stick to the pad.
On the buffer overdrive the pots seem too close for mounting on the PCB together, make sure you have the 3D picture for the pots in your files.
I like to use Alpha pots so I use Vasily's great 3D pictures. https://grabcad.com/vasily.kashirin-1/models?page=1

I order my PCB's from JLCPCB and I find them really good and cheap even if I have to get 5 PCB's of the same design each time, I still get them cheaper then if I bought one PCB from a shop.

I also noticed that you are not switching the power on with the input jack, usually the negative power goes into the ring on the input jack, when a mono plug is inserted the negative is then connected to the collar.
Attachments
Input jack power sw.png

User avatar
whbeers
Information
Posts: 7
Joined: 02 Mar 2023, 05:19
Location: Greater Seattle Area
Has thanked: 4 times
Been thanked: 2 times

Post by whbeers »

Thanks for all the feedback - I’ll incorporate it into the next revisions.

I actually just put in another order with PCBWay for the latest revisions. I expect I’ll notice the difference with solid fills on the ground pads and pot clearance when they arrive. Luckily they have a consistent one week turnaround, so iteration is pretty fast.

I switched from pads with relief to solid fills a couple revisions back without thinking too hard about it but what you said makes a ton of sense. I’ve reworked some boards in the past with really tricky ground pads - good to finally make that connection.

I have some Amphenol TS and TRS jacks on the way from Mouser - I was going to switch from Neutrik footprints to save some width and hopefully fit an expression pedal jack into a future design. When I make the footprint I’ll stick to the six pad version and incorporate switching.

Thanks again for the suggestions!

[Edit - I've pushed new revisions to github taking into account all your feedback, except the switched input jack - I'll take a look at that one now. The imported step models aren't showing up in color, looks like a bug in kicad that I need to work around. Will upload new renders once it's fixed but for now we get grey :)]

User avatar
whbeers
Information
Posts: 7
Joined: 02 Mar 2023, 05:19
Location: Greater Seattle Area
Has thanked: 4 times
Been thanked: 2 times

Post by whbeers »

Alright, after a bit of thinking about it, I think I've wrapped my head around the switched inputs. Does this look about right?
switched_input.png
switched_input.png (4.16 KiB) Viewed 752 times
Excluding the battery, I wasn't sure whether it would be more correct to bridge the DC input switch to center/ground or positive dc

I assume grounding the switches (and ring) on the output jack is also the most correct thing to do.

[Edit: decided adding a couple solder points for a battery gives the board some free flexibility - updated attached diagram.]

User avatar
Tassieviking
Breadboard Brother
Information
Posts: 58
Joined: 25 Nov 2018, 12:09
Location: Tassie
Has thanked: 32 times
Been thanked: 23 times

Post by Tassieviking »

I would not short the output (TN), you might damage components if you do that, connect TN to T and to the output.
If you plugged a signal into the input before you connected the output cable you would produce a signal that is shorted out.
I short the input when no plug is inserted to prevent the circuit from trying to produce a signal (noise) if the input is left open.

I informed KiCad about the 3D step models not showing colour, they have already fixed it and will be ok in the next stable update.
It is fixed in the latest nightly release but I don't like installing any updates till they are in the stable releases.

I might have got the wiring on the input jack wrong, maybe connect the negative supply from the battery to the shield and the negative to the PCB to the ring.
Both will work but I think it is better with the ring to the negative on the PCB.
Also with plastic input jacks you should connect the negative supply to the box somewhere as well, that will make the box work as a shield against outside interference. A small grounding wire to the spring washer on the foot switch will work fine.
Cheers

User avatar
Tassieviking
Breadboard Brother
Information
Posts: 58
Joined: 25 Nov 2018, 12:09
Location: Tassie
Has thanked: 32 times
Been thanked: 23 times

Post by Tassieviking »

This might be better
Attachments
Input jack power sw.png

User avatar
whbeers
Information
Posts: 7
Joined: 02 Mar 2023, 05:19
Location: Greater Seattle Area
Has thanked: 4 times
Been thanked: 2 times

Post by whbeers »

Thanks again! The latest revision on github incorporates all this advice. I added brief explanations to the schematic, as well as a note about the chassis ground.

User avatar
Tassieviking
Breadboard Brother
Information
Posts: 58
Joined: 25 Nov 2018, 12:09
Location: Tassie
Has thanked: 32 times
Been thanked: 23 times

Post by Tassieviking »

Open this file up, I often start with this one and then rename it to the file am creating BEFORE I get any components into PCB_EDITOR.
It is just a rough guide to the inside measurements of standard boxes, always double check before completing a board.
I will make it more accurate one day but it's good enough for now.
Attachments
1590B_125B_1590BB_StompSwitch_Battery.zip
(10.85 KiB) Downloaded 26 times

User avatar
whbeers
Information
Posts: 7
Joined: 02 Mar 2023, 05:19
Location: Greater Seattle Area
Has thanked: 4 times
Been thanked: 2 times

Post by whbeers »

Oh nice - that's a good idea. For the IO board, I did measure the target 125B enclosure for clearance.... but didn't take into account the screw posts at each end.

I've been thinking of putting together a similar template project with all the common footprints/models I use, along with ancillary scripts and project structure. Including those basic dimensions as part of a user/drawing layer makes a ton of sense.

Fixed the 125B width issue in the latest rev, along with moving to Amphenol jacks that save a bit of width in general. I also discovered that pre-assembled picoblade cables reverse the pin order to downstream boards (doh!), so that's also fixed.

User avatar
Tassieviking
Breadboard Brother
Information
Posts: 58
Joined: 25 Nov 2018, 12:09
Location: Tassie
Has thanked: 32 times
Been thanked: 23 times

Post by Tassieviking »

When I start a new project I put the Stomp box PCB file in that folder and then rename it to whatever the project name is.
Other times I just open both at the same time and copy the stompboxes and paste them into the new PCB layout.

Another thing I have done is to save resistors and capacitor footprints into a separate folder and then resized the courtyards to be the exact size of the components.
A 2.5mm resistor has a courtyard that's 3mm wide in the standard KiCad library, not good for stompbox layouts where you might want a resistor at each leg of an IC (2.54mm).
If you make compact layouts you might need to resize the courtyards and save those components into a separate folder, don't do it in KiCad's library as it gets wiped out if you update to the next version of KiCad.

User avatar
whbeers
Information
Posts: 7
Joined: 02 Mar 2023, 05:19
Location: Greater Seattle Area
Has thanked: 4 times
Been thanked: 2 times

Post by whbeers »

Following up here, I spent a bit of time this morning building out a footprint library for common enclosures (all the metal enclosures Tayda sells today), using the CAD files directly from Hammond: https://github.com/whbeers/enclosure_kicad_footprints - I hope this is useful to someone!

Post Reply