> I never did this before so there was plenty to learn, from basic electronics and magnetics to high-speed signal routing.
How did you learn this?
As a hobbyist I found hardware to be quite impenetrable, given the hard mathematics and physics requirements. My attempts to learn this essentially degenerate to taking an informal engineering course. It quickly becomes clear that I'm years away from making something, and I eventually run out of both free time and executive function. AI's been helping... But I don't have the ability to tell when the output is wrong.
Building something useful in a circuit design using off-the-shelf ICs and components doesn't require a very deep understanding of the theoretical basis for why it works. There's really no need to be gated by thinking that overly complex mathematics and physics concepts must be fully understood before building. Most electronic parts datasheets have example circuits and layouts that can be followed to get a working design. A lot of progress can be made just by reading the datasheet, learning how to use a tool like fusion 360 electronics, kicad, etc., to connect the parts in a schematic, lay them out on a board, generate a gerber, send it to a china PCB shop like PCBway, get the pcb, assemble/solder the parts onto it, some cases may need some firmware which AI can do a lot now, finally fire it up and see if it works. Very few calculations or theoretical knowledge needed, outside of Ohms law.
A purely logic circuit with impedance-matched chips, sure. However, when you need to drive a load, you quickly need to learn about flyback diodes, pullup resistors, and chokes.
You find yourself on forums reading posts like "yeah, that's an n-junction unit, you'll find the circuit much easier with a p-junction. Try ANP1058 and forward-bias the gate", or other such gnomic directives.
"Curiouser and curiouser", said Alice, as she fell down the rabbit-hole.
About a year ago, I found a YouTube channel[0] which consists mostly of a really smart guy (with a proper background in electrical engineering) buying cheap electronics from eBay/Temu/AliExpress/etc, taking them apart and identifying the components, then reverse-engineering them. (Often followed by a discussion of how much better of a product it could be if the manufacturer hadn't cheaped out on a two-cent component.)
I'd previously had a barebones interest in electronics (think: kits with LEDs and buzzers in like 3rd grade), but listening to his discussions and explanations of how these things worked gave me a fairly decent understanding of how some basic electrical principles work.
I also recently watched a video series[1] that explained how microcontrollers (specifically the ATMega328, the one powering the Arduino) work, from a very low level that I've always wondered about. The key part of that series, for me anyway, was getting the chip off of the Arduino PCB and onto a bare breadboard. From there I went and read/skimmed the ATTiny85 datasheet[2] (a very popular "baby brother" chip to the ATMega328) which also helped me understand how these chips do things like PWM on a low level.
I've built one project (a simple PWM dimmer based on a potentiometer) and am working on another (designing a PCB with KiCAD[3] to replace the circuit board for a battery-powered LED lantern, so I can design my own sequencing interface for what happens when you press the singular button), and it has been quite the learning experience, but one I've greatly enjoyed!
[3] This comment is long enough already, but KiCAD is a fantastic piece of FOSS software. It's a full schematic/PCB design suite, and there are plenty of tutorials all across the Internet for it.
> As a hobbyist I found hardware to be quite impenetrable, given the hard mathematics and physics requirements.
IMO there aren't any. It's mostly about reading datasheets, and connecting pins to each other IOC those datasheets.
Maybe the physics and mathematics are more important for analog electronics or designing ASICS?
Do you have any specific projects you'd like to build? Post here and we can talk through it. And/or start by downloading KiCAD and clicking around until you understand the UI.
The programming side is mainly also reading datasheets. Instead of connecting the right pins together, you are writing a certain value to a register, as described in tables.
> It's mostly about reading datasheets, and connecting pins to each other IOC those datasheets .. Maybe the physics and mathematics are more important for analog electronics or designing ASICS?
I agree that electronics is very accessible, and I'll add that in my experience as an EEE the main beginner gotcha is bad PCB layout rather than maths/physics.
For a flight controller say, bad layout would manifest as slightly noisier sensor readings and reduced radio range. But assuming this is 4 layers https://www.anyleaf.org/mercury-g4 then you probably know what you're doing :) - ditto for OP's article.
Simple layout rules will take anyone 99% percent of the way to professional results. Ground planes on inside (or bottom) layers, signals on outside (or top). Don't cut ground planes. Decoupling caps close to ICs. Keep current loops small. Vertical traces on one side, horizontal on the other. A single youtube video could teach you all that.
When I used to do this stuff for a job, math/physics was only needed for analog electronics (interfacing to hardware like specialized/novel sensors), optimizing control systems and signal processing, and general cost/efficiency engineering - but you could go a long way without it.
Just to be clear, I made a working prototype (and put a hyperbole in the title), I have a lot to learn still.
You can learn something practical like "embedded DisplayPort should be impedance controlled to 100 Ohms" without fully understanding the physics behind it.
AI can be very convincing. It told me to put the ESD protection as close the Ethernet connector as possible, so I put it between the port and the magnetics. This worked, but resulted in around 1% packet loss. When I moved it after the magnetics, I got 0% packet loss. This cost me a full revision, but I'd say this is the price to pay for not learning everything by the book.
For GP: this is something you would learn from a PHY manufacturer's EVK schematics and layouts. TI (especially), NXP, Microchip show correct magnetics/ESD part numbers and placement - the trickier thing here is finding an EVK that doesn't just use an integrated MagJack.
I was going to say, AI has really enabled my hardware projects recently. I've found incorrect output is less common with the newest models - and they're capable of drawing decent diagrams too which can really help me sanity check some of their ideas. I've also had some success with asking it to cite sources where possible, so I get lots of useful links into robotics forums like chief delphi and similar which also help sure up the math
I have serious beef with ChatGPT's text-based circuit schematic drawing abilities. Even though the model itself appears to be fully coherent about the big and little picture aspects of whatever's "on bench" I have wasted too much time trying to parse its attempts to draw circuits. I consider them actively harmful in their current form. I quietly hope that one of the LLMs will start actually generating netcode that can be pasted into KiCAD, or even rendering circuit snippets inside of the chat stream properly.
I've seen KiCAD running in the browser, so it's not like this isn't completely doable. It's just a question of resource allocation.
Without any deep knowledge, I was able to build at least a working board with a mcp server [1]. It’s always about the interface. I had to solder a few parts. Yes there where a lot of vias placed. Nice grid but it worked.
Thanks for reminding me that that exists! I'll have to give it a try, as it seems to have matured significantly since I last checked.
That said, outside of casual experimentation, I have almost zero need for an LLM to lay out my circuits for me. It's not just that I do have the deep knowledge, but there's so much more to board layout than routing. What parts I've worked with, what I have in inventory and on my PnP.
I also just really love laying out boards, and I'm in no hurry to give that up.
That said, I've found ChatGPT to be extraordinarily useful for part comparisons, getting second opinions on approaches, figuring out resistor divider values, troubleshooting drivers, and so much more it's difficult to enumerate.
How did you learn this?
As a hobbyist I found hardware to be quite impenetrable, given the hard mathematics and physics requirements. My attempts to learn this essentially degenerate to taking an informal engineering course. It quickly becomes clear that I'm years away from making something, and I eventually run out of both free time and executive function. AI's been helping... But I don't have the ability to tell when the output is wrong.