> I consider myself to be a decent software engineer. But I am inexperienced in the area of creating my own hardware. I guess a lot of things are just knowing how to stick together pre-made components like "panels, SDRs, IMUs & sensors"? But how important is it to know circuit design?
For most of the sensors mentioned in the initial comment, I would assume there are already commercial USB/eDP/PCIE sensors/components, and at least for framework these connectors on the motherboard are clearly exposed. I'd imagine it's possible to have some RJ-xxx sensor needing a RJ-USB converter too, but with the sensor+converter I think it is as easy as "design a box, throw them in".
HOWEVER - ESD is something I've heard can be pretty nasty and show up where you least expect it to. Proper grounding design would help. Beyond that, I am not aware of any "major" issues (there's also general environmental/power noise but ground could help with some of those issues like the "wonky touchscreen when charging". Also stuff like debouncing and pullup/down resistors if using buttons).
My personal knowledge of circuit design isn't very good, I studied it till high school and had an intro to EE class in uni (which actually wasn't bad, learnt the basics of opamp circuits etc) but I don't remember much of those now.
> There are a lot of unknown unknowns. And it is not clear what a good learning path would be to get started with hardware hacking as a hobbyist.
I think if you want to get started, the most "comprehensive" way would be by looking at syllabus of undergraduate EE programs (or MechE for the physical side), and perhaps going through the relevant/interesting chapters.
However the "easiest" will be by just building basic circuits - using an arduino, or making a hand-wired mechanical keyboard. Googling issues like "arduino button changes on its own" will give results like https://arduino.stackexchange.com/questions/186/button-state... which talk about floating pins.
This is as much as I know on this topic (I have "tried learning more esp. in high speed designs but that's vast), if anyone else has helpful suggestions I'll be happy to learn :)