Practical KiCAD Schematic Design Lessons from My 555 Timer

The primary goal of the project I’ve been working on was also to develop a DKRed PCB. Here is the link to the first TechForum post about my project. I have made copper sheet drill pattern designs before with the Bantam drill kit before, so it wasn’t completely foreign to use KiCAD to make a board design. Since DKRed boards don’t use the same method, this was a different experience. This post will focus on the KiCAD schematic changes first. Here is another post about board tips I learned or picked up:

I’d highly recommend watching this full tutorial that @Brian_German put together on making a PCB in KiCAD 9.0:

Full Schematic and Changed Aspects

Instead of utilizing only half of my 555 timer, I thought it would be a good idea to incorporate the values I chose in my prototype for a learning opportunity! There is the ideal side which goes with the application note 5k minimum for Ra and then my first version where I started at 250. Here is a Scheme-It drawing of my intent:


Essentially, the switches just shut off the whole oscillation circuit all at once and leave the IC powered because it draws very low current with no load.

Final KiCAD Schematic: Notes

Here is the image of my full KiCAD schematic:


Here are some important notes about the schematic before discussing differences:

  • Try naming major wires (aka nets) with unique names, it makes drawing traces way easier in the PCB editor.
  • If you use an external power source, you can add it as a simple graphic (see Z1) and not include it in the board design.
  • Try avoiding a four way intersection when possible. There is a possibility KiCAD may not interpret it properly when rendering rats nest connections in the PCB editor.
  • You will want to assign footprints ahead of time per component. Common parts like resistors, diodes, switches, and potentiometers may already have common footprints. If something needs to be adjusted, you can edit the local copy of the footprint in the PCB editor without editing the source file.
  • Make sure to add power flags for Vcc and GND nets. KiCAD might complain during the ERC (electrical rule check).
  • You can assign colors to nets if you’d like to for organization purposes.

Design Changes to Note

There are some changes I made to the circuit here. An engineering student on LinkedIn helped me that knows more about uncommon design aspects helped me. @Brian_German also gave some pointers on design aspects too.

  • 10k Pull Down Resistors After Switches


    These are routed to the ground signal path. When you open the switch, the integrated circuit doesn’t have a direct reference to ground on this side of the switch. This is considered “floating.” Once the switch opens, VCC will “see” ground and make it consistently turn off.

  • Power Jack Pin 3 Switch Shorted to Ground


    I’m not using the switch function for the part I purchased (5149-LDC-131HS-J-054-AG-19CT-ND). Brian advised that I should just tie that and the surrounding shield all to ground. This makes the device safer to touch and gets rid of the function I’m not using.

  • Unused Pins of Potentiometer Jumped to Wiper Pin


    The engineering student advised jumping pins 2 and 3 of both of my potentiometers. There can be a phenomenon called “bouncing”; think of the little contacts touching the material in the trimmers moving up and down if they are jostled hard enough. This could cause an issue where the resistance practically jump to zero ohms causing a short! Brian said that is less of a problem for small trimmers, but it might be a good practice to do anyway.

  • Added Four Test Points for Reading on an O-Scope


    Lastly, I added four test points to read voltages off the outputs of both sides of the timer, a connection to ground for easy access, and monitoring the second discharge pin voltage. Hindsight, I should have added a test point for the discharge side of the ideal side too. These test points help you see what happens when you overdrive Q14 on the NE556N.

Last Notes on Schematic Change

I think if you want to teach something, you have to be willing to include your “mistakes” as a feature. Its totally fine to simplify the design and use better parts fit for your application (that is expected in prototyping vs. the final design). However, if you are building something that aims towards teaching, find pitfalls one can fall into and include them on purpose. I wanted to include the non-optimal side so that it demonstrates what actually happens when selecting parts without context. That is how I designed my prototypes, why not include it as a feature for demonstration?