6 things I learned about KiCad at KiCon 2019

Re-cap of the stuff I found interesting at the first conference for hardware developers

In April 2019, hardware hackers, hobbyist, and engineers joined together for the first KiCon. A couple of people asked me, “why is there a conference for KiCad?” Some questioned if KiCad was significant enough software to warrant a conference. That question is valid. But KiCon is larger than the KiCad software. Even in its first iteration, KiCon evolved more into a meeting for people building electronics hardware from small scale hobbyist to professionally designed systems, than just a conference on a single piece of software. Some might call it a maker conference. I call it a hardware developer conference. The key that tied everyone together is the open source software behind our printed circuit boards.

Twenty-five different talks covered basic KiCad usage, automating tasks, PCB layout techniques, and projects designed in KiCad. Wayne Stambaugh ended the first day with a State-of-KiCad discussion. He introduced the feature list for KiCad 6. Additionally, he announced four new lead developers and that he would be working on KiCad full time. That news means it is likely KiCad 6 will be here faster than the usual two-year release cycle.

In addition to the talks, there were several workshops and panel discussions. The workshops included a getting started with KiCad lead by Shawn Hymel [link]. That one was cool to keep an eye on because people were designing their first PCB, milling it, and then soldering parts to make the boards blink. In another workshop, Anool Mahidharia provided a hands-on guided introduction to FreeCAD. It is a parametric mechnical cad tool. The panels featuerd PCB manufactureres, workflow discussions, and the KiCad development team.

Outside of the planned classes and activities, I finally shook hands with friends whom I only knew through social media. Even though we are all electronics enthusiast or professional engineers, it is rare we end up at the same place at the same time. See what I mean about KiCad connecting liked minded people together?

With so much going on, I realized I couldn’t cover everything. Instead, this post’s focus is the tidbits I learned at the conference and stuck with me after a little bit of time passed. Here are the six things I learned at KiCon 2019.

Continue Reading »

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 »

DIY Arduino PCB Pryamiduino (Video)

Addohms video on making a KiCad Triangle.

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 »

KiCad BOM: Don’t Bomb your BOM!

3 methods to manage your KiCad BOM from the start

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 »

Introducing Bit Preserve

Recreating vintage schematics with KiCad

A project I work on in my spare time is creating a portable Apple II. Like many of my projects, one leads into another. I started out wanting to make a mobile Apple II, and now I’m working on a project called Bit Preserve. How did I get from one project to the next? Well, as I looked into how to make a portable Apple II, I realized a significant issue. The original Apple II logic board has almost 80 ICs. Being a design from 1975, they are all through-hole packages. The good news is that except for the ROM chips, they are all off-the-shelf components. But such a size means it might be impossible to turn it into something handheld. I almost abandoned the project. Then, I learned about a chip included in the Apple IIgs. The name of the ASIC is “MEGA II.” (Nothing to do with Arduino.) It is a chip that integrates all of those off-the-shelf chips into an 84 pin package.

As I dove deeper into the project, I realized I needed other support chips to make the MEGA II useful. There is a decent book that discusses the technical details of the Apple IIgs, but it does not get into chip or board level design. For that detail, I had to look at the original schematics. While I am ecstatic that someone archived these original documents as PDFs, I quickly became frustrated. Sometimes the scan quality is not very good, and it is nearly impossible to search for symbols across multiple pages. I thought to myself, “There has got to be a better way!”

Bit Preserve on GitHub

Continue Reading »

Five ways to make a schematic (quickly)

Engineers make a schematic to explain their circuits.

One time I was looking for a non-tourist pub in Japan. I asked someone for help. She said, “I’m sorry, but I do not speak good English. I will bring my friend, and she will draw you a map.” (Exact quote!) The map her friend drew, gave directions to a bar with a “Neon Yellow Sing.” She meant “sign.”

The map was the method we used to communicate with each other, even though we didn’t both speak English. With this crude but useful map, I could find my next drinking place destination.

Schematics are the same as this map. Even if you don’t speak the same language, you can communicate how a circuit works when you make a schematic.

Use one of these five tools, when you need to a document a circuit or when you need to ask for help.

Continue Reading »

KiCad KiCon 2019 BannerOn April 26th and 27th, the first year of KiCad KiCon kicks off in the Windy City. Join me and 26 others for talks about the open source electronics CAD tool. The list of speakers is impressive. There are many names which I follow on social media and some I recognize from the KiCad team. For example, Wayne Stambaugh is the KiCad project leader and has one of the keynote talks.

You can see the full list of KiCon talks here. And tickets are available here.

Bald Engineer’s Apple IIgs KiCon Talk

Here is the description for my KiCon talk.

