Low side vs. High side transistor switch

Why do these both exist, how do they work, and when do you use them?

Low switch vs High switch Banner

A common task for a transistor is switching a device on and off. There are two configurations for a transistor switch: low side and high side. The location of the transistor determines the type of circuit and its name. Either transistor configuration can use a BJT or MOSFET.

In this post, I draw the configuration for both transistor types, talk about which requires a driver, and explain why you would use either. If you are new to transistors, check out the resource links at the bottom. I have a couple of videos I made and some from element14’s The Learning Circuit which do a great job introducing transistors.

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.

If I were a professional actor, I would feel typecast at this point in my career. Whenever someone wants to talk about Arduino, Oscilloscopes or Capacitors, they call me! In this case, element14 asked me to do two videos on how to replace multilayer ceramic capacitors (MLCCs) with Polymers.

Polymers are an interesting capacitor type. What is usually called a “polymer” is better a called a “polymer electrolytic.” The reason for that detail is the word “polymer” describes the cathode layer and not the dielectric.

For more details, why not check out this episode of element14 Presents’ The Learning Circuit! If you have questions about these capacitors, head over to element14 and leave me a comment there.

e14’s TLC #40

Date: February 13, 2019
Appearance: Polymer Capacitor Introduction on e14s The Learning Circuit
Outlet: element14 Presents' The Learning Circuit
Format: Vlog

Soldering Tool Upgrade Paths

element14 - Workbench Wednesdays
06-FEB-2019

Right after the digital multimeter, or DMM, a soldering iron is a must-have tool for electronics work. Like most tools, there is a vast variety of options available. In this episode of element14’s Workbench Wednesdays, I look at a range of instruments from Weller. They offer everything from a cheap $10 “fire starter” (sorry, it is what we call them!) all the way up to a full-blown surface mount rework station.

Whether you don’t have a soldering iron or you have a  $100 station, this video will show you options to consider when thinking about an upgrade.

After you watch the video, head over to element14 and tell me for you favorite solder tips! (Or your most burning questions!)

Send James your Solder Tips

 

 

Answering BJT questions with Karen on element14’s The Learning Circuit

element14's The Learning Circuit
2019-01-02

Over on element14, Karen hosts The Learning Circuit. It is a tutorial show geared towards learning STEM basics. So far she has covered subjects like soldering, diodes, and how to make a DIY electromagnet. She did a great job on introducing BJTs and how they work. While I thought she provided a clear explanation of the internal workings, some members of the element14 community still had questions.

She invited me on to revisit BJTs and transistors to (hopefully) clarify the connection between how transistors physically work and how to use them.

 

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 »

Arduino millis() plus addition does not add up

Here's why you should use subtraction with millis()

Arduino millis banner

In the past, I’ve covered how to reset Arduino millis() and have provided a growing list of examples using millis(). While reviewing the code for the elegoo Penguin Bot, I was reminded of a millis() mistake I see often: addition. The only way to properly handle millis() rollover is with subtraction. Let’s look at why (and how.)

What is Arduino millis()

The Arduino library has a function called millis() which returns the number of milliseconds the processor has been running. On other platforms, you might see references to a “tick counter.” It is the same idea. A hardware timer keeps incrementing a counter at a known rate. In this case, that rate is milliseconds.

A mistake new programmers often make is trying to “reset millis().” A better method is to compare two time-stamps based on millis(). So this if-statement is comparing a previous timestamp to the current value of millis().

Continue Reading »

Arduino MKR Vidor 4000 Hands-On

Is the Arduino FPGA worth buying?

Arduino MKR Vidor 4000 - Blue

Earlier this week, I looked at the Arduino MKR Vidor 4000 during an AddOhms live stream. My goal was to understand the Vidor better. It is the new FPGA-based Arduino which started shipping this month. It runs about $60. You can learn more at the Vidor Product Page on the Arduino website.

In this post, I briefly touch on the difference between an FPGA and a microcontroller. Then I walk you around the MKR Vidor 4000’s board. Using one of the examples, I talk a bit about how the various chips communicate with each other. This section also highlights what makes the Arduino FPGA board different from other development boards. Lastly, I answer “should you buy an Arduino MKR Vidor 4000?”

Continue Reading »

As promised, the Arduino team shipped the MKR 4000 VIDOR by the end of July. The graphical editor is still missing in action, but you can check out the board now. I received mine. In this AddOhms Live Stream, I turned it on and checked it out.

This video is a “working” live stream. Generally, I try to set up some demos and run through some canned actions. Not this time. I used the board once, on another computer. You get to watch how I attack a new board…live! Warts and all.

Key things I check out:

  • How do you program the FPGA? (what does that even mean for the VIDOR.)
  • The VidorTestSketch (communicate between the SAMD21 and the Cyclone FPGA)
  • LogoDraw (the VIDOR draws the Arduino logo over HDMI)
  • The include files for each of the VIDOR libraries

I’m writing up my experience so far, along with what I’ve learned. Until then, click below to see the 1-hour live stream.

Watch Full Live Stream