Getting started with microcontrollers isn’t exactly easy. This video is the first of a series of episodes that give a somewhat non-standard introduction; not only do I take a comparative approach, examining the Atmel AVR, Microchip PIC and Texas Instruments MSP430 families in parallel, I also use Linux and various open source development tools (with various limitations and extra handicaps) rather than the manufacturer-provided ones, and I even try to write code in a way compatible between the architectures.
Table of Contents
00:00:18 Why I don’t like single architecture tutorials
00:00:45 Why doing a comparative, multi-architecture tutorial makes sense
00:02:20 Manufacturer-supplied vs. open source toolchains, and GUI vs. command line tools
00:03:00 A portability experiment, and preserving the option to switch between architectures
00:03:55 Things and skills you need to play along:
00:04:00 – A computer
00:04:30 – C, and why not to learn C on a microcontroller
00:05:50 – Make and Makefiles
00:07:05 How to get started with complex new topics in general
00:08:00 Why you might not want to try all three architectures simultaneously
00:08:50 Choosing your first architecture to try, and having someone to ask questions
00:09:55 Being on a tight budget, and the TI MSP430 LaunchPad (MSP-EXP430G2)
00:11:05 Why my way may not always be your way, and the importance of your technical background
00:12:10 Arduino vs. “bare silicon” microcontrollers, and Java vs. C on “real computers”
00:15:15 The development toolchain
00:16:30 How not to get the toolchain up and running
00:16:45 Simplifying, eliminating and temporarily sidestepping non-essential aspects
00:17:00 Why schematics can be dangerously misleading
00:17:30 Using target boards of the shelf, rather than building them in the beginning
00:17:50 Programmer hardware and the tradition of building them yourselves
00:18:20 Skipping the compiler part at first, by using pre-built binaries
00:19:20 My computer of choice: Raspberry Pi, version 2
00:20:00 USB, and the frequent lack of overcurrent protection on USB interfaces
00:22:15 Setting up the computer, and the Makefile in the binary tarball below
00:24:50 Taking a look at the Makefile, and adapting to other Unixes or Linux distributions
00:30:45 Outlook on the next few episodes
00:31:30 Recapitulating the approach to complex new topics in general, and with microcontrollers in particular
Resources
bivblog37-mcu-bootstrap-20160622-140223.tar.gz: The source tarball
bivblog37-mcu-bootstrap-binaries-20160622-140223.tar.gz: The binary tarball, also including the makefile to set up the computer (aimed at a RasPi2 running Raspian).