In this video, I discuss considerations for SSD Capacitors, with a focus on enterprise applications. (No, not the ship kind, the business kind.) As more consumer devices use solid state technology, it gets easier for us to forget the importance of keeping data safe during storage. While solid state drives are more robust than their spinning counterpart, they are not perfect. Just like with spinning drives, there is a small delay from when a write occurs until the data is stored permanently. The highest performance solid state drives parallelize data in a way to minimize this propagation time. However, these drives also keep an active copy of the allocation table in RAM.

Just like the RAM in a PC, when power is lost, so are the contents. So it is critical for a solid state drive to have a reserve bank of energy to dump the RAM contents into permanent storage. Modern drives use huge banks of capacitors to write out any RAM buffers when the system’s rail voltage suddenly disappears.

Learn how to choose Enterprise SSD Capacitors in the EE Journal Chalk Talk.

This video was created in cooperation with KEMET Electronics, Mouser, and EE Journal.

Date:August 29, 2017
Appearance:Enterprise SSD Capacitor Chalk Talk
Outlet:EE Journal's YouTube Channel

5 Voltage divider circuits that go beyond dividing

voltage divider circuits

Here are some ideas of what you can do with the humble voltage divider. This elementary circuit has a few inventive uses. To be upfront, one of these uses is NOT as a voltage regulator. If you need a voltage regulated, get a voltage regulator! At some point or another, I’ve built all five of these voltage divider circuits. For me, the voltage level shifter is the most common.

  1. Measure Battery Voltage
  2. Signal Level Shifter
  3. Reference Voltage
  4. R-2R Ladder
  5. One Analog Input with Many Buttons

Continue Reading »

Pi Cap Hands On Review

My first impressions of a Raspberry Pi capacitive touch hat

Pi Cap Review

The Pi Cap adds capacitive touch buttons to your Raspberry Pi. Bare Conductive was kind enough to send me one. I do not have a project in mind right now, so here are my first impressions.

What is the Pi Cap?

Arduino tends to call daughter cards shields, while the Raspberry Pi community calls them hats. The Pi Cap is a hat. It plugs into the GPIO header of a Raspberry Pi and provides 13 capacitive touch pads. There is a traditional push button, an LED, and a prototyping area. While the Pi Cap does consume all of the GPIO pins, several are broken out near the GPIO header.

Continue Reading »

The first part of the tutorial looks inside of a Brushless DC Motor, or, BLDC. Then I show a discrete transistor circuit that can drive one. Of course, you’ll need a Microcontroller like an Arduino to drive it! Lastly, I briefly talk about an ESC.

