Connect pins with KiCad Bus, Labels, and Global Labels

When to use them and why in a KiCad Schematic

When your schematic has a large number of related signals, it is helpful to group them. In its schematic editor, KiCad has a few tools to help. Your end-goal helps determine which tools to use. For example, do you need a KiCad bus or a label? In this post, I explore how you can define signals, group them, and reference them across schematic sheets.

Up until recently, I did not need to use a bus or multiple sheets. However, the Apple IIgs project I’m working on is too large for a single page. In a KiCad live stream, I looked at how to create busses and connect them. In a separate tutorial, I will show how to work with multiple sheets in KiCad.

tldr; KiCad does not require the use of a bus to connect signals together. Wire labels already provide that connection. A KiCad bus offers two things: 1) a visual representation and 2) an easier way to create global connections (across sheets.)

Lastly, if you are not familiar, KiCad is an Open Source eCAD tool. Although I have used others, this one currently my preferred platform.

KiCad Bus, Label, and Wire

Before jumping to how to use a bus, first, we need to start with the basics. KiCad connects nodes with a “wire” element. KiCad gives each wire drawn a unique name unless it connects to an existing node. The user can override the name by adding a label.

KiCad Wire and Label Example

Wire and Label Example

Continue Reading »

Creating Custom KiCad Schematic Symbol in 5 Steps

Quickly make a KiCad Part

KiCad Schematic Symbol

A new project I have started working on involves the Apple IIgs. It was Apple’s last 16-bit (and 8-bit) computer. Inside are many application specific integrated circuits, or ASICs, that make the IIgs an extraordinary member of the Apple II family. One chip, in particular, is called the “MEGA-II.” This chip takes all of the individual logic chips from the original Apple II design and incorporates them into a single 84-pin PLCC.

The project I have in mind needs the MEGA-II. I need to design some printed circuit boards for it and a few other IIgs chips. That goal means I need at least one custom Kicad schematic symbol. I plan to create a custom library of Apple IIgs components.

Like other computers from the same era, complete schematics are available. However, they are not in a modern format. Since I need to create symbols for so many of the chips as it is, I may end up re-creating the entire IIgs schematic.

For now, here is the process I use to create custom KiCad schematic symbols and parts.

Continue Reading »

DIY Arduino PCB Pryamiduino (Video)

Addohms video on making a KiCad Triangle.

Pyramiduino KiCad PCB Desgin

Continuing the DIY Arduino tutorial series, this AddOhms episode shows how to create a PCB in KiCad. I make a joke that the original design was a rectangle, which I found boring and pointless. So instead, I designed a triangle to give the board 3 points. Get it? Puns! I am calling it the Pryamiduino. To be honest, I found not having a constraint to be a problem. By forcing a specific board size and shape, many decisions were more manageable.

boring rectangular arduino nano clone

First design – Boring!

In the end, the video ended up more edited than I planned. KiCad is just so finicky and crashy that I could not make a coherent start to finish tutorial. At least, I could not work with a board at this level of complexity. Something simple like a 555 flasher would be easier to show from start to finish. I am planning some immediate follow-ups with quick tips on using KiCad. It is a frustrating suite of applications, but the results can be quite nice.

AddOhms Pyramiduino Show Notes

Continue Reading »

DIY Arduino Schematic board and Checklist

Things to consider when designing a custom board, based on an Arduino

DIY Arduino Schematic Banner

One of the last significant steps in a project is designing the custom PCB. This stage means creating a DIY Arduino board that is custom to the application. Two examples of my past projects are BinBoo, a Binary Clock, and Open Vapors, my reflow oven controller.

While working on a project for a friend, I got to thinking; it would be nice to have a checklist for circuit elements to include on a DIY Arduino board. In the early days, I forgot to add a filter cap to AREF, for example.

These tips are based on an 8-bit AVR design, like the ATmega328p chip. You could apply these tips to other 8-bit AVRs. Until now, I have not designed a custom board around a 32-Bit/ARM board. Though at only $16, I would be tempted to just solder the Teensy module directly to my finished board.

Below is a written list of items for a DIY Arduino checklist. If you’d like to see me design this board in KiCad, check out this AddOhms Tutorial.

Continue Reading »

KiCad BOM: Don’t Bomb your BOM!

3 methods to manage your KiCad BOM from the start

kicad bom introduction

A KiCad BOM is a list of all the parts your design is using. The term BOM, or bill-of-materials, is standard for supply chain management and does not just apply to electronics. KiCad’s eeschema has a BOM export feature. Unfortunately as of Version 4.0, this feature is still somewhat lacking. Given the limitations, here are some tips to take your KiCad BOM from Schematic to Mouser.

Spending a few extra minutes while capturing (drawing) your schematic thinking about your KiCad BOM can save you a ton of time later on. Moreover, as you build up a database of parts, these extra minutes turn into seconds. Here are a couple of ways to describe your parts, especially passive components, better while drawing schematics in KiCad.

Continue Reading »

Getting PCBs from KiCad to X-Carve

Milling printed circuit boards with open source tools from start to finish.

KiCad to X-Carve Workflow

The last time I looked at using an X-Carve for Printed Circuit Boards (PCBs), I created a demo board with EAGLE. Since then, I have learned more about using KiCad, the open source electronics CAD suite. While not a step-by-step tutorial, here is my rough KiCad to X-Carve PCB workflow. These are just the high-level steps, the tools necessary, and the settings I’ve discovered for each—so far.

Eventually, I will make this a more detailed KiCad to X-Carve PCB tutorial, so make sure you subscribe to my RSS feed for updates.

Here’s the Basic Steps:

  1. KiCad: Draw Board
  2. KiCad: Plot Gerbers
  3. KiCad: Generate Drills
  4. pcb2gcode: Generate G-code
  5. Text Editor: Clean Up G-code Files
  6. Camotics: Simulate G-code
  7. ChiliPeppr: Send G-code and control X-Carve
  8. X-Carve: Make the boards!

Continue Reading »