Here are some of the latest videos from my YouTube channel!
Firmware set-up for I2S+DMA, ADC+DMA+Timer, basic codec driver, and double-buffering.
How op amps work, negative feedback, and how to design a simple discrete version yourself.
Real-time audio DSP from scratch! Intro, hardware/software set-up, and basic IIR filters.
Decimation filter theory, anti-aliasing filters, down-sampling, and real-time implementation.
Analogue and digital notch filter theory, as well as real-time software implementation.
Non-linear Kalman filter theory with considerations for practical implementation.
Theory and embedded implementation of a basic sensor fusion algorithm (complementary filter).
Introductory video to sensor fusion, covering the need for it, and a look at individual sensors (accelerometers and gyroscopes).
IIR (infinite impulse response) filter theory, digital filter properties, simple design examples, and implementation in real-time on an embedded system (STM32).
Starting from a sensor datasheet, how to write a driver for an STM32 microcontroller from scratch using the STM32 HAL.
How to design your own RP2040-based breakout board with castellated holes in Altium Designer.
Practical applications of the Z-transform used in digital signal processing. Stability analysis and frequency response of discrete-time systems. Theory, C code, and implementation on a real-world embedded system.
A collection of things you need to pay close attention to when routing PC boards with high-speed signals (e.g. USB3, HDMI, PCIe).
Inspired by Douglas Self, a completely overkill headphone amplifier design using LOTS of NE5532 op-amps.
Quick run-through of a 'miniature' (2cm diameter), size-constrained PCB design using Altium Designer.
Moving average filter theory (time domain, frequency domain, Z-transform, FIR, etc..) and software implementation on a real-time embedded system using an STM32 microcontroller and a barometric pressure sensor.
Modelling analog filters, discretisation, and implementation of the digitally-equivalent filters on a real-time, embedded system (STM32). Includes theory, DSP, firmware, and results.
FIR (Finite Impulse Response) filter theory, design, and software implementation. Real-time software implementation on a custom STM32-based PCB.
Sequel to 'STM32 Programming Tutorial' covering the basics of DMA (direct memory access) to offload the CPU, as well as an introduction to FreeRTOS on STM32.
How to debug and write firmware for a custom STM32-based PCB (incl. SPI, USB, PWM, etc.).
How to design a custom 10W solid-state power amplifier for audio (guitar, in particular). Explanation and derivation of a three-stage, analogue power amplifier using a single DC supply (+24V).
Entire step-by-step PCB design process going through the schematic, layout, and routing of a 'barebones' STM32F4-based PCB including USB and a buck converter in KiCAD. All the way from schematic creation, through to four-layer PCB layout and routing, as well as sending it off for manufacture and assembly via JLCPCB.
How to implement a PID controller in software using C, discussing theory and practical considerations. Demonstration of PID controller code using a custom flight simulator.
Demonstrating the initial design process of my open-source 'HADES' fixed-wing, flight control system.