Hello y’all! I’ve always been interested in computers and programming for as long as i can remember, but recently i’ve decided to try to get into some of the deeper stuff behind that, into the wonderful world of electronics. Where should I start? What courses or books or youtube series should I consume? What are some high-quality forums, communities, blogs, etc. to learn from?
The most important thing is to tackle projects frequently and get yourself involved with other people doing the same. Learn by doing! I found books, videos, and so on of limited utility by comparison. I’ll include an unreasonable quantity of my notes below.
Some useful resources:
- Learning Python – a decent programming language to start with since in flexible and enforces some good habits : python.swaroopch.com
- Your local hackerspace, makerspace, or fablab: wiki.hackerspaces.org/List_of_Hacker_Spaces
- Websites with details on other people’s cool projects: hackaday.com
- You should also learn C / C++ (unless you are an assembly-language degenerate like me)
- KiCAD is fantastic these days (and free!): www.kicad.org
- I’ll point out that Microchip Studio is awful and buggy but for some microcontrollers you’re stuck with it. Everyone working with embedded systems gets stuck with some lousy manufacturer-supplied software sometimes.
List of initial things to learn:
1.How to read component datasheets (you will be doing this a lot). Actually I think a lot of my electronics knowledge was picked up from just absorbing datasheets like a weird sponge of some sort. 2. How to order from Mouser / Digikey / RS Components / Arrow / McMaster (these are also a great source of datasheets) 3. Basic laws of electricity and magnetism (any freshman university physics textbook is OK – these pop up used all the time, and even an old one is OK). Just do all the problems in each chapter and you’ll be fine. Or you can tackle “The Art of Electronics” if you like. 4. If you’re into analog, this is a classic (and free!) text : web.mit.edu/6.101/www/…/op_amps_everyone.pdf 5. Soldering is actually pretty easy, just buy some resistors and some prototyping board and get some practice in. You’ll need to learn surface mount soldering to get access to good and cheap parts later on, but thankfully, it is way easier than it looks. Like, really a lot easier than people make it look. 6. How to order manufactured circuit boards from a factory using a design in KiCAD (this is actually pretty easy and cheap!) 7. These days, a lot of components can be purchased on pre-built ‘modules’ that fufill a certain objective. For example, a temperator sensing module might have a sensor and all the supporting components on a little board, so you just connect power+ground and data. These are made specifically with learning in mind and are made in Asia at a very reasonable price – do note though that reading the actual datasheet of the parts in question will give you much deeper knowledge over time.
Tools to buy:
- A soldering station. Some people suggest fancy expensive stuff, but frankly, some brands of Chinese tools have gotten quite good. Yihua is a good and affordable brand of soldering station. You can get a soldering-iron-only version if you need to save money, but I’d recommend a model that also includes a hot air rework tool. This makes fixing mistakes on boards way easier, lets you salvage components more easily from junk and failed projects, and also adds a lot of flexibility later on.
- A multimeter / parts tester. Should measure voltage, current, capacitance, resistance and diodes. Pro’s Kit is an OK brand from Asia.
- Eventually you will need an oscilloscope, but not at the start. Hantek, Rigol, and Unit-T make good entry level ones. Siglent is midrange. Tektronix is for rich kids. An old used scope is fine but often shipping is expensive if it’s one of the heavy ones.
- Tweezers, wire cutters and strippers. Lots of protoboard and solder.
- If you’re really into low-level microcontroller stuff, an AVR-ICE will be pretty cool to have a few years down the line :)
Platforms and Communities to Consider:
- Arduino – largest friendliest community with the most tutorials, but as such has a ton of beginners and students looking to copy/paste code without understanding. So sometimes it’s hard to find someone knowledgeable, and if you do, they might be sort of exhausted. It’s probably the best place to start these days overall.
- AVR Freaks – the opposite of Arduino. Hostile, but super knowledgeable. I’ve learned so much by searching their forums, I’ve never needed to ask a question! They are great too, but really not a place for beginners to ask questions. It is a good forum to read if you want to learn assembly / C for microcontrollers, but has a steep learning curve – I’d save it for later :D
- Raspberry Pi – makes everything super easy, generally at the cost of being horribly inefficient and somewhat expensive. It can be a good place to start, but be careful not to learn bad habits here – e.g. using a whole computer system with Linux to blink an LED. You’ll end up having to unlearn a lot to make reasonable battery-powered devices later on. Awesome where processing power is actually needed – machine vision, some robotics, and AI. The raspberry Pi Pico has fewer of these problems (and you can code in Python!) – it’s pretty fantastic and I would personally choose it as my first microcontroller.
Other Stuff:
- Avoid playing with mains power / high voltage until you know what you are doing.
- Avoid selling things until you know what FCC / CE is. You can teach courses on what you’ve learned to fund your studies though! I bootstrapped this way.
- Lithium batteries can be sort of tricky / hazardous. When starting out with them, use the metal cylindrical cells at first. The TP4056 is an OK charge controller to use, and pre-built modules are like a dollar in bulk.
- I own a prototyping company in Asia, this introduces some bias on my tool recommendations: low cost, high value – but only ‘good enough’ performance and convenience.
Ping me if you get stuck or have questions :)
tempo@discuss.tchncs.de 1 year ago
Have you tried Arduino yet? The website has a lot of good tutorial information. www.arduino.cc/en/Guide/HomePage should get you started.
kjo@discuss.tchncs.de 1 year ago
I agree with the Arduino approach for learning: try something that immediately gives feedback.