embedded systems
Skill Tree: Color in the Boxes
Color in the boxes of anything you’ve already completed, visualize your skills and identify your skill gaps. Get inspired
to try new things and tailor the skill tree to suit your own journey by swapping in your own goals.
ADVANCED
(set your own goal)
(set your own goal)
(set your own goal)
Create a
CI/CD System
Use trace debugging
to troubleshoot a
problem
Fix 49-day reboot
problem with a
calendar
Create a soware
release process
Teach a class on
embedded systems
Blow fuses to test
security in a project
Use an IMU sensor to
track motion in
multiple axes
Bring up a custom
board for the first time
Create a custom
USB HID Device
Use a step-through
debugger to
troubleshoot a problem
Display text on a
screen in a different
font
Use pulse width
modulation (PWM) to
control RGB LEDs
Use Bluetooth
Low Energy (BLE)
to show a sensor value
Analyze a signal with
Fast Fourier Transform
(FFT)
Conve a signal
from analog to digital
(ADC)
Use closed loop control
(PID) to regulate a
project
Implement a state
machine
Debounce a
buon
Use REPL in
MicroPython to blink
an LED
Use continuity check
on a Multimeter
(Beepy mode!)
Commit to a version
control system
(such as Github)
Blink an LED
Use SPI to
send/receive data
Use UART serial
communication
Implement an
interrupt service
routine (ISR)
Erase and rewrite
FLASH memory
Move a motor
Send data to the
cloud
Use I2C
communication
Use a mutex to
safeguard a resource
Use a Real Time
Operating System
(RTOS)
Use Pulse Width
Modulation (PWM)
Configure a timer
Understand
how to use a circular
buffer
Check a .lst or .map
file to troubleshoot a
problem
Set up a cross
compiler
Implement MCU sleep
in a low power project
Update firmware
remotely (OTA, DFU,
FWUP)
Debug a project
with an oscilloscope
Write manufacturing
test soware
Update firmware
remotely using secure
encryption
Create a circular
buffer that uses more
than 2 pointers
Identify a burden
voltage issue
Run unit tests in an
algorithm sandbox
Use a camera
in a project
Debug a project with
a logic analyzer
Modify a Linker File
Debug a hard
fault on a
microcontroller
Use
Direct Memory Access
(DMA)
Create your own
custom PCB
Optimize assembly
code
Adapt RTOS to a
new board
Reverse engineer a
communication protocol
Add Machine Learning
(ML) to a device
Use a multi core
processor
Write custom BLE GATT
to communicate between
devices
Use multiple
architectures in a
soware image
Design a low
current circuit to
monitor lithium baery
usage
Write soware
for programming and
testing many boards in
manufacturing
Make a dashboard
for monitoring
remote units
Use a .map file to
debug a crash
(set your own goal)
Write an Arduino
Library
Edit binary / hex to fix a
problem aer release
Write a datasheet
Bit bang a
communication driver
BASICS
(set your own goal)
Solder in your
own header pins
Use a Hardware
Simulator
eg. WokWi
Get an
Arduino
1 tile = 1 point
Name:
github.com/sjpiper145/MakerSkillTree
START
HERE
Total Score
CC BY-NC-SA 4.0
MADE BY embedded.fm AND STEPH PIPER - MAKERQUEEN AU
Icons by Icons8.com