While documentation exists for 1970’s and 1980’s calculators and computers, unfortunately they exist in bitmap formats. As I started converting parts of the Apple IIgs schematic to KiCad, I realized something. There are benefits to “preserving” historical schematics in a living, active, and open format. In this talk, I talk about my experiences in converting scanned PDFs into KiCad, the project behind that motivation, and to encourage help from others to preserve history with KiCad.

So what is it? Well, several months ago, I did a couple of Apple IIgs hardware live streams. I have a project in mind for the MEGA-II ASIC. But before I could move forward on the project, I wanted a modern version of the IIgs schematic.

While schematics for classic 8 (and 16-bit) computers are readily available, they are usually only in PDF format. Studying the design is like reading a book. While I am glad the PDFs are available, I would like to be able to do actions like a search.

In my talk, I’ll explain why we should be converting these classic schematics into an open format. Along the way, I’ll take the audience through my journey of using KiCad for this project. In the end, I’ll be asking for help to convert other classic computer schematics.

Where is KiCad KiCon 2019?

The location for the conference is mHUB in Chicago, IL. If you’re able to attend in person, I look forward to meeting you. If you’re not able to travel, I fully expect either a live stream or recorded versions of the talks to be available.

Learn more about KiCad KiCon 2019

Date: April 26, 2019—April 27, 2019
Event: KiCon 2019 - Preserving history with KiCad
Topic: Preserving history with KiCad
Venue: mHUB
Location: 965 W Chicago Ave
Chicago, IL 60642
Public: Public
Registration: Click here to register.
Comments (0) | | Posted in Events
Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, I only recommend products or services I use personally and believe will add value to my readers. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: “Guides Concerning the Use of Endorsements and Testimonials in Advertising.”

DIY Arduino Schematic board and Checklist

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

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 »

Classic, vintage, or retro computer systems are well documented on sites like Wikipedia. Their historic position is well known. Their schematics are even published from original documentation. But how useful are those schematics in their current form? (Spoiler, not much.) Presented at KiCon 2019.

Download Slides (8mb)

Comments (2) | | Posted in Slides
Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, I only recommend products or services I use personally and believe will add value to my readers. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: “Guides Concerning the Use of Endorsements and Testimonials in Advertising.”

Creating Custom KiCad Schematic Symbol in 5 Steps

Quickly make a KiCad Part

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 »

Getting PCBs from KiCad to X-Carve

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

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 »

Drawing Apple MEGA-II Breakout in KiCad

There is a project that has been sitting on my “to do” list for too long. My lab notebook has several dedicated pages for it. But I have not made progress. I decided to take some advice I have given to other people. When you’re stuck on starting a task, break down the project until you find a piece small enough you can get it done with no problem.

The project involves the Apple IIgs. It was Apple’s last 16-bit (and 8-bit) computer. Inside are some application specific integrated circuits or ASICs that make the IIgs. The name with my attention is named “MEGA-II.” It takes all of the individual logic chips from the original Apple II design and incorporates them into a single 84-pin PLCC.

MegaII from AppleLogic 960px

Image from Applelogic.org (Full)

Continue Reading »

Need a G-code Viewer? Check out this Open Source CAM Simulator

CAMotics.org

gCode Viewer: Camotics

A gCode viewer is essential when doing anything with a CNC. Knowing where the tools is going to run can mean the different between a failed cut and a broken bit. Or let’s say you’re trying to debug some gCode scripting, no need to wait an hour to find out you messed something up. That’s where a GCode Viewer can help.

There are several on-line options that let you upload files and see them in a 3D view. However, if your CNC is setup like mine, there isn’t a good internet connection available. Camotics, formerly the unfortunately named OpenSCAM, is a cross-platform open source gCode viewer / simulator.

Most recently I used it to debug some gCode that pcb2gcode generated from a Kicad board I am working on.

Check out more about Camotics on their site: http://camotics.org

(more…)

Continue reading » | | Posted in Links
Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, I only recommend products or services I use personally and believe will add value to my readers. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: “Guides Concerning the Use of Endorsements and Testimonials in Advertising.”

Bald Engineer’s Top 2015 Stuff

A look at what you read the most from James

As 2015 wraps up, I took a look at baldengineer.com’s traffic for the past year. Here’s some of the most popular stuff from my blog, in case you missed it.

Everyone with a blog looks at their traffic numbers. For me, traffic data provides feedback on what tutorials or posts are helping people most. Each year, the traffic to my blog grows at ridiculous numbers. As someone with both an engineering and marketing background, I find the numbers impossible to believe.

Thank you to everyone who reads, shares, and comments the stuff I create. Those of you on the mailing list, I appreciate the interaction we have there, please keep writing in!

