Author Archive

Probably the most neglected, yet most useful, tool for circuit designers is SPICE. SPICE gives you the luxury of simulating circuits to predict the results prior to building a physical circuit. Being able to change resistor values or transistor configurations within a couple mouse clicks and a few keyboard presses, is a very powerful and time/money saving feature. As such, it is also very useful in troubleshooting previously built circuits to find solutions to lingering design problems.

SPICE (Simulation Program with Integrated Circuit Emphasis) is open-source software released under the “BSD license”. Several companies produce their own version of SPICE, such as TINA from DesignSoft or PSpice from Cadence. However, the fastest and most user friendly implementation is LTspice. LTspice is provided by Linear Technology and is completely free to use without restriction. It is the same software that is used internally at Linear Tech to develop and test their line of analog/linear semiconductor ICs. It was written by Mike Engelhardt, who periodically goes on tour teaching classes and answering detailed questions for his own software.

I’ll be holding a class to introduce the basics of using LTspice. LTspice was originally written for Windows and was recently ported to Mac OS X. The Windows version is capable of being run on Linux through Wine, but it obviously doesn’t run as well as on a native Windows machine. I’ll be teaching with the Windows version, since I am the most familiar with it. The Mac version has a slightly different user interface, but it shouldn’t be too difficult to keep up. Here are the topics I’ll be covering:

Placing & Wiring Up Components

The Most Basic Simulation: DC Operating Point

Labels and “Net” Names

Finding Frequency Response: AC Sweep

Using the Plot Window

The Real Deal: Time-Domain Simulation (Transient Analysis)

Piece-Wise Linear (PWL) Sources

Using SPICE “Directives”

Working with Semiconductors

Linear Tech’s IC Models and Test Jigs

Importing 3rd Party Models & Sub-circuits

The Details:

Who: Anyone who wants to learn LTspice (Open to the Public). Some circuit knowledge is required.

18

09 2014

Thanks to everyone who came and participated in the circuits class this past weekend. There was a lot of material that was covered and there was no way to go through it all in exhausting detail. So I’m making available a scanned PDF of the notes I wrote for the class. Enjoy all the spelling errors, in addition to the one found above. The edges might be cut-off in some areas, but it’s the best I can do: DC_Circuits_SK

Also, Carl Karsten did the exhausting (and usually thankless) job of recording a video of the class. It can be found here:

05

07 2014

Well, I finally got around to finishing the curriculum for a beginning Electronics class. This class will cover a lot of the fundamentals that should be known when designing any type of electronic circuit. DC circuits will be covered here, so no frequency dependent (AC) topics will be touched. Hopefully in the future, I’ll have time to eventually write a followup Intermediate Electronics class that will cover AC circuits.

It will be broken up into two parts, a lecture-ish part with lots of fun whiteboard time and a lab (hands-on) portion:

Lecture Topics:

Electricity, conductors, and insulators

Ohm’s Law

KVL & KCL: Series and Parallel circuits

Voltage Dividers

Traditional Circuit Analysis: Mesh Currents & Node Voltage

Better Analysis Tools: Superposition & Thevenin’s Theorem

Silicon Diodes and LEDs

Lab Topics:

DC Circuit Simulation with LTspice (the best analysis tool)

Learn how to use solderless breadboards

Build simple circuits using resistors and LEDs

I will be giving away one small electronics “starter kit” consisting of a solderless breadboard, bags of resistors and capacitors, a bunch of jumper wires, and a digital multimeter. I’ll most likely dish this kit out by asking a bonus question and giving it away to the first person with the correct answer. Anyway, hope to see you there!

The Details:

Who: Anyone who knows basic Algebra (Open to the Public)

When: Sunday, June 29th – 2:00pm to 4:00pm…..or 5pm or 6pm or however long you wanna stay and learn

26

06 2014

I’ve been bugged to death lately about doing another FPGA intro class…and after a full year, it’s finally here. We’ll be going over some theory & concepts first before we hit the real stuff. Familiarity with digital logic circuits is highly recommended, but you will still learn something regardless. A basic overview of what will be covered:

Combinational Logic – Basic Logic Gates

Sequential Logic – Flips Flops

CPLD – Complex Programmable Logic Device

FPGA – Field Programmable Gate Array

Nintendo DS ReView – An Example of What FPGAs Can Do

Xilinx ISE & Verilog – Synthesizing the First Project

Using Clocks – Blink that LED!

State Machines – Alternate between blinking different LEDs!

Video Example – Making an 8-bit VGA controller

I’ll be using the Elbert FPGA development board for most of the examples we’ll be doing. Having the board is not required to attend. I will bring a disc with the software tools in case anyone would like to install them. We will be using Verilog as the HDL (hardware description language) in this class, since that is what I am familiar with.

