Hello! First of all this is my first Lemmy post, so if I did anything wrong pls tell me!
Now, I’m 19yo in 4th semester of Computer Engineering, and while I’m doing good in college I realized that they give us good background in electronics (from the basics to microcontrollers. ICs. logical design, etc) but the programming aspect is high level and web-oriented (python. java, php)! I appreciate learning those, but I’m not interested on that but rather on a kernel/firmware development! So… I’ve been learning C for some weeks and while I do love it (mainly been learning from K&R and Zed A. Shaw - Learn C the Hard Way) I don’t really know how to practice the skills required to do the proper bridge between hardware and software.
Basically, how does one begin their first real project to learn how to write drivers/baremetal and testing them? Thanks for reading and sorry if my question is dumb, I just feel a bit lost.
You’re looking for what’s called Embedded Programming, which is that low-level stuff where the software you create makes things happen in real life outside of just a computer screen. There are lots of hobby beginner kits that come with things like motors, lights, etc. That’s probably your best bet for actually getting some hands-on experience.
If you want something a little higher-level, go for something like a Raspberry Pi (a Single Board Computer or SBC). On these, you’ll have a full-fledged Linux kernel and operating system, but still have ways of interacting with hardware like lights and such. If you want to get lower level, try Arduino or something based on ESP32 (the key word here is microcontroller). On these, you’ll either use a smaller OS or go “bare-metal”. Though note that Raspberry Pi makes things at this level as well (their “Pico” line).
For making that connection between computer theory and programming, I recommend experimenting with microcontrollers. You can even do some projects in assembly and understand what all the key registers are doing. I started on PIC micros, which was a great beginner thing. Not sure if they’re still around.
If you want recommendations on a starter kit, let me know your budget and what country you’re in, and I can send some suggestions.
Source: embedded programming for 20+ years.


