Ask HN: What hardware hobby would you recommend to a software engineer?
I'm an experienced software engineer with essentially no hardware experience.
Areas like PCB design, embedded systems, SDR and biohacking all seem interesting, but I'm not sure where to begin.
I'm hoping to find a hobby with a low barrier to entry, supportive community, and exciting future.
Do you have any hobbies involving hardware that you would recommend? What do you like about it, and what advice would you give to new comers?
6 comments of 7
[ 2.8 ms ] story [ 23.3 ms ] threadAnother option is the BeagleV-Fire which uses a Microchip RISC-V plus FPGA.
You could also take the Arduino route which has dozens of options.
To learn the basics there's still no better route than getting an Arduino Uno (or clone) starter kit and learning about digital electronics. The boards are programmed in C++ through the Arduino IDE. As you progress you could program larger-memory boards with python. Some people use other languages like Rust. You aren't limited to small AVR microcontrollers, you can program other microcontrollers such as ESP32, STM32, Raspberry Pi, etc. If you get to the point of having PCBs made you can use KiCad to design the boards.
There is a huge amount of online information and help available. Companies like Arduino, Sparkfun and Adafruit also have online material, some specific to their products, some general.
Apart from the actual hardware all the software used is free. Microcontroller boards, while not free, are cheap but powerful.
I'm a retired software engineer with an out-of-control microcontroller hobby.
https://docs.arduino.cc/
https://learn.adafruit.com/
https://www.sparkfun.com/documentation
https://www.raspberrypi.com/documentation/microcontrollers/
https://www.kicad.org/
https://www.amazon.com/s?k=esp32-c3+board
Community - it's generally supportive but can be pretty useless if you wanna take a single step out of the norm - you're on your own pretty much - you get a ton of shrugs and "idk".
It turned out that he knew that it didn't matter which side of an LED a current limiting resistor was on, the circuit worked identically. It thus seemed reasonable to refactor several separate resistors into one, to save parts.
A perfectly reasonable conclusion from a programmer perspective, turned out wrong in terms of circuits. Practical lessons were learned.
Getting a 3d printer and learning CAD offers similar challenges, and expansion of your world view. Some intuitions will turn out to work just fine, the exceptions are where you learn new things.