
Take Troubleshooting Analog Circuits by Bob Pease. He throws something janky at you to see if you can intuit what could the culprits be. He then elaborates the ways in which things can go wrong. This is an introductory chapter. Many books do this, it’s not perfect but it works. It’s a book about troubleshooting that starts with asking you to troubleshoot, and then helps you to do so by explaining how and why. Hard to argue with that.
I’m not against the book, but it does seem mostly like trivia. The accompanying blog posts are insightful, though the author spends a lot of time showing how much they know rather than explaining a concept to the student - and yes, there is a difference between the two. There are a number of instances I came across of this, and other texts are better written in this regard. If I didn’t already know the stuff the author is talking about, I would need to read up another resource on it. So then what is the point? Even Dave Jones’ videos have more use because he’s right there with an oscilloscope and voltmeter to show you what’s going on. Tricks tips for “young players” etc.
Edit: I found a sample chapter of TAoE. It is much better than I remember it to be. There is a lot of useful information in here. Maybe newer edition: https://artofelectronics.net/wp-content/uploads/2016/02/AoE3...
Next up, tools. A must have tool is an oscilloscope to debug AC circuits as it enables you to visualize the signal. Buy one, and learn how to use it - you don't need anything fancy for audio work. A signal generator might be helpful to enable you to generate reference or test signals but is not necessary. You can buy scopes with signal generators built in. I'd also recommend an LCR meter to measure the values of inductors and capacitors though most multi-meters have a capacitor test function (though usually limited vs a real LCR.) Its also handy to have a little bench top amp/speaker combo or a set of computer speakers for testing. Do not use headphones for testing as erratic signals and/or connections can create LOUD transients that can cause hearing damage.
I'd start with the basics as you do - check supply voltages and look for bad solder joints. If the basics check out then you need to break out the scope and start tracing the signal path. Start by probing at the signal source to make sure you do have an incoming signal and then work your way through the circuit to the output. This is where it helps to understand the basics of electronics. A schematic of the circuit you are debugging is very helpful as attempting to follow traces on a board is not fun and error prone.
Some Resources: http://sound-au.com/ - can't recommend this DiY audio site enough. https://www.amazon.com/Troubleshooting-Analog-Circuits-Desig... good book I read years ago - Bob Pease was a fantastic engineer and writer.
You can open an account at:
https://www.electro-tech-online.com/
https://www.allaboutcircuits.com/
These are forums with extremely helpful members. The format is different than Stack Overflow's "Question/Answer". It is built on the "Post/Thread". You can have threads that go on for 40 pages and span a year, when someone is doing a project, and these magnificent creatures will accompany the users with feedback.
One thing I've done when starting to do PCB is submitting the design to electro-tech-online.com asking for feedback and how I could improve it. You'll have people there with decades of experience go through it, make actionable suggestions on the design stinks and why they're not good.
You can also share a project you're doing as you are doing it, and they can help with the brainstorming/ideation and implementation, they would ask questions and question assumptions.
If you write firmware for microcontrollers, they can also chime in and help you refine the code. If you get into that community, you'll be on a fast track because you'll have people who can do that in their sleep help you in the nicest way.
PCB Design:
You can get yourself CadSoft EAGLE or KiCad, print the tiny documentation in a booklet format, then read the whole documentation, page by page, annotating it, trying every functionality. Making routes, ground pour, layers, with commands and with the mouse.
Dave Jones' "PCB Design Tutorial"[0], will also be very helpful.
Soldering:
Check out Dave Jones' multi-part videos on soldering[1][2][3]. Part 3 is for surface mount, don't bother with that just yet.
Electronics
Depending on where you're starting from.
Absolute beginner? Take a look at Tony Kuphaldt's "Lessons in Electric Circuits"[4]. It is split into multiple volumes (DC, AC, Semiconductors, etc...)
Somehwat beginner? Take a look at "The Art of Electronics" by Paul Horowitz and Winfield Hill. It's one of the books one has to have just in case civilization is destroyed.
Fun trivia: The chapter on transistors explains them by introducing a figure called "Transistor Man". That figure was drawn by Edward Purcell, which you may have heard of from CPMG (Carr-Purcell-Meyboom-Gill). He also won the Nobel Prize for the discovery of the Nuclear Magnetic Resonnance.
You can get an electronics test board like [5] on which you can experiment circuits without soldering them, and with fewer flying wires. The ones that have the screws that hold power input are nice. Then you can buy a bunch of operational amplifiers, LED, logic cates integrated circuits, resistors/capacitors/inductors and play with that.
A bit more advanced or not:
- Texas Instruments' "Op Amps For Everyone"[6]
- "Op-Amp Concepts" by Greg Kovacs
- "Op-Amp Applications Seminar"
In depth:
- "Troubleshooting Analog Circuits", by Robert Pease.
More in depth:
Application notes from manufacturers to get ideas for designs.
But to sum it up:
- Getting on dedicated forums
- Getting the test board and components (to tinker)
- Getting software for PCB design (just for the design)
- Share the design on forums to improve fast
- Print the board at a PCB shop
- Solder the components following the tutorial
- Learn more and more and go deeper at every phase after every win
So you may first start by getting components and assembling them on the board to make a circuit work, then designing a PCB for them and soldering them to make a working "prototype", but you will also learn more reading the books, exchanging with others, reading application notes or resources from manufacturers.
All the best,
[0]: http://www.alternatezone.com/electronics/files/PCBDesignTuto...
[1]: https://www.youtube.com/watch?v=J5Sb21qbpEQ
[2]: https://www.youtube.com/watch?v=fYz5nIHH0iY
[3]: https://www.youtube.com/watch?v=b9FC9fAlfQE
[4]: https://www.ibiblio.org/kuphaldt/electricCircuits/
[5]: https://static-resources.imageservice.cloud/4858576/breadboa...
[6]: https://e2echina.ti.com/cfs-file/__key/telligent-evolution-c...
Your perfect plans are drawn around a set of hypotheses and premises, chained unfortunately, some of which I'm not uncertain would be proven wrong the moment you'd try and execute.
I am reminded of this: https://www.youtube.com/watch?v=uDJEjT2kKqY . Trey Parker and Matt Stone, of South Park, on story structure. This is what mostly happens.
I'm also reminded of that scene from the Collateral movie, where the Jamie Foxx character talks about his business plan, the one he's been refining for ten years.
Don't sell the pelt before shooting the bear.
A common technique was using diodes. Zener diodes are normally used to suppress overvoltage, but they're only useful for transients, and easily destroyed by a sustained, constant overvoltage due to excessive power dissipation. This is a serious problem in surge protector designs. "If life gives you lemons, make lemonade". Since they fail as a short circuit, early chip designers exploited this property as a one-time programmable fuse for factory calibration.
Quote Troubleshooting Analog Circuits by Robert A. Pease.
> As mentioned earlier, a diode tends to fail by becoming a short circuit when overpowered, and zeners cannot absorb as much power as you would expect from short pulses. How dreadful; but, can IC designers serendipitously take advantage of this situation? Yes!
> The Vos of an op amp usually depends on the ratio of its first-stage load resistors. IC designers can connect several zeners across various small fractions of the load resistor. When they measure the Vos, they can decide which zener to short out - or zap - with a 5-ms, 0.3- to 1.8-A pulse. The zener quickly turns into a low-impedance (= 1 Ω short), so that part of the resistive network shorts out, and the Vos is improved.
> In its LM108, National Semiconductor first used zener zapping, although Precision Monolithics (Santa Clara, CA) wrote about zener zapping first and used it extensively later on. Although zener zapping is a useful technique, you have to be sure that nobody discharges a large electrostatic charge into any of the pins that are connected to the zener zaps. If you like to zap zeners for fun and profit, you probably know that they really do make a cute lightning flash in the dark when you zap them. Otherwise, be careful not to hit zeners hard, if you don’t want them to zap and short out.
> These zener zaps are also becoming popular in digital ICs under the name of “vertical fuses” or, more correctly, “anti-fuses.” If an IC designer uses platinum silicide instead of aluminum metallization for internal connections, the diode resists zapping.
Nowadays they are implemented as a write-only EEPROM or Flash memory (and can even be overwritten in some designs using a special programmer), but the name "fuse" is still used for historical reasons, and to reflect their software-irreversible nature.
Also, fun fact: since fuses are EEPROMs, they're vulnerable to potential data corruption just like any other EEPROMs. If a fuse bit ever "gets loose", it can brick many chips since their boot configurations are no longer correct. It's especially problematic for space applications. This is also used for chip cracking - you can remove the "program read-protection" bit in some microcontrollers by exposing the fuse portion of the decapped silicon die under UV light. BTW, if you ever see a computer that reports an "Intel Core i6" processor model, it's likely a corrupted fuse bit (yes, this was a real incident).
I had an application on a Raspberry PI that paired with a Bluetooth Low Energy device to fetch and send its data through a 3G dongle, on the premises of non-technical people who cannot troubleshoot, in different countries and time zones. There were a lot of things that could go wrong, and I wrote code to mitigate and recover, including pulling new code.
Part of it was using the Actor Model. I wrote actors to connect to the device, pulling data, sending data, computing what was sent, etc. The actor system handled the actors, when one died, it would recreate another one when an unhandled exception was met, for example.
https://en.wikipedia.org/wiki/Actor_model
If you're doing Scala, take a look at Akka. The new Scala has native support for this, if I remember correctly, without Akka.
If you're doing Python: https://github.com/kquick/Thespian, https://thespianpy.com/doc/
You could also use Supervisor: http://supervisord.org. It's a client/server system for process control. You can have it start at boot time, you can add event listeners and trigger actions.