KicADSR: First Project Using KICAD EDA

 Readers: If you want to build the module featured in this post, please go to PCBWAY's Community pages--gerbers ready to download and/or fabricate as well as KiCAD files, PDF's, BOM etc., are here

Also please visit PCBWAY's site using the link here--it will help this blog. Thanks.

===================

Back again....from the previous post I switched from Eagle to Kicad for schematic capture and gerber file creation.  

To put KiCAD EDA to the test I laid out and fabricated a Eurorack synthesizer module I know pretty well: Rene Schmidt's "Fastest ADSR in the West".

Good news, the KiCAD based design, in Euro format, was easy to lay out, easy to troubleshoot and rework, and overall, works great. Success!


Posts about the last time I built the ReneDSR (in PAIA's Frac format) are here and here.

I originally laid this post's project with a lot of through hole resistors and whatnot, a 3 board design, but the highly skilled Elton from Otter Mods challenged me to use more SMD. So you will see a lot of 1206 SMD parts in this build as well.

Build photo time:

Happiness is new PCB's from this blog's patient sponsor, PCBWAY.

Two boards: main and front panel. Main board combines hardware and mostly SMD parts to allow the "skiff ready" 6HP footprint.




Testing as I go--the ICs are drawing correct amounts of current and not heating up.

Testing....

Oh Calcutta! Seems working.


SMD ADVANTAGES

Being afraid of my own shadow I set my bench up for SMD but continued to use through hole for most projects. 

KiCADSR uses through hole (or "THT" as Kicad calls it) components here and there, for instance, the 555 timer IC. 

Why? I didn't have SMD 555's in my junk box. 

Otherwise, for this new KiCAD era it was time to stop being wimpy about THT. 

Here's the thinking:

I don't need a microscope for everything SMD. I have bad eyesight but could work with 1206 sized parts, for the most part, wearing only reading glasses. 

SMD Parts turned out to be easier to swap after initial fabrication. Really? Yes. I soldered a 220ohm resistor between the voltage rails instead of 100K. Needless to say this was not a good idea and the part heated up quickly. 

Replacing a THT resistor in this kinda situation wouldn't have been impossible but may not have been easy either. I could have lifted a trace for instance. With SMD it was easy! I heated up the part's pads quickly with my iron--each in succession--then lifted it out with tweezers; cleaned up the pads with wick and soldered the new part. I also experimented using my rework tool for this. No, all the parts on the board didn't melt off. No, I didn't make a huge mess. I found both processes quicker and easier than using a solder sucker to remove THT parts.

I didn't need as much room to store parts. I have a whole wall of bins for THT parts, but only a few small boxes for SMD. At some point SMD makes more sense in this regard as my psychiatrist wife (no longer my psychiatrist girlfriend--update, we got married, she is so wonderful, and I got very, very lucky) can't give up endless domestic space to my puzzling hobby.

I could put annoying .1uF filter caps on the back side of the PCB to save space.  In fact, I could have distributed parts on both sides, not just filter caps. 

For the KiCADSR I put one .1uF cap on the board's backside, then wondered why I didn't put all the filter caps on the back side. So if you build this, make sure to flip the main PCB and solder on that part.

In general I found I could fit a lot more circuitry in a smaller space with SMD, and too damn much of Eurorack is all about everything being really tiny.

Redoing incorrect traces is easier when using SMD.  This one was hard to believe. I had 3 fixes necessary to get KiCADSR to work:  I missed a trace during schematic capture and 2 of the pins on the 3.5mm jacks were swapped. Quickly fixed. To wit:

FIXES

Three--count 'em--THREE fixes were needed.  To my surprise: not too hard to solder these fixes in with SMD

Elton was right, kludging fixes with SMD was easier than I thought: I prepped and tinned some 22 gauge wire and soldered it to the butts of the appropriate components. I thought this was going to suck but at the end of the day was it easy. Note: the project I posted at PCBWAY community (here) already has the fixes and the symbol library at github (here) has the updated parts. I have tested this updated PCB working.

OUTTRO

KiCAD is vastly superior to Eagle, and SMD is superior in many ways to THT. It's taken me years of being told this to finally take it to heart, but maybe now I have.

Too often I am too set in my ways to move on--until I actually move on--and only then realize I should have moved on a long time ago. Is there a lesson in here somewhere?  Yes, but I will almost certainly continue to ignore it.



Kicad: Making the Switch

Bad news (for me). 

Autodesk's Eagle is the schematic capture/PCB layout application--"Electronics Design Automation" or "EDA"--I've been using forever.  

But starting in 2026 Autodesk wants $749 USD a year for a Fusion 360 integrated version--and I confirmed with their sales team: my existing $100/year Eagle/Fusion 360 license is going away.

Time to say goodbye to Eagle. 

Say Hello to KiCad.


The guys in my geeky synth meetup group have been telling me to use Kicad for years. Now, everyone will be be happy?  

This post captures notes written during my initial exposure to KiCAD 7. 

As usual this blog post is my own trail of breadcrumbs. If you are thinking of switching to Kicad from another EDA, or are a Kicad newbie like me, the post may be of some use. 

Otherwise, you may want to skip this one.

GET KICAD

$749? Nope. KiCAD is free. Download it here.  

I got the Windows version--not sure how transparent going between OS's will be, cross platform compatibility was poorly implemented in Eagle. Kicad docs say it's transparent; no reason to doubt them. I will try opening PC created projects on Linux and Mac down the road. I had no problem installing it on a few Windows 10 systems.

PROJECTS

Eagle and Kicad allow me to create a "project"; I never used projects in Eagle. Instead, I created a folder using my OS and put Eagle schematics and boards in there--as many schematics and PCB files in a single folder as I wanted; it was easy to have many schematic revisions in a single folder as long as each had a unique filename and the correct file extension....it all worked.

KiCAD is different; it is designed around a single project/single schematic/single board paradigm. However, a single schematic can have "subsheets" (details here--I have not tried subsheets yet).

Creating a new Kicad project creates new helper files and folders, so if I want to create a revised PCB for a given project, or create an additional board (a "revision 2.0" for example) I have to:

  • Use Windows Explorer to create a new folder
  • Copy the original project (.pro), schematic (.sch), and PCB (.pcb) files into the new folder 
  • Rename the project, PCB, and schematic files to a matching filename (with their original .kicad* extensions intact) 
Automating these steps should be easy using something like Python and Powershell. I will look around for a script or macro for this. I'd be surprised if someone hasn't already created a utility for spinning off versions of Kicad projects, but so far I can't find it. Update 5-15-25: Kicad V9 has a "save as" under "file"....which creates a duplicate of the current project. You can see the save as menu item when you open a Kicad project, before you open your schematic or PCB. 

KICAD LIBRARIES: SYMBOLS AND FOOTPRINTS 

Eagle has a devilishly confusing "device/symbol/footprint" paradigm that makes you pick a symbol and footprint while choosing a component for your schematic. Eagle "device libraries" contain all the necessary elements--the symbol, the footprint, and how the two interconnect.

After using Eagle EDA for over 20 years I still find creating and managing custom or modified devices confusing, frustrating, and teeth-gnashingly counterintuitive.

KiCAD is a HUGE improvement--symbols and footprints have their own libraries and each is managed separately. The user has to make sure pins and pads are laid out correctly, but that's the case in Eagle as well. 

For a good primer on Kicad symbol creation the video here; footprint creation here. The same ideas are used to modify existing objects as creating new ones. It's easy!

Elton from OtterMods, the resident KiCAD expert in my synth MeetUp group, suggested creating a custom personal library composed of symbols and footprints to be used over and over. Some are made "from scratch", some are brought in from snapEDA, some from obscure libraries found on the Internet, some are existing KiCAD library objects with minor modifications.

Following Elton's lead, I created, and will maintain, custom Kicad symbol and footprint repos. I have posted that on GitHub; go here and here.

Update 3-2-25: All hail smisioto.no--you can find most every Kicad symbol/footprint/3d model you could ever think of, and a lot you never thought of: here. Wow!

SCHEMATIC CAPTURE

After only using Kicad for a few hours, I found its schematic capture ability (well documented here) to be really easy!  

A few shortcuts proved helpful:

  • A for adding new symbols; basics like resistors and capacitors are in the folder called "devices".  Shortcut: type "C" for a generic cap symbol and "R" for a generic resistor symbol.
  • M for move 
  • D for drag.  This is the same as "moving" in Eagle--you can move a part and the wires won't break.
  • R, X or Y for rotating and mirroring
  • W for wiring; / (slash) changes if you want to allow 90 degree bends in your wiring, 45 degrees, etc.
  • E for modifying a symbol's properties....tap this and a dialog pops up when you can change things like values, display characteristics, fonts, and whatnot--this "E" behavior seems universal to many objects in Kicad. You also see options for changing symbols for your entire schematic through the "E" shortcut.

Right click > change symbol brings up a dialog to replace one symbol with another. This is the same as right click > replace in Eagle.

Synchronizing modified or updated "devices" in Eagle into my design was always cumbersome and confusing. Thank goodness it's much easier in Kicad--edit a custom symbol using the "symbol editor", save, open the schematic, then issue Tools -->update symbols from library. This brings up a dialog where you can find and replace symbols found in the entire schematic or a subset. This synch process has to be done manually; fine with me.

Tools > assign footprints brings up the dialog where you can assign footprints for your symbols. Again I found this pretty straightforward with one space oddity: to make your choices "stick" you have to click the "Apply, Save Schematic and Continue" button after making your edits--just clicking OK won't do it.



Another Kicad feature: You can modify a PCB and have the changes brought back into the schematic.  Tools > update schematic from PCB. Eagle can't do this.

There are a lot more options and features of course. Thankfully Kicad's documentation is really good--find it here.  

Update: I see this schematic layout elements of Kicad called "EESCHEMA".  I am not an EE, but I occasionally have a SCHEMA.

LAYING OUT PCB's

Eagle automatically creates a PCB from your schematic; with Kicad, you have to start up the PCB editor then issue the command tools > update schematic from PCB to see footprints.

The PCB creation documentation (here) has a lot of detail, but I found the basics to be pretty easy once I learned some shortcuts:

  • D  drag a part, moving its traces along with it. If a trace turns green during the attempt it means it conflicts with your relocated footprint--edit conflicting trace(s) and try again. Otherwise--if you don't remember to hit D--the footprint will move but not its traces and you are left with a mess. Is there a way to make D the default behavior?
  • X turns on the "trace route" tool
  • Page up/page down toggles between layers (front and rear copper for instance)
  • V places a via
  • For 2 layer boards, the quick way to switch between placing front and back traces: create your trace, click "V" on your keyboard, placing a via, and then left click with your mouse to continue running a trace on the opposite side of your PCB. Don't click any other keys (no shift, no control, no enter) or this workflow may be interrupted.   
  • Alt + 3 shows a 3D view of the PCB (cool!!!)
  • There are many more shortcuts documented here.

right click -- drag from bottom to top selects everything; right click -- drag top to bottom selects only items fully enclosed. Useful! Video here.

To change trace width, it's easy with Eagle--type in "change width 10 mil" or whatever in the uppermost text box then click on a trace that you want to fatten.

A few more steps with Kicad, but still not hard:

In the PCB editor, choose Track: use netclass width > edit predefined sizes.


Next, hit the + below then add some sizes to the dialog. (By the way: 40mm-75mm are really big trace sizes--I was messing around with DRC--you probably want smaller traces...)




Hit OK, now you can dial in the track width you want from the same "Track: use netclass width" when creating traces.




IMPORTING FROM EAGLE

Update: 3-3-25 I have removed this section re: the Eagle > Kicad update process for Kicad 7 since it's changed and is much improved in Kicad 8 and 9.

If interested, please read the dedicated post--Kicad >= 8 imports from Eagle--here.

BLOCKS AND HIERARCHICAL SHEETS

Modularity and reuse in Kicad? You bet! I removed that from this post because after many edits the section was getting too long; dedicated post on these features is here.

"LIVE AND LEARN"

....solutions to things I had to figure out, not immediately obvious to me

Changing footprint descriptions; matching a footprint to its 3D image Surprisingly--neither are available via the "e" shortcut. With the footprint open and ready to edit: file > footprint properties. The "General" tab allows you to change the description; "3D Models" lets you select then position 3D images for the footprint. 11-20-23

Changing "drawing sheet" size (the border with title block etc): open EESCHEMA editor or PCB editor, then > file > page settings.  Adjust width and height. 11-25-23 
 
Creating ground pours: I always forget how to do this...we will start with the front layer:
  • open your PCB 
  • In the top right, under "Appearance", left click on "F. Cu":



  • to the right of your PCB, click on this icon:


  • Left click somewhere outside your PCB's edgecut
  • Select "F.Cu" and "GND" (or whatever designation you are using for ground) in the dialog that appears:



  • Draw a rectangle around your entire PCB, doesn't matter where, but make it bigger than your edge cuts
  • Hint: when closing your rectangle right click + "close outline" to complete the rectangle
  • Click B on your keyboard to fill.
  • Run Inspect > Design Rules Checker to make sure the pour is OK.
Repeat the process for the B.cu (bottom layer). 

Cool, but how to turn the damn pours off when you want to edit your PCB?
The "toggle your pours on and off" icons are on the left side of the PCB:




 Good video for this is here2-9-24

Making imported footprints work with Kicad symbols: This is an obvious one that I missed for several weeks.

Eagle allows you to name device pins--"Tip", "Ground", and "Sleeve" for a 3.5mm jack, for instance. I figure all EDA programs do this.

But! Corresponding Kicad pins have numbers, not names; pin numbers in Kicad may not match those imported from Eagle,

When importing Eagle devices into Kicad custom libraries: edit pin numbers to make them Kicad-like. 

"Kicad-like?" 

Here is what I mean: Kicad symbols often follow a pattern: for instance, for diodes, it's usually 2-anode and 1-cathode. So if you are importing an Eagle diode into a custom Kicad library, edit your imported footprint to change pin names "Anode" to "2" and "cathode" to "1".

If there is any doubt open a factory symbol in Kicad and note its pin numbers. Then, edit the Eagle component before adding to your custom libraries so it will work in future designs. 5-26-24
 
Constraining lines to H/V/45 degrees: when drawing silkscreen lines for boards for instance, right click as you are drawing and choose "H/V/45".  This constrains the line to Horizontal, Vertical, and 45 degrees. Nice! To undo, right click again as you are drawing and deselect this feature. 5-31-24

Placement Constraint: This assumes Preferences > Preferences >  Schematic Editor (or) Footprint Editor > Grid Display >Snap to Grid is set to "Always" or "when grid is shown":


Use the UI element boxed in red below to constrain line endpoints, parts placements, text locations, etc. 

This setting does not impact the density and frequency of visible cross hatches/dots/lines as you zoom in and out; instead, it determines where by default you can place things.  


Holding down "control" while placing an object overrides this setting.  9-1-24

Importing 3D models into Kicad: Save your 3D file in "STEP", "STP". or ".WRL" format--most 3D software can do this. Then: open the footprint editor in Kicad, choose the footprint that needs a 3D model, then file > footprint preferences > 3D tab. Click the folder icon at the top of the dialog and choose your WRL or STP file you just saved; use the various +/- buttons to scale and position your model. When you're happy, click OK. Good video for this can be found here9-14-24

Importing .lib symbol libraries into Kicad: seems <= Kicad 5.0 (?) used ".lib" as an acceptable extension for a symbol library. If you are importing from the outside world (e.g. the useful library here) you might find 2 files: .dcm and .lib.  Leave .dcm alone but rename the extension of the .lib file to .kicad_sym; open symbol editor in Kicad  > import the library > find the .kicad_sym file > OK  9-30-24

Importing symbols into Kicad: You can't overwrite the symbol libraries that shipped with Kicad, so you'll need to save imported symbols into their own symbol library then import it into your project (how-to here). 

Better yet, extract the symbols you care about into your own custom symbol (*.kicad_sym) file. 

How to do the latter.

Create a custom library if you don't already have one (symbol editor > file > new library), or get my custom symbol library from Github here, save it to your hard drive, then add your cool symbols to it.

To import a single symbol into your custom symbol library: 
  • Save your newly acquired .kicad_sym file somewhere.
  • Unzip the symbol file if needed
  • In KiCad, go to Preferences.
  • Click on Manage Symbol Libraries.
  • On the Global Libraries tab, click on Browse Libraries (the small folder icon)
  • Select the .kicad_sym file you just imported, then click Open.
  • The library will appear, click OK.
  • From the main Kicad screen, click on Symbol Editor.
  • Type on the filter search field and navigate to the symbol in the library you just imported.
  • Double-click it to open the file.
  • Edit the symbol as needed 
  • Optional: File > symbol properties > footprint and assign the symbol a default footprint
  • File > save copy as  
  • Save the symbol, extracted from the imported library, into your custom symbol library.   10-28-24
Kicad Symdirs:  In kicad10, you can create a folder called [foldername].kicad_symdir and save your custom symbols there. This makes editing them the same mindset as editing as footprints: edit a single custom symbol and not have to resave the entire symbol library, rather, just your newly modified symbol. Nice! Get my custom symdir content from github here5-21-26

Setting Grid Origins for your PCB:  (tried this with Kicad V9, not sure about older versions) By default 0,0 of my grid is the top left corner the large purple box that holds your PCB drawing--the "drawing sheet"?  Sorry still don't know what to call the purple box thing. 

I don't want 0,0 to be there since it has nothing to do with my PCB. I want it to be the bottom left corner of my PCB. How to change this?

  • In the PCB editing tool, set your grid--say 100 mils--from the pull down at the top:




  • Select then move your entire PCB so the bottom left corner of the edge cut lines up with a sensible spot on the grid.
  • Preferences > Preferences > PCB Editor > Origins & Axis 
  • Choose "Grid Origin":
  • Go back to your PCB, and from the menu along the top: Place > Grid origin
  • left click on bottom left corner of edge cut. You will see a cross on the new origin.  5-17-25
Getting started with NGSpice Simulations and Kicad: Complex enough that it needs its own post; go here. 2-10-25

Why can't I select a @#$% symbol library to import things into?  Simple! make sure this icon is selected on one of the left columns. Your list of available symbol libraries appears...left-click on to select a symbol library to import things into. Remember! you can't import anything nor edit the "stock" libraries that come with Kicad--you have to use a 3rd party library or create your own. 4-25-26 (Kicad 10)



Avoid using absolute paths for things like custom 3D models. Use "Environment Variables" instead. 

A path like this maps to a windows D:\ drive and will work on a single system:



But as soon as you go to any system that has "Dropbox" mapped to somewhere else on its local storage devices this will break.  

Instead, use a Kicad Environment variable:


Notice the syntax here: ${env_variable_name}

You can create as many custom variables as you want, configure this through Preferences > Configure paths:


You can then drop these variables into things like "where does the 3D file for this live"?  This will allow a computer with different directory locations to still find things you create in Kicad.

  4-26-26 


OUTRO: GERBERS n' PCBWAY 

In case you haven't noticed by now, Kicad kicks Eagle's butt. Small wonder Autodesk is moving on.

After a few evenings with Kicad, I feel I know enough to create a baptism-by-fire schematic and PCB. Probably a retread of something I made in Eagle? Why not....coming soon.  

HA!!--it works--"KicADSR".  My first Euro module created with Kicad. Post is here.

Not that kinda gerber....

....I checked out a Kicad gerber creation how-to on my sponsor PCBWAY's site--here.  

Check that! Shout out to Serene at PCBWAY, she told me I could get PCBWAY's add-on for Kicad--for uploading designs to PCBWAY for fabrication using a single click. 

Instructions for setting up the plug-in are here.  

A useful video going over other cool Kicad add-ons is here.

After installation the plug-in made uploading files to PCBWAY a breeze: I logged into the PCBWAY website, ran Kicad, opened the test PCB, the in Kicad went to tools > plug-in > "PCBWAY Plug-in for Kicad".   

This gerber-ized my file and everything looked to be good to go.

Finally I picked which color PCB I wanted, how many I wanted fabricated, any a few other options; then hit "add to cart".....

Enough for now, this is getting to be long post. Much more KiCAD on the way. Don't breathe the fumes....  


ARP 2600 Voltage Processor The Final Chapter: ARP Electronic Switch: the Workalike Works

 Readers: If you want to build the module featured in this post, please go to PCBWAY's Community pages--a gerber ready to download and fabricate is here

Also please visit PCBWAY's site using the link here--it will help this blog. Thanks.

===========

Hello again! Finishing up ARP 2600 voltage processor clones and workalike modules, this might be the last of the series, which is not a bad thing?  

The ARP2600's unique voltage processor has a click- and pop-free clock-driven analog electronic switch for AC and DC signals. 

You can find the original design on page 29 of the ARP 2600 service manual here.

The 70's era subcircuit used discrete components for its toggle flip-flop and employed LS4392 FETS for heavy lifting.

Best of all: a working Electronic switch completes my ARP2600 voltage processor series. Are we home yet?

Finished ARP2600 Electronic Switch workalike

I decided to use a DG401 IC instead of the FETS--post where I initially experimented with that IC is here with more here.

In short: The DG401 works great--think of a rail to rail version of the venerable 4051 analog CMOS switch; both are useful chips for a lot of what we do.

I laid out PCB's for the workalike and sent them to the blog's patient sponsor, PCBWAY, to create a 5HP Euro prototype.

Let's see if what I designed works....

Happiness is new PCB's from PCBWAY....

The build uses about 2/3rd's SMD components, many of which I don't have in the junk box. I bought the parts from Digikey and posted the BOM on the PCBWAY community page (here).

Unpopulated main board--I am getting more comfortable with1206 SMD components--large enough that I don't need a microscope for a lot of the work. 


Front panel....






Testing....




Did it "work first time"?  

Kinda. 

The switch switched somewhat randomly unless I used a square or pulse wave. During the breadboard stage, triangles and some ramps switched same as a square wave, but in this layout, not as much.

Not sure why....on the bench (breadboarded) here's what I used to buffer the incoming clock signal:

But for this post's Euro module triangle and ramp incoming signals created switching "warbles". 

Not intended, but not a bad thing?  I could have spent days chasing this down--for instance, setting up the breadboard and expermenter's board for the DG401 and double checking my work--redesigned the buffer using an MCU to turn whatever input to a pulse wave--using an op amp with a diode in its negative feedback path--something has to work, right? 

But, naaaaaah. 

Too many other things to do.  

Instead I replaced the .1µF cap with a 1K resistor. That's surprising quick and easy with 1206 SMD parts: heat up both sides of the .1µF capacitor with a soldering iron in quick succession; use tweezers to remove the cap, then solder in a 1206 1K SMD resistor.  

Done.

With that modification square and pulse waves work great to make the DG401 switch.  

Good enough....the workalike switches cleanly, no delays, no clicks, no pops, same to my ears as the ARP2600.   

And! The "any waveform to clock" apparently isn't implemented on the original gazillion dollar collectable 2600 my friend owns....so I could argue that the design flaw makes this workalike more akin to the original.

Not a feature--a bug. 

Time to move on!  

Next time--no idea. How about this: I'm ditching Eagle for Kicad since Autodesk is raising my annual subscription price 700 percent. So I may do a few less posts in the next few weeks while I learn this new program. Go A's

ARP2600 Style Preamp: Understanding and Reducing Noise

Readers: If you want to build the preamp in this post, please go to PCBWAY's Community pages--a gerber ready to download and/or fabricate is here

Also please visit PCBWAY's site using the link here--it will help this blog. 

============

I'm reaching the end of laying out clones and workalikes based on the classic ARP 2600 synthesizer.  

It's (almost) time to move on.

Not yet! Let's redo the 2600's preamp with revision 2 of a workalike--improving upon the last one--since revision one was noisy and sounded, well, just OK.

Finished Rev 2 Eurorack Synth Preamp

A previous attempt at laying out the same preamp....


I followed some basic guidelines to make a circuit less noisy....to my ears this Revision 2 design is quieter and sounds cleaner; I cover its build in this post; also share my "understanding op amp noise" lab notes.

A $10USD super low noise op amp vs. the venerable 741. Which produces less noise? Hint: the more expensive one. In a future post I will rebuild this post's preamplifier to see if its sounds better still with super op amp; I am using TL072's now.

LAB NOTES--OP AMP NOISE

An immediate takeaway--I thought there was just one kind of noise--but no, there are different types. I will look at voltage noise, current noise, total harmonic distortion, and slew.

VOLTAGE NOISE

Every component in a circuit generates voltage noise—wires, traces, resistors, everything. Temperature, quality of manufacture, IC design, materials used—all contribute to this noise. And of course op amps are components....so they contibute.

We can map op amp voltage noise using a graph:


This is the voltage noise on an OP07 op amp tested under laboratory conditions and shows voltage noise at low frequencies--.1 hz to 10hz.

But we use op amps at all different frequencies; in this case, voltage noise's spectral density looks like this: 

 

Voltage noise that varies depending on frequency is caused by several factors--here I name a few: 

  • Johnson noise--present in all components--noise created by thermal agitation of the electrons in the materials used; it spans all frequencies ("white noise") and is most noticable at higher frequencies.
  • Shot noise--caused by something to do with quantum mechanics that I can't sum up in a few words and will most likely never fully understand; I opened the box and the cat's dead. Temperature indepedendent; like Johnson noise, it spans all frequencies.
  • Flicker noise or "1/f" noise: Noise caused by the materials and construction techniques used during manufacture--1/f noise is concentrated in the lower frequencies--in the graph above you see it from 1 to about 500 hz.  1/f corner is where the white noise and pink noise amplitudes meet.

EEVLOG's video explaining voltage noise, which goes into quite a bit more detail, is here

Good articles on the same subject:  here and here.  

An interesting video explaining how to measure 1/f noise--using op amps to measure the noise of other op amps--is here.

From a noise standpoint, how to determine which op amp is right for a project?  

Like online dating: "it depends". 

In the land of AudioDiWHY, we do a lot in the 100-1000hz range, so 1/f noise is not our friend. The comparison chart here shows that the venerable TL072, used for this post's pre-amp build, and my go-to op amp for a lot of what I design, does not compare favorably with many other higher-performance op amps in terms of noise specs.

They're everywhere!


An obvious way to ameliorate: use a lower noise op amp. I got 2 AD8599's for a "final" build whose spectral noise density is ridiculously low, especially at low frequencies:

However, a less expensive op amp like a 5532 might sound just as good, and with my tinnitus diminished hearing I may not be able to tell the difference.

CURRENT NOISE:

There is also another type of noise—“current noise”.  

The idea: an op amp input should source or sink no current, but in reality it does. The current noise can be amplified by feedback resistors and overall gain, meaning  that current noise cannot be ignored. 

Current noise is less of an issue in JFET op amps, since JFETs really are closer to infinitely high input impedance. 

Some videos about this:

https://www.youtube.com/watch?v=1tUaDghBmuc&t=243s

https://www.youtube.com/watch?v=TxBJb-Z0XFI&t=950s

To try to get rid of these issues, there are a few basic design ideas…

For instance: the videos explain why you might see resistors between non-inverting and ground, which never made sense to me until I went down the op amp noise rabbit hole:


The R and C highlighted are there to quiet down the op amp created by input offset bias current offsets. Component choice looks easy--same value resistor as a feedback loop and a small cap.  

Great article about this: https://www.eetimes.com/op-amps-in-small-signal-audio-design-part-1-op-amp-history-properties/

Another basic idea is to use smaller value resistors in feedback loops: see the article here.  

OP AMP SHOOTOUT:

An extremely useful summary for overall op performance: https://www.cycfi.com/projects/six-pack/op-amp-shootout/

It’s from 2017 but many of the op amps are still available.  I bought some OPA1602's I learned about from the shootout; at about $3USD 1602's they have excellent specs for the price. 

THD:   

A bit easier to understand—extra harmonics are created by the amplifier.  A lower number is desirable. Video here                                             

SLEW:

An op amp cannot keep up with infinitely rapid voltage changes—for instance, a square wave at input does not look as crisp at output on a scope.  A high slew rate is desirable, but too fast an op amp can cause its own problems. Good video about slew is here.

Update 10-5-23: while researching another project I came across the video from Sine Lab here: an easy to understand general summary of op amp performance characterics.

OTHER WAYS TO IMPROVE PREAMP PERFORMANCE 

Ferrite beads and line filters near the power rails can be used to improve general amplification performance.

Using ground pours helps as well. Maybe? For high frequency electronics certainly but for us 20-20K bottom feeders, well, maybe.With my own designs I have not been able to hear a difference, but I read they help.

Again: lower resistance values in negative feedback loops helps. Look here. I reduced the 10K/100K used in rev1 to 1K/10K.  I will use 720ohm/10K for the next build, which takes us closer to 10x gain.

I incorporated these three improvements into this post's "revision 2" preamp.  

LET'S BUILD!

This time I took some of the aforementioned lower noise ideas and put them to the test.  

Here are build photos:

Joy! Bags o' New boards from the blog's trusty sponsor, PCBWAY




Ready to test....

Temporary front panel.... 


Final front panel fabricated.....


With TL072's, not super low noise op amps, the build already sounds better vs. the one here.

As mentioned above, I am going to build another preamp with AD8599's--the $10 op amp lover's op amp--to see if it sounds different/better than the TL072 build. 

Update: dropping in the AD8599, sadly, I can't hear a difference between it and the TL072. But that might be my >60 year old, sonically-tortured-between-ages-15-and-35-years-old ears, my crappy bench B chain, my cheap external Eurorack power supply, or a lot of other factors. For the test to be accurate and useful I'd need to be a lot more scientific, but it's time to move on.  

I'll post a Eurorack format front panel for this circuit as well--shortly. One of these days. Maybe. Update: gerber for front panel is posted--go here.

Anyway, this was a fun build, and it was satisfying to put another piece of  classic ARP inspired tech in my rack.

More to come....stay tuned.