back

by matheusmoreira·21d ago·view on hn ↗
> 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.

6 comments
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!

[0] https://www.youtube.com/@bigclivedotcom, also at https://odysee.com/@bigclivedotcom:0d

[1] https://www.youtube.com/watch?v=tBq3sO1Z-7o&list=PLNyfXcjhOA...

[2] https://ww1.microchip.com/downloads/en/devicedoc/atmel-2586-...

[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.

Sorry for the late reply.

> Do you have any specific projects you'd like to build? Post here and we can talk through it.

Sure thing. Yeah, I wanted to build a handheld cyberdeck, like these:

https://www.clockworkpi.com/uconsole

https://hackaday.com/2025/02/27/a-precisely-elegant-cyberdec...

https://hackaday.io/project/202522-cyberdeck-handheld

https://youtu.be/u8kYHgKKhjY

https://youtu.be/IB5OJr_MimQ

The truth is I use my phone a lot. I even write code on my phone, touch screen and all. It's limiting but I put up with it because the handheld form factor is too comfortable, I can use it from anywhere, even in bed.

The cyberdeck is meant to replace the phone with a real keyboard and x86_64 Linux computer, plus any useful peripherals I can cram into the thing. I wanted to use the LattePanda Mu, an Intel N100 System on Module.

I've actually downloaded KiCad and just started using it, figuring I just needed to get started and I'd figure it out as I went along. I just opened up the example schematics I downloaded and started connecting dots like a baby. I actually made some progress, even identified some issues with builtin KiCad libraries, like host/card PCIe socket mismatches that would lead to ERC failures, even tried to contribute those. Then I got severely intimidated when I realized I was trying to route PCIe lines, something even literal professional engineers on discord balked at. That killed the project for some time.

My second attempt came after I subscribed to Claude, who made me aware that the PCIe lines I was dealing with were third generation, and therefore "forgiving". Then I made more progress.

I managed to make some mockups and measure the exact comfortable typing range of my thumbs, and from that I derived an awesome keyboard layout. The keyboard prototype, the thing that will make or break the design, is already at the part where I need to spend real cash on it to have manufactured and shipped so I can test the switches. The taxes involved make it very expensive to make mistakes, though. It doubles the costs of everything.

So I switched to trying everything I can to make the entire system correct before I ship it. Finish the system as a whole and pay for a professional review of the entire thing before shipping even a single prototype. Asked Claude to help me design a safe power supply with BQ25792. Chose the screen for the deck, the same screen used by the Asus ROG Ally.

Wanted to design the full PCB too but I'm unsure if I should create a standalone keyboard first in order to test it out as a separate project. I feel like the whole project depends on it, but it doesn't make financial sense to prototype just that component.

Is there a way to ensure correctness before spending money on this hardware? I'd hate to spend money on this stuff, only to find it doesn't work. How can I reduce this risk?

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.

> so I put it between the port and the magnetics

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.

See https://www.ti.com/lit/df/snlr034/snlr034.pdf

Yeah I'm relying a lot on the TI datasheets for "known good" power supply schematics.

I chose an Intel N100 SoM and there's an example carrier board, but the whole point of my project is to customize that board. I wanted to do things like rewire the HSIO lines: turn the GPU PCIe socket into extra USB 3.0 ports and M.2 E sockets. The "known good" designs won't port over cleanly. It's PCIe gen3 over short runs, Claude tells me it's "forgiving" but I'm still nervous about it.

I'm placing an Intel I210-IT onto this board too, would definitely appreciate any tips!!

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.

[1] https://github.com/mixelpixx/KiCAD-MCP-Server

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.

Or, you could make some mistakes.
Those are expensive, especially in my country where the taxes double the cost of everything.