1Textbook organizational structure.
2Tinkercad (from Tinkercad, by Autodesk Inc.).
3LTspice (from LTspice by Analog Devices).
8Light-emitting diode (LED) example.
12The MCP413-103 10kΩ digital potentiometer (from Microchip Technology Inc.).
13The LM386 audio amplifier (from LM386 datasheet, courtesy of Texas Instruments Inc.).
14Audio input and output connectors.
16Connecting wires and cables.
19Tweezers, pliers and a precision screwdriver.
1.2The Rutherford-Bohr atomic model.
1.4Net electrical charge examples.
1.5Newton’s cradle analogy for electrical charge.
1.6Illustration of low and high current flow.
1.8Electric potential example.
1.10Conventional current flow in a short circuit.
1.11Wire wound resistor examples.
1.12Resistance value examples.
1.14A simple light-emitting diode (LED) circuit.
1.16Breadboard component layout.
1.17Adding power and ground connections.
1.20Translating a schematic to breadboard layout.
2.1Conceptual diagram of an open-loop system.
2.3Open-loop audio system example.
2.4Closed-loop system example.
2.6Representing a system as source and load.
2.7Partitioning an example recording studio system.
2.10Binary data representation.
2.11Harvard computer architecture.
2.12A continuous-time (CT) signal.
2.13A discrete-time (DT) signal.
2.16Examples of common interpolation methods.
2.21Common switch configurations.
2.22Push-button switch operation.
2.24Sensor range and resolution examples.
2.25100kΩ linear and logarithmic potentiometers.
2.27The piezoelectric microphone.
2.28Electromagnetic induction.
2.34Systems used in the example project
2.35Project system schematics.
2.36System 1 component layout.
2.37System 2 component layout.
2.38Example project final breadboard layout.
3.2Resistance and Ohm’s Law (taken from chapter 1, Figure 1.11).
3.3Real and conventional current flow in a simple Arduino circuit.
3.4Voltage polarity in a series circuit.
3.5Calculating total resistance in a series circuit.
3.7Conservation of charge at circuit junctions.
3.9Simple LED circuit from chapter 1.
3.10Series circuit schematics.
3.12Series circuit project stage 1.
3.13Series circuit project stage 2.
3.14Bridging breadboard power rows.
3.15Series circuit project stage 3.
3.16Series circuit project final breadboard layout.
3.17Parallel circuit schematic.
3.18First parallel circuit branch.
3.19Second parallel circuit branch.
3.20Combined parallel circuit branches.
3.21Final parallel circuit layout.
4.1Harvard computer architecture.
4.2Basic Harvard architecture system diagram.
4.4Simple digital output system.
4.5Arduino digital output schematic.
4.6Arduino digital output breadboard layout.
4.7Tinkercad coding simulation window.
4.8System code processes diagram.
4.9Digital output function definitions
4.11Running a code simulation in Tinkercad
4.12Microcontroller data memory
4.16Multiple digital output system.
4.17Multiple digital output schematic.
4.18Multiple output breadboard layout.
4.19Stage 1 system code process diagram.
4.20Full system code process diagram.
4.21Multiple digital output simulation in Tinkercad.
4.22Workflow of a programming function.
4.23System function code process diagram.
4.25Pitch perception by the human ear.
4.26Example project system code process diagram.
4.28Final project breadboard layout.
4.29Arduino hardware reset button.
5.1Workflow of a programming function.
5.3Conceptual array storage example.
5.5Array iteration workflow example.
5.6Example tone array output system code process diagram.
5.7Example tone array output schematic.
5.8Tone array output breadboard layout.
5.9Standard MIDI OUT interface (adapted from the MIDI Manufacturers Association, 1985).
5.11A digital signal (taken from chapter 2, section 2.2).
5.12MIDI running status example
5.13Arduino MIDI output code process diagram.
5.14Updated Arduino MIDI output code process diagram.
5.15Arduino MIDI output schematic.
5.16Using the Tinkercad Serial Monitor.
5.17MIDI output code testing steps.
5.18Serial binary communication signal output.
5.19Serial communication test circuit layout.
5.20Final Arduino MIDI output breadboard layout.
5.21Selection instruction workflow.
5.22Push-button switch selection example.
5.23Pull-down resistor example.
5.24Button input test circuit.
5.25Push-button test circuit output.
5.26Push-button selection statement output.
5.27Else if statement workflow.
5.28Arduino MIDI switch controller code process diagram.
5.29Arduino MIDI switch controller schematic.
5.30Arduino MIDI switch controller output example.
5.31MIDI switch controller serial output.
5.32An analogue signal (taken from chapter 2, section 2.2).
5.33Continuous signal sampling example.
5.35Thresholding analogue sensor input.
5.36Analogue sensor vibration noise.
5.37Reduced vibration sensitivity.
5.38Analogue signal onset and offset detection.
5.39Onset/offset detection truth table.
5.40MIDI drum trigger code process diagram.
5.41MIDI drum trigger schematic.
5.42MIDI drum trigger breadboard layout.
5.43PCB mount screw terminal blocks.
6.2Air pressure changes due to sound vibration.
6.3Pitch perception by the human ear (adapted from chapter 4, Figure 4.22).
6.4Musical instrument frequency ranges.
6.6Audio frequency spectrum example.
6.7Sine wave multiplication examples.
6.9Rotating wheel sine angles.
6.10Measuring mid-ordinate points on a sine wave.
6.12Phase angle difference between two sine waves.
6.13Leading and lagging phase angles.
6.14Sine wave phase cancellation.
6.15Movement of electrical charge (adapted from chapter 1, Figure 1.5).
6.16Capacitor example, adapted from chapter 2.
6.17Common capacitor examples.
6.18Movement of charge in a capacitor.
6.19Graph of a capacitor charging over time.
6.20Discharging capacitor example.
6.21Graph of capacitor charging and discharging over time.
6.22Time constant in an RC circuit.
6.23Full wave rectification example.
6.24Charge movement for an AC signal in a capacitor.
6.26Capacitor plate distance in series circuits.
6.27Parallel capacitor circuit.
6.28RC series circuit phasor diagram.
6.29RC parallel circuit phasor diagram.
6.32Moving and deleting components in LTspice.
6.33Common component libraries in LTspice.
6.34LTspice component dialogs.
6.37An LTspice transient analysis Spice Directive.
6.38LTspice circuit simulation window.
6.39Example project schematic.
6.40Example circuit 1 input waveform, adapted from Figure 6.21.
6.41Creating a pulse input source in LTspice.
6.42Example circuit 1 final LTspice circuit.
6.43Example circuit 1 LTspice simulation.
6.44Creating a sine input source in LTspice.
6.45Example circuit 2 final LTspice circuit.
6.46Example circuit 2 LTspice simulation.
7.1An audio amplification system (adapted from chapter 2, Figures 2.3 and 2.6).
7.2Common decibel reference levels.
7.6Diode voltage vs current graph.
7.7Full wave rectifier circuit with capacitive smoothing.
7.8Full wave rectifier operation.
7.9Diode clipping of an input signal.
7.12BJT common collector and common emitter amplifier circuits.
7.13BJT current amplification curves.
7.14Transistor operational regions.
7.15Common emitter amplifier circuit.
7.16Nested step analysis in LTspice.
7.17Measuring BJT characteristic output curves.
7.18Simulation graph of characteristic output curves.
7.19AC input signal BJT amplification.
7.20Biasing AC input signals for BJT amplification.
7.21Voltage divider amplifier biasing.
7.22Determining the Q point to bias a common emitter amplifier.
7.23AC coupling of a BJT input signal.
7.24AC coupling of a BJT output signal.
7.25A closed-loop feedback system – taken from chapter 2, Figure 2.4.
7.27BJT amplifier feedback resistor.
7.28Adding a degeneration resistor to a BJT common emitter amplifier.
7.29A common emitter BJT amplifier circuit.
7.30Common emitter amplifier circuit.
7.31Simulation graph of a common emitter BJT amplifier circuit.
7.32BJT differential amplifier and operational amplifier equivalent symbol.
7.33An 8-pin integrated circuit.
7.34Common mode rejection noise reduction example.
7.35Source and load amplifier system example (adapted from chapter 2, Figures 2.6 and 2.7).
7.36Source and load voltage divider examples.
7.37Negative feedback amplification example.
7.38Operational amplifier feedback gain.
7.39Non-inverting operational amplifier circuit.
7.40Inverting operational amplifier circuit.
7.41Reconfiguring operational amplifier layouts.
7.42Inverting operational amplifier circuit.
7.43Simulation graph of an inverting operational amplifier circuit.
7.44Unpredictable valence electron movement (adapted from chapter 1, Figure 1.6).
7.45Operational amplifier DC blocking capacitors.
7.46Operational amplifier power AC decoupling capacitors.
7.47Adding AC decoupling capacitors to breadboard power rails.
7.48Connecting a Zobel network to an operational amplifier output.
7.49Graphs of capacitive and inductive reactance relative to frequency
7.50A typical audio inverting operational amplifier circuit.
7.51The LM386 audio amplifier.
7.52Final audio amplifier schematic.
7.53PCB mount screw terminal blocks.
8.1Equal loudness curves, adapted from ISO 226:2013.
8.2Bode magnitude plot of a general bandpass filter.
8.3Bode magnitude plots of other common filter types.
8.4Standard Bode plot of a first-order low-pass filter.
8.6Bode magnitude plot of a first-order low-pass filter.
8.7Low-pass and high-pass filter slopes.
8.8A voltage divider (adapted from chapter 3, Figure 3.6).
8.9Seesaw analogy for voltage divider ratios (adapted from chapter 3).
8.10Graphs of capacitive reactance relative to frequency.
8.11First-order low-pass filter circuit.
8.12Seesaw analogy for a first-order low-pass filter.
8.13First-order low-pass filter circuit.
8.14First-order low-pass filter Bode plot.
8.15Bode magnitude plot of a first-order high-pass filter.
8.16First-order high-pass filter circuit.
8.17Seesaw analogy for a first-order high-pass filter.
8.18First-order high-pass filter circuit.
8.19First-order high-pass filter Bode plot.
8.20LTspice transient analysis window for audio input data (from LTspice by Analog Devices).
8.21Adding an output node net name in LTspice (from LTspice by Analog Devices).
8.22Voltage divider potentiometer.
8.23First-order low-pass filter with potentiometer control.
8.24Example wiring for a 10kΩ potentiometer.
8.25Two-band equalizer audio amplifier circuit.
9.1Final project system diagram.
9.2Final project state diagram.
9.3Controlling audio filters with digital potentiometers.
9.4Final project breadboard layout areas.
9.6Final project stage 1 – Arduino control system diagram.
9.7Onset/offset detection states (adapted from chapter 5, Figure 5.37).
9.8Final project system output states.
9.9Adding a counter to a selection statement.
9.10Swapping output polarity to change LEDs.
9.11Arduino state control test circuit.
9.12Multiple switch input triggering.
9.13Arduino state control test circuit layout.
9.14Arduino state control test circuit schematic with input potentiometer control.
9.15Nested selection statement flow diagram.
9.16Arduino state control with input potentiometer control layout.
9.17Arduino input potentiometer control serial output.
9.18Final project stage 2 – digital potentiometer control system diagram.
9.19The MCP413-103 10kΩ digital potentiometer chip.
9.20MCP413-103 internal operation.
9.21Digital clock synchronization example.
9.22Arduino shared SPI bus example.
9.23Arduino MCP413-103 output example.
9.24Final project stage 2 – digital potentiometer control system schematic.
9.25Final project stage 2 – digital potentiometer control system breadboard layout.
9.26Digital potentiometer audio filter control.
9.27Digital potentiometer 2-band equalizer amplifier circuit.
9.28Final Arduino-controlled 2-band equalizer amplifier circuit.
9.29Final project stage 3 – digital potentiometer control system breadboard layout.
10.1Textbook organizational structure.
Appendix 2 Figure 1Time constant in an RC circuit – from chapter 6, Figure 6.22.
Appendix 2 Figure 2RC series circuit phasor diagram – from chapter 6, Figure 6.28.
18.224.32.86