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.
Upfront, 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 dependencies, 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.
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!”
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.
On 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…
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.
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.
By clicking “Accept”, you consent to the use of ALL the cookies.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
This cookie is installed by Google Analytics.
Set by Google to distinguish users.
Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
This cookie is used for identifying the visitor browser on re-visit to the website.
YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.