Overall, a BLDC is better than a Brushed DC Motor (talked about those on #20) because:

  1. There are no brushes to wear out
  2. No sparks when the motor spins
  3. You can get way faster RPMs out of a BLDC.

Check out the AddOhms #21: Brushless DC (BLDC) Motors. Show notes are available here.

Supplyframe Hardware has published a video of a talk I gave in July 2017. This talk was at HDDG 22. The focus of my discussion was how an oscilloscope’s trigger circuit works. I built on that and talked about some of the behind-the-scenes stuff of what is going on with a digital oscilloscope. (You can download my HDDG 22 slides here.)

Aeroscope Review

Can a Bluetooth Scope replace the one on your bench?

Aeroscope Review

Previously, I reviewed the smartphone DMM, Mooshimeter. It is a great meter. One feature I didn’t spend much time on in my review was the ability to graph. Some see it as an “oscilloscope alternative.” The past couple of weeks, I’ve been using Aeroscope. It is a Bluetooth-based oscilloscope about the size of an older active probe. The Aeroscope runs $199 direct from Aeroscope Labs. The question I address in this Aeroscope review: is it better to buy this, a USB-based, or standalone scope for about the same money. How does it measure up?

My Aeroscope review looks at the specifications, the App that runs it and breaks down the key features. Let’s probe deeper.

Continue Reading »

PWM a 3-pin PC fan with an Arduino

Note: 4-pin fans already have a PWM signal

Aeroscope Measuring a Fan

A question came up on IRC regarding how to PWM a 3-pin PC fan with an Arduino using analogWrite(). Controlling the fan was seemingly straightforward. The problem was that the hall effect sensor, or TACH signal, was incredibly noisy. The noise made it impossible to measure the fan’s rotation. Working through the question, I found three issues to tackle:

  1. You need to use a PNP transistor
  2. Filter capacitors help
  3. Create a non-blocking RPM measurement (with millis())

This post addresses all three issues regarding how to PWM a 3-pin PC fan with an Arduino.

Continue Reading »

During #22 of the Hardware Developers Didactic Galactic meetup, I discussed Oscilloscopes. (Previously James talked about capacitors.) In the presentation, I broke down the internals of an oscilloscope. The presentation started off with a block diagram. Then I discussed the main components: vertical amplifier, A/D, memory controller, some of the computer side stuff, and the keynote was on triggering.

The trigger circuit of an oscilloscope fascinated me since very early in my HP/Agilent career. When I saw trigger modes like Pulse, Violation, Rise Time, and “Runt,” I thought: Wow, this must be the most complicated circuit in the scope! While it isn’t trivial, it very clever how just a few pieces of (relatively) simple hardware drive one of the most important aspects of a digital scope.

Download Slides

Rick Altherr also gave an excellent talk on ECUs and their sensors. (I always thought ECU only meant engine control unit. His talk helped me understand why that isn’t really the case anymore!) It was great to learn about the combination of the engine mechanics with the electronics that control it. !)

See Rick’s Slides

Raspberry Pi Startup Script Tutorial

Part 3: Pi Soft Power Controller, what to put on the Pi

raspberry pi startup script

The last couple of weeks I have been making progress and posts on my RetroPie build. I’m putting a Raspberry Pi inside of an actual SNES (well Super Famicom). Part 1 covered the schematic for a Soft Power Controller. In Part 2 I broke down the RPSPC state machine. This 3rd and final post of the series is a Raspberry Pi startup script tutorial. It covers how to make scripts run at startup and shutdown.

When I started researching how to make Raspbian run a script at startup and shutdown, I found a ton of links and questions asking for help. None of them helpful. Why? Because they were wrong. At least, they are now.

/etc/rc.d doesn’t matter!

It turns out, Raspbian Jessie does not use SysV for init (anymore). So it does not matter what you scripts you put in /etc/rc.d. Pretty simple but missed by many!

Here is a correct Raspberry Pi Startup Script Tutorial.

The Key is systemd

Once I started researching how to make systemd do what I wanted, new problems emerged. The syntax for systemd is not as straightforward as I first thought. Thanks to readers, I was pointed towards the RedHat systemd manual. After reviewing it, I was able to create a service that runs at startup and shutdown.

In the end, I was unable to prevent this process from running during reboot. There seem to be some more layers to make sure systemd knows the difference. In the end, I decided it was not necessary to avoid the reboot.

Continue Reading »


Oscilloscopes belong on the desk of every electrical engineer or hobbyist. They are invaluable in both debugging and characterizing a circuit. While most users can twist the knobs to make things show up on screen, most never fully understand what is happening behind the scenes. Having spent over a decade working at a couple of scope companies, I have unique insight into how these incredible machines actually work.

I’m super excited to be invited back to the Hardware Developers Didactic Galactic held at the SupplyFrame office (usually) in San Francisco. This time I’ll be talking about oscilloscopes (last time I spoke about Capacitors). The focus of my story is the mysterious “trigger” circuit found in all digital scopes. Which, ironically, is the last part of my presentation. 😉

If you’re in San Francisco this week, grab a seat at the HDDG22 Meetup.

Date:June 29, 2017
Appearance:Signals Abound – #22 Hardware Developers Didactic Galactic
Outlet:SupplyFrame's Hardware Developers Didactic Galactic
Location:San Francisco, CA