The Details:

Who: Anyone (Open to the Public)

When: Sunday, April 27th – 2:00pm to 4:00pm….but we can chill until 5:00pm.

19

04 2014

I’ve heard a lot of positive feedback from the NERP FPGA workshop we did a couple weeks back. There were a few people who asked me to post the Verilog code that went along with the two demos we did. I added comments to the Verilog files in an attempt to clear up a lot of the stuff we cruised through to avoid turning this purely into a Verilog class. The most useful comments will be in the VGA controller module we wrote: vga640x480.v. Anyway, all the required project files to synthesize the logic we wrote are right here: NERP_demo.zip

The software we used to build everything is the Xilinx ISE WebPACK 13.4. You have to register with Xilinx and generate/download a license on their website to use the software. Just remember that the above project will only work on the Digilent Nexys2-1200 board that I was using.

If you’re interested in grabbing a budget board for messing around with FPGAs or CPLDs, there are a few notable options:

Also, thanks to Drew Fustini for the lovely photos you ‘re seeing above. Actually, this whole FPGA thing was Drew’s idea. So, if you were really itching to do some Raspberry Pi that week and walked in to find a bunch of nerds talking about programmable logic gates, then all your blame should be focused towards him. On the other hand, if you enjoyed this FPGA crash-course you should thank him for that and any subsequent class/workshop he forces me to do.

12

04 2013

Thanks to all who showed up on Monday night (Feb 18th, 2013) for the signal processing class. It was a lot of material to cover in one night, but I hope everyone at least learned (and retained) something. I was asked by several people to post my lecture notes online so people can review them. It took me awhile to go through my notes and clear them up (somewhat) for someone besides me reading through them. Also, I had to erase and rewrite a bunch of stuff because they were too close to the edges and were being cut off by my scanner. So that’s why it took so long. Anyway, here are the notes, the notes for the pre-class Math Review, and the 8-page info packet that I passed out during class:

Now that the class is over, the next thing to do is figure out what class to teach next. I noticed that many of the attendees enjoyed the filter design example we went over. Perhaps we could do a short class on some practical Analog Filter Synthesis? Some people have “thumbsed-up” the idea for doing a class on learning how to use LTSpice to build schematics & simulate circuits. Recently, I’ve been reverse-engineering schematics from double-sided printed circuit boards in older consumer electronics. I could demonstrate some techniques on how to do that. Another idea is moving directly past the Analog Signal Processing class and going right into Digital Signal Processing. All the same topics from analog appear in digital such as convolution, impulse response, frequency response, & transfer functions. Except most of the integrals become discrete summations when in the digital domain. There are neat topics specific to digital such as FIR filters and sample rate conversion, which I think are the most interesting. Actually, the website Coursera just started a DSP class this week. If you were at Monday’s class, the Coursera course should be much easier since most of the topics are similar, like I described above. Check it out.

If you have any feedback on Monday’s class, ideas for other electronics classes, or any other comment, then please let us know. If you see me at Pumping Station: One and remember what I look like, then feel free to talk to me in person.

21

02 2013

Transfer function? Poles?? Frequency Response??? Are these sections you skip over when reading electronics datasheets and application notes? Well, let’s put the shame behind us and finally learn these topics which are fundamental to being an electronics engineer. Come join us in learning the exciting world of Analog Signal Processing! We’re going to cut through most of the clutter usually taught in a core electrical & computer engineering course and present you the most basic and useful concepts within this discipline of electronics. You’ll learn powerful tools to help expand your knowledge as an engineer and/or an electronics hobbyist. The following topics will be covered:

Complex numbers & impedance

Common signals & classes of signals

Linear systems & the impulse response

Convolution

Time-domain analysis of an RC Circuit

Fourier Series

Fourier Transform

Laplace Transform

Frequency-domain analysis of an RC Circuit

Ideal & Practical filters

Bandwidth

AM Modulation

Sampling Theorem & Aliasing

The overarching theme of the class is to emphasize why analyzing signals & systems in the time domain is inefficient and why you should do it in the frequency domain instead. Along the way we’ll learn useful tools which have countless real-world applications. We end the class with sampling an analog signal and turning it into a digital signal for use within a computer.

The class is quite heavy in mathematics, so be prepared. Attendees who want to grasp everything should have at least some Calculus experience (know what derivatives & integrals are). Come early if you would like to review some math. The class will be all whiteboard & markers so you aren’t required to bring anything. You can bring a notebook to take notes if you like. There is a lot of material to cover, so it’s possible the class might run long depending on how savvy the audience is. Either way, you’re more than welcome to stay after and discuss signal processing applications or anything else with electronics.