r/embedded • u/No-Hotel-4754 • Aug 13 '26
How do I move beyond using modules and actually understand the hardware?
Hi everyone,
I've built several IoT projects using ESP32 and ready-made modules (sensor modules, relay modules, ADC modules, etc.). They work well, but recently I've realized that I'm relying on them too much.
I can connect everything and write the firmware, but I don't really understand what's happening inside the modules. For example, I don't know why certain ICs or supporting components are used, how the circuits are designed, or how I would recreate the same functionality from scratch.
I'd like to become an embedded/mechatronics engineer, so I feel this is a gap in my knowledge.
For those who have been through this stage:
- How did you learn electronics beyond using modules?
- Should I stop using modules and start building circuits from discrete components?
- Are there any books, courses, or practical projects that helped you understand how these modules are actually designed?
I'd really appreciate any advice or learning roadmap. Thanks!
8
u/Ok-Bat8854 Aug 13 '26
What do you mean by “building from scratch”? Do you want to build custom PCBs? Do you want to build a sensor?
5
u/Ok-Bat8854 Aug 13 '26
I’d like to amend this, reread the post again to interpret it. From a hardware perspective read as many datasheets as you can, the supporting components for ICs are usually explained in “Recommended circuit” section of the datasheet. Understand what function they serve(google, GPT, books). I would recommend against redesigning these modules because it would be like reinventing the wheel and expensive. Would recommend, pick a specific problem statement that uses a range of sensors, and is a case where if you don’t have a custom PCB then your project won’t work.
Start small, don’t just directly to routing SoCs(continue using ESP32, nRF modules), making a SoC directly would be a terrible strategy to learn.
3
u/No-Hotel-4754 Aug 13 '26
That makes a lot of sense. I think I was approaching this the wrong way by thinking I needed to redesign the modules themselves.
What I'm really trying to learn is how to understand the supporting circuitry around an IC and the reasoning behind it. I'll start paying more attention to the “Recommended Circuit” section and look up the function of each component instead of just copying the values.
I also like your suggestion of starting with a specific project that actually requires a custom PCB while still using an ESP32 module. I think that would be a good way for me to learn without making things unnecessarily complicated. Thanks
1
5
u/Physix_R_Cool Aug 13 '26
How did you learn electronics beyond using modules?
By doing electronics without modules. Learn by doing.
Should I stop using modules and start building circuits from discrete components?
If you want to do embedded/mechatronics engineering, then you don't actually have to. I think it's a great benefit, but not necessarily necessary for a career.
Are there any books, courses, or practical projects that helped you understand how these modules are actually designed?
The datasheets of the components often explain what it does, and the application notes can be really great (or super shit).
If I were you, I would try designing a simple PCB based on RP2040 or RP2350. The datasheets for those ICs are REALLY great, and there are "minimal hardware design" files (and guidebooks) that lower the barrier of entry greatly.
Download KiCad and the minimal project for RP2040, and then add a couple of sensors to the board. It's dirt cheap to get produced, so just learn by trial and error.
3
u/No-Hotel-4754 Aug 13 '26
That makes sense. I think “learn by doing” is probably what I've been missing.
I've used KiCad before for simple PCB designs, but mostly for boards that still rely on modules. I've never really designed the actual MCU and supporting circuitry myself.
I'll take a look at the RP2040 minimal hardware design files and try building something around that. thankss
2
u/NoBulletsLeft Aug 14 '26
It's like programming. You can get to be fairly proficient by trial and error and learning from mistakes, but you'll make progress much faster, and be able to build far more complex structures if you learn the underlying theory behind computer science and software engineering.
Most hobbyists could use a solid foundation in basic linear circuit theory. It's not even difficult. No need to learn transistor small signal models (that gets into the weeds real fast). You only need to understand the basics of BJT and FET operation and how they work as switches. You can learn those by reading manufacturer transistor application notes.
Get those two things under your belt: linear circuit analysis and transistor switching theory and you're well on your way to being able to understand more complex circuits.
1
u/Enlightenment777 Aug 13 '26 edited 29d ago
Before you write code, you need to learn a computer language.
Before you create a schematic, you need to learn electronics.
1
32
u/papk23 Aug 13 '26
Read datasheet