The Wah Pedal

Not so long ago a friend showed me a little circuit which I thought was quite interesting (The Wah Pedal), a simple variable active filter with a couple of transistors but with no variable reactive components. So I thought eventually, some day, I should take the time to understand it more deeply, simulate it and put it in a little PCB; a great example project for learning a couple of new design tools. Well I did!

The Final Design

The Circuit simulation

wah pedal simulation

The Board Layout

The 3D Model

wah pedal 3d view

Below you can find more information about how this board came about. Specifically about the open tools I used and the learning process. At the end you can find the design linked_files.

The Printed Circuit Boards

Individual PCB Multiple PCBs

Choosing the tools

For a while now I have been meaning to find a set of open (FLOSS) tools that I can learn and use for my future hardware projects. Specially I was looking for circuit simulation, PCB design and 3D CAD modeling software.

I came across the following viable alternatives (though there are a lot more):

After some research (I use Open Hub quite a bit) and some tinkering with each software I settled on: QUCS, KiCad and FreeCAD.

Learning QUCS

I went over to their documentation page and completed their getting started tutorial; It was well written and easy to follow. In Qucs, the user interface and the overall process is quite intuitive so I was up and running in no time.

After completing the tutorial I started my own QUCS project for simulating the Wah Pedal: finding the component models, wiring the schematic, setting up the sources, preparing the simulations …etc. Except for a few hiccups here and there (for help, you can join their mailing list), things went pretty smooth. No complaints.

Learning KiCad

The process of learning KiCad to use it for my own project was as follows (your mileage may vary):

  1. Read the Getting Started Guide and Complete the KiCad example project.

  2. Briefly read all the docs about every KiCad software component (e.g. KiCad Project Manager, EESchema, PCBNew …etc). It really helps to know how everything fits together (perfect opportunity to grab a latte and spend a relaxed afternoon reading about KiCad).

  3. Learn about KiCad Libraries, and how to build your own components (don’t listen to the rants :) ):
    • Schematic Library Editor
    • Footprint Library Editor
  4. Create your own personal component’s library here’s why

Try to always build your libraries on a need to have basis, do not build parts you don’t need (more parts does not mean better libraries). Otherwise they will go unmaintained and mix with the good parts and clutter your libraries making them useless. (i.e. you don’t know which parts are good anymore)

After you build your libraries for every component you need in the circuit, you can proceed to create the schematic project in EESchema, assign footprints to finally plot the Gerbers for manufacturing.

Learning FreeCAD

In KiCad you need some 3D models to assign to your footprints such that the whole board can be rendered nicely and you can inspect for mistakes before sending the board to the fab.

Normally, KiCad 3D component models are built with Wings 3D, but we need FreeCAD to import the .stp linked_files we get from the manufacturers (plus I have a little bit of experience working with FreeCAD).

My learning process for FreeCAD (as it relates to KiCad) went like this:

  1. FreeCAD Getting Started Guide: Quick Read.

  2. Part Design Basic Tutorial: Super helpful, but optional if you are in a rush.

  3. Building 3D component models using the manufacturer CAD STEP file.
  4. Building Kicad component models from scratch based on the manufacturer datasheet.

After you are done building your models and you have exported the .wrl linked_files that KiCad needs, open up the footprint editor in KiCad and assign your 3D models to their respective footprints (footprint properties -> 3D models).

Here are some models I built while learning:

potentiometer

inductor

The linked_files

And finally,

Hope it helps someone, somewhere, anywhere? :)

Enjoy and share with others!

Feedback? questions? Please let me know in the comments below.




Leave your comments below (or comment directly here).

Thank you for your feedback.