Check out these posts if you didn’t catch them the first time.

Continue Reading »

7+ Python Engineering Modules for Electronics Engineers

Python is everywhere. Its capabilities continue to grow. Not only can you create simple scripts, but you can create full-blown applications with it. The core has been scaled down to run on 32-bit microcontrollers like the ESP32 and Adafruit Feather M0. You can even use Python engineer modules to design stuff like circuits. There are electronics Python modules that create schematics, simulate circuits, and make solving math a cinch. Here are some of the modules I found that make Python usable for (electronics) engineering.

Up front, make sure you have a functioning Python environment. Update the package manager “pip” since all of these electronics python modules rely on it. Speaking of dependences, you may need to also install third-party libraries for some of them. From what I can tell, these all should be platform independent. However, I only tested these electronic modules with 64-bit Windows.

Continue Reading »

X-Carve CNC Review and Hands-On with PCB Milling

Can the X-Carve be used for PCB Milling?

There are two methods to making a prototype PCB: 1) Etch Your Own or 2) Send to a Prototyping Service. While there are many prototyping service options, most cause you to wait anywhere between 24 hours and 30 days before you get your boards back.

If you need a PCB done today, etching at home is a great option. Chemical etching involves all kinds of steps with all kinds of weird chemicals. If you don’t want your neighbors to think you’re the next Walter White, then mechanical etching is a better option. Which is why I bought an X-Carve from Inventables. It’s a CNC Milling Kit you build yourself.

Keep reading for my X-Carve CNC Review and first-hand experience on etching my first PCB. Plus, lots of pictures!

Continue Reading »

PicoScope 2204 Review and Hands-On

Initial thoughts on my first hands-on with a USB 10 MHz Scope

If you need a reason to be an Element 14 member, let me suggest their Road Test program. Companies partner with Element14 to get people to try out their gear. A couple of years ago I got a new microcontroller board. This week I received a new test instrument. Here’s my hands-on Picoscope 2204 review.

The scope is bus powered. With the BNCs and type-B USB connector, it is slightly larger than an external USB hard drive. There is not much weight to the device. It does not feel cheap, just lighter than I expected.

Getting the scope up and running is a breeze. Pico Tech included a CD (or DVD?) to install the software, but I could not find my drive to check it out. Software downloads from Pico Tech’s website work great. It looks like you can even download the software and use it in “Demo mode” if you are curious how it works–without purchasing anything.

Continue Reading »

Share projects on one of these 4 platforms

Contribute back to the open source hardware community

Sharing is the maker community’s foundation. When you share projects with others, you contribute to the community. In the past, you might just post your project on a personal website. Today there are many options to share projects.

This weekend I “finished” my reflow oven controller, Open Vapors. Believe it or not, five years ago there were not a bajillion similar projects. In fact, I based my design on the only completely open source project I found. It is a reflow oven controller Arduino shield from Rocket Scream.

After completing my controller, I was excited to share the project. Then I started to think about where to post the files. Obviously, here at baldengineer.com is one option. But I wondered. Is there a better place where others could benefit from my work?

This post is a few notes on the platforms used to share projects. At first, these might seem like they all serve the same purpose. From a high level that is true. However, there are small differences that you should consider when you share projects with the open source hardware community.

Continue Reading »

Social Media Guide for Engineers, a How-To

Click here to find the 1 magic trick to using social media ;)

Social Media Guide for Engineers

Engineers are notorious introverts. An untrue generalization is that introverts hate being social. Like all humans, introverts are social creatures. We just prefer only to discuss the topics which are of interest to us. We will listen to anything. This social media guide for engineers explains why and how you can participate in social media, without being social.

Let’s address something head-on. Gone are the days of just “here’s what I ate” or “I’m in the bathroom” social posts. Social media channels are mature platforms for communication. Sure, junk still exists. However. You can filter out the signal from the noise when you following my social media guide for engineers.

Continue Reading »

PCB Checklist – What to check before you submit

Recently I’ve been expanding my retro game collection to include game cartridges imported from Japan. The problem is that I don’t have Japanese game systems (yet). So I’m creating an open source adapter to convert Famicom carts to the NES. Before I submit the PCB to OSH Park, I’m going to run through this PCB Checklist to make sure I don’t forget something silly.

This PCB checklist is something I’ve built over my years of creating boards. If you’ve got tips from your own list, don’t forget to leave a comment letting us know.

PCB Production Checklist

The concepts on this list will apply to almost any PCB software. The tips I give relate to EAGLE, since that is what I use most often. Feel free to comment to add tips for other design software like upverter.com or KiCad.

Keep reading to see the list.

Make sure you also check out the comments, some really great suggestions there too!

Continue Reading »