Hi, I’m

William
Anderson.

Electrical & computer engineering.
CU Boulder · Class of 2027.

I develop embedded systems with Nordic microcontrollers, Embedded C, and Zephyr RTOS. My work includes Bluetooth ranging firmware, FreeRTOS applications on STM32, and PCB design in Altium and KiCad.

I also like getting the hardware on the bench. I use oscilloscopes to investigate switching noise, check signals, and work through board bring-up.

Hello from Boulder, CO
William Anderson outdoors by a lake
Embedded systems · CU BoulderOpen to full-time roles · May 2027

My workbench

A few things I’ve built

Circuit boards, embedded software, and some lessons from the bench.

5 projects
01 / KiCad render KiCad render of the revision 1 guitar amplifier power board with its connectors and test points

Senior capstone · In progress

Guitar amplifier power board

I’m responsible for the power system in our portable neural-modeling guitar amplifier. I designed the power PCB and selected the battery, buck converter, filters, and speaker amplifier. The board supplies both the audio hardware and the digital electronics.

  • KiCad
  • Power integrity
Power design and validation

The speaker amp runs from the battery bus. A filtered 5 V supply powers the Daisy Seed3 and ESP32 touchscreen. I routed the differential audio traces close together and matched their lengths.

The bench plan checks droop, ripple, and clean-path noise under changing loads.

Real-time systems

Labyrinth on STM32

I built a tilt-controlled maze prototype. FreeRTOS tasks sample the gyroscope, update motion and collisions, and draw the maze on an LCD.

  • Embedded C
  • FreeRTOS
  • STM32F4
Debugging the physics task

I moved osDelayUntil() inside the update loop so the physics task waited for its next scheduled tick. I also fixed the gyro axis setup and converted raw readings to degrees per second. Board tests verified tilt in both axes, wall collisions, and the loss condition when the player crossed a hole.

75% smallerExported model vs. INT8 baseline
88.5%Renode accuracy · 200 images

Embedded AI · Fall 2026 coursework

Fitting a neural network onto STM32

I compressed a supplied CIFAR-10 classifier for the STM32F407 using structured pruning, fine-tuning, and knowledge distillation. The exported model fits the lab’s Flash and activation-memory budgets, with validation in Renode.

  • PyTorch
  • ExecuTorch
  • INT8
  • STM32F407
Compression results and other AI work

The final export is 297,016 bytes, down from the supplied 1,167,848-byte INT8 baseline. Its planned activation arena uses 75,776 bytes of the 98,304-byte budget. The experiment log records 91.4% host INT8 validation accuracy and 88.5% over 200 images on the emulated board. These are different evaluation sets, not a hardware speed or accuracy benchmark.

In the keyword-spotting lab, I trained and exported a compact model for the course’s STM32 audio pipeline. My submission records 87.5% validation accuracy with 10,052 parameters.

For a team gesture-recognition dataset, I contributed 106 phone-accelerometer recordings to a 554-recording collection. The dataset covers square, circle, wave, and idle motions; my recordings cover square, circle, and idle.

Accessible input

AccessiKey joystick keyboard

Our joystick keyboard lets someone with limited fine motor control type any letter with two directional moves.

  • Arduino Micro
  • USB HID
  • Layered input
How the input layers work

The firmware ignores motion near center and maps the stick angle to one of eight directions. Up opens the A–G group on the LCD. Down-left in that group sends A to the computer, and down returns to the base layer.

02 / Assembled PCB Powered switching-noise test board, with an inverter bank driving its LEDs

Practical PCB Design

Switching-noise test board

I built a PCB with two CMOS inverter layouts to investigate how return paths and decoupling affect switching transients.

  • PCB layout
  • Oscilloscope
See the scope capture

The layout with the longer return path showed a transient of about 1.4 V peak-to-peak at an output held low while its neighbors switched. A controlled comparison would use matched scope settings and probe placement.

Oscilloscope capture showing a transient spike followed by damped ringing
Quiet-low output on the layout with the longer return path. 50 ns/div.

Nice to meet you

An engineer in the making.

I’m an electrical and computer engineering student with a focus on embedded systems. I enjoy following a problem from the code to the circuit and back again. So far, that has taken me through wireless firmware, FreeRTOS projects, and PCB design.

Wolfgang Engineering · May–August 2026
Embedded Systems Engineering Intern. Embedded C, Zephyr RTOS, and Devicetree for hardware configuration.
University of Colorado Boulder · May 2027
B.S. in Electrical and Computer Engineering. Embedded systems focus, with coursework in PCB design and Embedded AI, including keyword spotting, dataset collection, and model compression for microcontrollers.

Graduating May 2027

Have an engineering role in mind?

I’d love to hear about opportunities in embedded firmware, hardware, or computer engineering.

Say hello on LinkedIn