Dr. Sam Macharia
Educator, Researcher, and Engineer
An educator, researcher, and engineer interested in mechatronics engineering, computing, science, and the philosophy of science.
About Dr. Sam Macharia
Focus
π¬ Research Contributions
Active spiralling of microtubules driven by kinesin motors
Novel spiral motion patterns in kinesin-driven microtubules and their implications for cellular organization
Published: August 31, 2025
Linking path and filament persistence lengths of microtubules gliding over kinesin
Quantitative analysis of the relationship between different persistence measures in microtubule-motor systems
Published: August 30, 2025
Effects of defective motors on biosensor performance
Comprehensive study of how motor protein defects impact the performance of molecular motor-powered biosensors
Published: August 29, 2025
Design and Calibration of a 3D-Printed Cup-Vane Wireless Sensor Node
Development of cost-effective wireless environmental sensing systems for IoT applications
Published: August 28, 2025
Practical Integration of IoT, Intercropping, and Gravity-Fed Drip Systems for Water-Efficient Smallholder Farming
Comprehensive study of IoT applications in precision agriculture for sustainable water management
Published: August 28, 2025
π Education Contributions
Four-Bar Linkage Experiments
Nine structured engineering experiments on the four-bar linkage mechanism. Covers Grashof condition, transmission angle, preset comparison, open/crossed circuits, coupler curves, parametric sensitivity, angular acceleration, mechanism failure modes, and ground offset effects. Includes Python analysis scripts and design questions.
Published: March 19, 2026
Crank-Slider Mechanism Experiments
Eight structured engineering experiments on the crank-slider mechanism. Covers quick-return, rod ratio effects, breaking mechanisms, dead center dynamics, force analysis, and parametric design. Includes Python analysis scripts and expected results.
Published: March 12, 2026
Mechanism Design and Simulation
Hands-on experiments with interactive mechanism simulators. Analyze crank-slider, four-bar linkage, Geneva, and other planar mechanisms through structured lab exercises with data collection, Python analysis, and engineering design insights.
Published: March 10, 2026
Edge Gateway for MCU Sensor Networks
Build a complete edge gateway on the Raspberry Pi Zero 2 W that receives MQTT data from ESP32 and Pico sensor nodes, stores readings in SQLite, serves a live web dashboard, captures USB webcam snapshots, and forwards data to the cloud. The capstone project that ties together all six embedded courses.
Published: March 12, 2026
Yocto Project and Production Images
Build a production-grade Linux image for the Raspberry Pi Zero 2 W using the Yocto Project with a custom BSP layer, application recipe, SDK generation, and OTA update preparation. Covers BitBake, layers, recipes, and reproducible builds
Published: March 12, 2026
System Services and Process Management
Build a systemd-managed sensor daemon with auto-start, hardware watchdog, structured logging, and IPC using Unix sockets on the Raspberry Pi Zero 2 W. Covers unit files, daemon design, shared memory, and PREEMPT_RT real-time scheduling
Published: March 7, 2026
Buildroot: Custom Linux from Scratch
Use Buildroot to create a minimal Linux image for the Raspberry Pi Zero 2 W that boots directly into your sensor application. Covers configuration, package selection, root filesystem overlays, and custom package recipes
Published: February 28, 2026
Linux Kernel Module Development
Write a custom Linux kernel module that registers a character device (/dev/mydevice) to control LED patterns on the Raspberry Pi Zero 2 W. Covers module skeleton, Makefile, sysfs attributes, procfs entries, and file operations
Published: February 21, 2026
Userspace I/O: GPIO, I2C, SPI
Build a GPIO doorbell monitor with I2C sensor logging using libgpiod and i2c-dev on the Raspberry Pi Zero 2 W. Covers character devices, ioctl, userspace driver patterns, and event-driven GPIO handling
Published: February 14, 2026
Device Trees and Hardware Description
Learn device tree syntax, write a custom overlay to enable a BME280 sensor over I2C, and compile it into a kernel-recognized device on the Raspberry Pi Zero 2 W. Covers DTS structure, property bindings, pinctrl, and overlay mechanics
Published: February 7, 2026
Kernel Configuration and Custom Build
Navigate the Linux kernel source tree, use menuconfig to strip unnecessary subsystems, and build a custom kernel that boots the Raspberry Pi Zero 2 W in under 4 seconds. Covers module vs built-in decisions, kernel image formats, and deployment to microSD
Published: January 31, 2026
Cross-Compilation and the Linux Boot Process
Set up a cross-compilation toolchain and trace the full Linux boot sequence on a Raspberry Pi Zero 2 W. Build a custom 'hello from custom Linux' binary that runs on first boot, covering bootloader, kernel, initramfs, and root filesystem stages
Published: January 24, 2026
Power Management, Watchdog, and Sleep Modes
Master ATmega328P low-power techniques including all six sleep modes, watchdog timer configuration, and BOD disable. Build a battery-powered door open alert that sleeps in power-down mode and wakes on a magnetic reed switch.
Published: March 12, 2026
ADC and Analog Signal Acquisition
Master the ATmega328P 10-bit ADC with register-level configuration. Build a light-tracking indicator using photoresistors that displays a real-time bar graph on an OLED, covering reference voltages, free-running mode, and noise reduction.
Published: March 5, 2026
I2C Bus and Sensor Integration
Implement the I2C (TWI) protocol on ATmega328P from register level. Build a mini weather station that reads temperature, humidity, and pressure from a BME280 sensor and displays the data on an OLED screen.
Published: February 26, 2026
SPI Protocol and Peripheral Interfacing
Master the ATmega328P SPI peripheral by writing an SSD1306 OLED driver from scratch. Display a real-time clock on a 128x64 OLED, covering clock polarity, phase, data framing, and display buffer management.
Published: February 19, 2026
UART Serial Communication
Implement UART from scratch on the ATmega328P using USART registers. Build a temperature logger that reads an NTC thermistor, formats CSV data, and streams it to a PC for plotting.
Published: February 12, 2026
Interrupts and Event-Driven Design
Learn ATmega328P external interrupts (INT0/INT1), pin-change interrupts, and timer interrupts. Build a reaction time tester that measures your response in milliseconds using ISR-driven timing.
Published: February 5, 2026
Timer/Counter Fundamentals
Explore ATmega328P Timer0, Timer1, and Timer2 in Normal, CTC, and PWM modes. Build a tunable tone generator that produces precise audio frequencies using timer compare match interrupts and a piezo buzzer.
Published: January 29, 2026
GPIO Registers and Digital I/O
Master ATmega328P GPIO registers (DDRx, PORTx, PINx) through direct bit manipulation. Build an electronic dice that displays a random pattern on LEDs when you press a button, with proper hardware debouncing.
Published: January 22, 2026
AVR Toolchain and Bare-Metal C Setup
Set up a complete AVR development environment with avr-gcc, avrdude, and Makefiles. Program an Arduino Nano directly in C without the Arduino IDE. Build a Morse code beacon that blinks your name on an LED.
Published: January 15, 2026
Capstone: Connected Sensor Network
Combine everything from the course into a two-node IoT system: an outdoor sensor with battery power, deep sleep, and MQTT publishing, plus an indoor display with an OLED screen, always-on MQTT subscription, and a live dashboard.
Published: March 12, 2026
Power Management and Deep Sleep
Master ESP32 deep sleep modes, ULP coprocessor programming, RTC memory persistence, wake sources, and power budgeting. Build a solar-ready weather node optimized for months of battery life.
Published: March 7, 2026
OTA Updates and Secure Boot
Configure OTA partition schemes, implement firmware rollback, enable flash encryption and secure boot v2, and sign firmware images. Build a remotely updateable sensor node that receives firmware over Wi-Fi.
Published: February 28, 2026
Bluetooth Low Energy (BLE)
Implement BLE on the ESP32 with GAP advertising, GATT services and characteristics, notifications, and BLE plus Wi-Fi coexistence. Build a BLE environmental beacon that any phone can read.
Published: February 21, 2026
MQTT and Cloud Communication
Implement MQTT on the ESP32 with QoS levels, TLS encryption, persistent sessions, and last will messages. Build a plant soil moisture monitor that sends alerts to your phone via a free MQTT broker.
Published: February 14, 2026
HTTP Server and REST API
Build an HTTP server with RESTful endpoints, JSON parsing, mDNS discovery, and a responsive web UI served from SPIFFS. Create a browser-controlled thermostat with real temperature sensor input and relay output.
Published: February 7, 2026
Wi-Fi and Network Configuration
Master the ESP32 Wi-Fi driver: STA, AP, and STA+AP modes, the event-driven model, SmartConfig provisioning, and scan capabilities. Build a Wi-Fi signal mapper that scans nearby access points and serves results as a webpage.
Published: January 31, 2026
GPIO, Peripherals, and Driver Framework
Explore the ESP32 GPIO matrix, LEDC PWM controller, pulse counter, RMT peripheral, and the ESP-IDF driver model. Build a capacitive touch lamp dimmer using the built-in touch sensor pins.
Published: January 24, 2026
ESP-IDF Toolchain and Dual-Core Architecture
Install ESP-IDF, configure menuconfig, understand partition tables, and explore the Xtensa dual-core FreeRTOS model. Build an RGB mood lamp where one core runs color animations and the other handles serial commands.
Published: January 17, 2026
Wireless Networking with Pico W
Use the CYW43 wireless driver for Wi-Fi and BLE connectivity. Set up network sockets, run a microdot web server, and build a Wi-Fi controlled NeoPixel display with a phone-friendly web UI.
Published: March 12, 2026
MicroPython on RP2040: Rapid Prototyping
Flash MicroPython firmware, use the REPL, access hardware through the machine module, write PIO programs in Python, and build C extension modules for performance-critical code. Rebuild a previous project and compare C versus Python.
Published: March 7, 2026
USB Device Classes
Use TinyUSB to implement HID, CDC, and MSC USB device classes on the RP2040. Build a custom USB gamepad with a joystick and buttons that appears as a standard HID controller on any PC.
Published: February 28, 2026
DMA and High-Speed Data Pipelines
Configure DMA channels with chaining, pacing timers, and ring buffer modes. Build an audio sampler that captures microphone input via ADC and DMA, then stores recordings to external SPI flash.
Published: February 21, 2026
Multicore Programming: Dual Core
Launch code on Core 1, communicate through hardware FIFOs, use spinlocks and shared memory safely. Build a dual-core tone synthesizer where one core generates waveforms and the other handles button input.
Published: February 14, 2026
PIO: Programmable I/O State Machines
Learn PIO assembly from scratch: the instruction set, state machine architecture, FIFOs, clock dividers, sideset, and custom protocol implementation. Build a WS2812B LED strip driver written entirely in PIO.
Published: February 7, 2026
GPIO, PWM, and Analog I/O
Explore RP2040 GPIO functions, PWM slice architecture, the 12-bit ADC with on-chip temperature sensor, and hardware interpolators. Build an LED brightness controller with analog knob and serial feedback.
Published: January 31, 2026
Pico SDK and RP2040 Architecture
Install the Pico C SDK, understand CMake build flow, dual Cortex-M0+ cores, bus fabric, and UF2 boot process. Build a USB text injector that types a predefined message when the Pico is plugged into any computer.
Published: January 24, 2026
Low-Power Modes and Production Firmware
Build a battery-powered data logger with RTC wakeup, SPI flash storage, and STM32 Stop/Standby modes. Learn low-power design, flash programming, option bytes, and bootloader basics for production firmware
Published: March 12, 2026
FreeRTOS Fundamentals on STM32
Learn FreeRTOS multitasking on the STM32 Blue Pill with tasks, queues, semaphores, and mutexes. Build a multitasking dashboard with sensor reading, display updates, and serial logging running as separate tasks
Published: March 5, 2026
Debugging with SWD, GDB, and Fault Handlers
Master STM32 debugging with SWD, GDB breakpoints, watchpoints, HardFault decoding, ITM trace, and register inspection. Find and fix five real bugs in pre-written firmware
Published: February 26, 2026
ADC with DMA and Analog Watchdog
Build a voltage and current monitor with threshold alerts using the STM32 ADC with multi-channel DMA scanning, oversampling, and the analog watchdog peripheral
Published: February 19, 2026
SPI and I2C: HAL vs Register Level
Connect an SSD1306 OLED and BME280 sensor to the STM32 Blue Pill. Write the same driver two ways, using HAL and bare registers, to compare code size, speed, and readability
Published: February 12, 2026
UART with DMA and Interrupts
Build an interactive command shell on the STM32 Blue Pill using USART with DMA transfers, NVIC interrupt priorities, circular buffers, and idle line detection. Control PWM, read pins, and dump registers over serial
Published: February 5, 2026
Timers, PWM, and Input Capture
Explore STM32 general-purpose and advanced timers to generate PWM, measure signals with input capture, and use the hardware encoder interface. Build a servo pan mechanism controlled by a rotary encoder
Published: January 29, 2026
GPIO and Clock Tree Configuration
Master the STM32 RCC clock tree, AHB/APB bus architecture, and all four GPIO modes. Build a rotary encoder menu system that outputs to a serial terminal using the Blue Pill board
Published: January 22, 2026
STM32 Toolchain and ARM Cortex-M Architecture
Set up the complete STM32 development toolchain with arm-gcc, OpenOCD, and STM32CubeMX. Explore the ARM Cortex-M3 architecture, vector table, startup code, and linker scripts while building a breathing LED on the Blue Pill board
Published: January 15, 2026
Capstone: Async Sensor Hub
Integrate everything from the course into a complete async sensor hub: BME280 readings, SSD1306 OLED display, microSD card logging, MQTT publishing over Wi-Fi, push buttons, and status LEDs, all running as concurrent Embassy tasks on the Pico W.
Published: March 12, 2026
Wi-Fi and Networking (Pico W)
Connect the Pico W to Wi-Fi using the cyw43 driver and embassy-net. Build a TCP client, perform HTTP requests, and create an MQTT sensor node that publishes BME280 readings with automatic reconnection.
Published: March 11, 2026
USB Device with embassy-usb
Build USB CDC and HID devices on the RP2040 using embassy-usb. Create a virtual serial port that reports sensor data and a USB keyboard that sends keystrokes from button presses, then combine them into a composite device.
Published: March 10, 2026
UART, DMA, and Ownership
Configure async UART with DMA on the RP2040, parse GPS NMEA sentences from a NEO-6M module, and see how Rust ownership prevents the buffer aliasing bugs that haunt C DMA code.
Published: March 9, 2026
I2C and SPI with embedded-hal
Use the embedded-hal trait system to write portable sensor and display drivers. Build a weather station on the RP2040 with a BME280 sensor and SSD1306 OLED, using async Embassy drivers that work across any MCU.
Published: March 8, 2026
Embassy Async Fundamentals
Learn Embassy, the async runtime for embedded Rust. Build a multi-task system with concurrent LED control, button handling, and serial reporting on the RP2040 Pico, all without an RTOS heap or per-task stacks.
Published: March 7, 2026
Timers, PWM, and Interrupts
Configure RP2040 timers and PWM slices to drive a servo motor. Handle interrupts safely in Rust using the critical-section crate and static Mutex pattern. Read analog inputs with the ADC and generate buzzer tones with timer-based frequency control.
Published: March 6, 2026
Ownership, Borrowing, and Hardware
Learn how Rust's ownership model maps to embedded hardware. Typestate GPIO prevents misconfigured pins at compile time. Button debouncing with owned state, Result-based error handling, and safe shared resources with Mutex and critical sections on the RP2040.
Published: March 5, 2026
Rust Toolchain and First Blink
Install the complete embedded Rust toolchain with rustup, probe-rs, and flip-link. Create an RP2040 project from scratch, configure Cargo.toml, memory.x, and the linker. Build and flash a blinking LED with defmt RTT logging on the Raspberry Pi Pico.
Published: March 4, 2026
Zephyr RTOS Introduction
Port the traffic light controller from Lesson 2 to Zephyr RTOS. Learn the Zephyr build system (west), devicetree hardware abstraction, Kconfig configuration, threading model, and cross-RTOS portability patterns.
Published: March 12, 2026
Debugging and Profiling RTOS Applications
Diagnose real RTOS bugs using Tracealyzer and SEGGER SystemView. Work through provided buggy firmware containing deadlock, priority inversion, and stack overflow, then fix each issue using profiling tools and runtime diagnostics.
Published: March 7, 2026
Software Timers and Interrupt Management
Build a debounced multi-button input system with deferred interrupt processing. Learn FreeRTOS software timers, ISR-safe API calls, critical sections, interrupt nesting, and the timer service task architecture.
Published: February 28, 2026
Memory Management and Safety
Build a memory-safe command processor using static allocation, stack watermarking, and MPU fault demonstration. Learn FreeRTOS heap schemes (heap_1 through heap_5), memory pools, stack overflow detection, and memory protection unit configuration.
Published: February 21, 2026
Semaphores, Mutexes, and Synchronization
Build a multi-sensor I2C coordinator where three sensor tasks share one I2C bus using mutex-protected access. Learn binary and counting semaphores, priority inheritance, deadlock avoidance, and priority inversion with practical demonstrations.
Published: February 14, 2026
Queues and Inter-Task Communication
Build a sensor data pipeline using FreeRTOS queues: a producer task reads ADC values, a filter task smooths the data, and a consumer task displays results on an OLED. Learn message queues, stream buffers, event groups, and producer-consumer patterns.
Published: February 7, 2026
Tasks, Scheduling, and Context Switching
Build a priority-based traffic light controller with three FreeRTOS tasks: light sequencing, pedestrian button handling, and emergency override. Learn task states, preemptive scheduling, time slicing, and context switch overhead.
Published: January 31, 2026
Real-Time Systems Concepts
Understand hard, soft, and firm real-time systems by measuring jitter on bare-metal loops versus FreeRTOS tasks. Learn determinism, worst-case execution time (WCET), and rate-monotonic scheduling theory with hands-on timing measurements.
Published: January 24, 2026
Sensors and Signal Conditioning
Build complete analog signal conditioning chains for real-world sensors. Learn thermistor, LDR, and strain gauge circuits. Understand the Wheatstone bridge, instrumentation amplifier, and how to prepare sensor signals for MCU ADC input.
Published: March 10, 2026
Oscillators and Timing Circuits
Build oscillator and timing circuits using the 555 timer IC. Learn astable and monostable modes, calculate frequency and duty cycle, understand crystal oscillators, and drive a buzzer at a precise frequency.
Published: March 9, 2026
Filters and Frequency Response
Design low-pass, high-pass, and band-pass filters using RC circuits. Calculate cutoff frequencies, understand Bode plots, and build an anti-aliasing filter for ADC inputs. Learn first-order and second-order filter behavior.
Published: March 8, 2026
Power Supply Design
Design reliable power supplies for microcontroller projects. Compare linear and switching regulators, understand LDO dropout voltage, calculate ripple and decoupling requirements. Build a 3.3V regulated supply from a 9V battery.
Published: March 7, 2026
Operational Amplifiers
Master op-amp configurations: inverting, non-inverting, buffer, comparator, and differential amplifier. Build a signal conditioning circuit that amplifies a thermistor signal for ADC input on a microcontroller.
Published: March 6, 2026
Transistors as Switches and Amplifiers
Learn how BJT and MOSFET transistors work as switches and amplifiers. Drive motors, relays, and high-power LEDs from low-current MCU GPIO pins. Understand saturation, cutoff, and the active region.
Published: March 5, 2026
Diodes, Rectifiers, and Protection Circuits
Understand diode operation, forward and reverse bias, rectifier circuits, Zener voltage regulation, and flyback protection. Build a half-wave rectifier and test flyback diode protection on a relay circuit.
Published: March 4, 2026
Capacitors, Inductors, and RC/RL Circuits
Understand capacitors and inductors as energy storage elements. Learn time constants, charging and discharging curves, and RC/RL circuit behavior. Build an RC filter on a breadboard and measure the time constant.
Published: March 3, 2026
Voltage, Current, and Resistance
Learn the three fundamental quantities of electronics: voltage, current, and resistance. Master Ohm's law, Kirchhoff's laws, power dissipation, and series/parallel resistor networks. Build voltage dividers and LED circuits on a breadboard.
Published: March 2, 2026
Introduction to Microcontroller Architecture
Explore Von Neumann and Harvard architectures, the CPU pipeline, ALU, registers, stack, program counter, and interrupt vector table. Trace what happens when you write int x = 5 down to the assembly level. Understand why GPIO registers live at specific memory addresses.
Published: March 10, 2026
ADC and DAC Fundamentals
Understand successive approximation ADC, resolution, quantization error, and the Nyquist sampling theorem. Explore R-2R ladder DACs and PWM as a pseudo-DAC. Learn what happens inside the 12-bit ADC of your STM32 when it converts an analog voltage.
Published: March 8, 2026
Bus Architecture and Communication Interfaces
Understand SPI, I2C, and UART at the signal level. See clock polarity, data framing, acknowledge bits, and baud rates. Learn the difference between parallel and serial buses and how each protocol works at the wire level.
Published: March 7, 2026
Memory: SRAM, Flash, EEPROM
Understand how SRAM cells store your variables, how Flash uses floating gates to hold your program, and how EEPROM provides byte-level non-volatile storage. Explore address buses, data buses, read/write cycles, and memory maps.
Published: March 6, 2026
Counters, Timers, and Frequency Dividers
Build ripple counters, synchronous counters, up/down counters, and frequency dividers with 74HC series ICs. See how the timer/counter peripherals inside every microcontroller work at the gate level.
Published: March 5, 2026
Flip-Flops, Latches, and Registers
Build SR latches, D flip-flops, JK flip-flops, shift registers, and parallel load registers. Drive 8 LEDs from 3 MCU pins using the 74HC595 shift register. Understand how SPI and serial communication work at the hardware level.
Published: March 4, 2026
Combinational Logic: Multiplexers, Decoders, Adders
Build multiplexers, demultiplexers, decoders, encoders, and binary adders from logic gates. Understand how these circuits form the foundation of address decoding, data routing, and arithmetic inside every microcontroller.
Published: March 3, 2026
Logic Gates and Boolean Algebra
Build AND, OR, NOT, NAND, NOR, and XOR circuits with 74HC series ICs on a breadboard. Verify truth tables with LEDs. Apply De Morgan's theorems and simplify Boolean expressions. See how bitwise C operators map directly to physical gates.
Published: March 2, 2026
Binary, Hex, and Number Systems
Learn binary counting, hexadecimal notation, BCD, and two's complement signed integers. Convert between number bases and read MCU register values in hex. Understand what each bit means when you write to a GPIO register.
Published: March 1, 2026
Alerts, Automation, and Rule Engines
Configure threshold alerts that notify via email, SMS, Discord, Slack, and Telegram. Build automation flows with Node-RED that trigger actions based on sensor data. Compare self-hosted rule engines with the SiliconWit.io alert system.
Published: March 10, 2026
Device Security, TLS, and Provisioning
Generate and deploy X.509 certificates for mutual TLS authentication. Implement device identity and provisioning workflows. Secure firmware updates with signed images. Audit your IoT deployment against common attack vectors.
Published: March 10, 2026
IoT Architecture and Protocol Comparison
Survey IoT system architectures and compare MQTT, CoAP, and HTTP side by side. Send the same BME280 sensor data over all three protocols from an ESP32 and measure bandwidth, latency, and power consumption to make informed protocol choices.
Published: March 10, 2026
MQTT Broker Setup and Secure Connections
Install and configure a Mosquitto MQTT broker with TLS encryption, password authentication, and topic ACLs. Connect to both a self-hosted broker and the SiliconWit.io platform. Understand retained messages, last will, QoS levels, and persistence.
Published: March 10, 2026
MQTT Clients on ESP32, Pico, and STM32
Write MQTT client firmware for three MCU platforms: ESP32 with ESP-IDF, RPi Pico W with MicroPython, and STM32 with an ESP-01 Wi-Fi module. Design a consistent topic hierarchy, publish structured JSON payloads, handle reconnection with exponential backoff, and buffer messages when offline.
Published: March 10, 2026
Capstone: Production IoT Monitoring System
Combine everything from the IoT Systems course into a production deployment: multiple sensor nodes, TLS-secured MQTT broker, time-series database, Grafana dashboards, automated alerts, a REST API, and cloud forwarding to SiliconWit.io.
Published: March 10, 2026
Real-Time Dashboards and Data Visualization
Store MQTT sensor data in InfluxDB via Telegraf, build Grafana dashboards with live charts and gauges, explore the SiliconWit.io dashboard as a managed alternative, query historical data with Flux, and create lightweight Chart.js dashboards for embedded gateways.
Published: March 10, 2026
REST APIs, Webhooks, and Device Integration
Design RESTful APIs for IoT device management and data retrieval. Build webhook endpoints that receive push notifications, validate HMAC signatures, and integrate REST with MQTT for a complete IoT data pipeline.
Published: March 10, 2026
Lesson 2: Forward and Inverse Kinematics
Compute end-effector positions from joint angles and solve inverse kinematics for robotic welding, assembly, and precision positioning
Published: March 10, 2026
Lesson 3: Orientation and Quaternions
Represent 3D orientations using quaternions for smooth robotic motion, avoiding gimbal lock with SLERP interpolation and rotation composition
Published: March 10, 2026
Lesson 1: Robot Arm Geometry and Configuration
Analyze robot arm link design, joint types, workspace boundaries, and common configurations including SCARA, articulated, and delta robots
Published: March 10, 2026
Lesson 6: Robot Simulation and Practical Applications
Build Python robot simulations with real-time visualization and apply robotics across manufacturing, medical, logistics, and agricultural domains
Published: March 10, 2026
Lesson 5: Trajectory Planning and Motion Control
Plan smooth robot trajectories using polynomial interpolation, splines, and velocity profiles for pick-and-place and path following tasks
Published: March 10, 2026
Lesson 4: Velocity Kinematics and the Jacobian
Derive and apply the Jacobian matrix for velocity mapping, singularity detection, and manipulability analysis in collaborative robots
Published: March 10, 2026
Capstone: Multi-Sensor Data Logger
Build a complete environmental monitoring station combining BME280, OLED display, SD card logging, Bluetooth streaming, alarm outputs, and a state machine UI on the STM32 Blue Pill
Published: March 10, 2026
DMA, Interrupts, and CAN Bus
Use DMA for zero-copy ADC streaming and SPI transfers, configure interrupt priorities, and build a two-node CAN bus sensor network using the STM32F103 built-in bxCAN peripheral with MCP2551 transceivers
Published: March 9, 2026
Stepper Motors and Encoder Feedback
Drive a NEMA 17 stepper motor with the A4988 driver using timer-generated step pulses and trapezoidal acceleration profiles on the STM32 Blue Pill. Read a rotary encoder in hardware encoder mode, implement homing with limit switches, and build a precision linear positioning stage.
Published: March 8, 2026
RFID, NFC, and Identification Systems
Interface the RC522 RFID reader over SPI, read and write MIFARE Classic 1K cards, build an access control state machine with OLED display and audio/visual feedback on the STM32 Blue Pill. Store authorized card UIDs in flash memory and manage cards with a master card.
Published: March 7, 2026
UART Devices: GPS, Bluetooth, and RS-485
Parse GPS coordinates from NMEA sentences, relay position data over Bluetooth to a phone, and communicate over long distances with RS-485. Use DMA with idle line detection for robust UART reception on the STM32 Blue Pill
Published: March 6, 2026
SPI Protocol: Storage and Displays
Interface an ST7735 color TFT display and microSD card on the same SPI bus. Build a portable data logger that displays real-time charts and writes CSV data to an SD card using FatFS on the STM32 Blue Pill
Published: March 5, 2026
I2C Protocol: Sensors and Displays
Master I2C communication on the STM32 Blue Pill. Read temperature, humidity, and pressure from a BME280, drive an SSD1306 OLED display, store data in AT24C256 EEPROM, and build a weather station with logging and history recall.
Published: March 4, 2026
PWM, Timers, and Motor Control
Generate PWM signals with STM32 hardware timers for servo positioning, DC motor speed control via L298N H-bridge, and audio tone generation. Use input capture to measure external signal frequency and build a potentiometer-controlled pan-tilt mount.
Published: March 3, 2026
ADC and Analog Signal Conditioning
Configure the STM32 12-bit ADC with single, continuous, and scan modes. Add signal conditioning circuits and build a multi-channel environmental monitor with LED bar graph
Published: March 2, 2026
GPIO and Digital Interfacing
Set up STM32CubeIDE, configure GPIO inputs and outputs with the HAL, and build an ultrasonic proximity alarm with relay trigger on the Blue Pill
Published: March 1, 2026
Feedback and Control Systems
Measure the output, compare to the desired value, adjust the input. That is feedback. This lesson covers PID control from intuition to implementation.
Published: March 9, 2026
Numerical Methods: Math in Code
Computers do arithmetic, not calculus. Learn root finding, numerical integration, interpolation, curve fitting, and the Runge-Kutta ODE solver.
Published: March 8, 2026
Fourier Analysis and the Frequency Domain
Any signal can be decomposed into sine waves. This lesson teaches you to see signals in the frequency domain, understand the FFT, and avoid aliasing.
Published: March 7, 2026
Differential Equations and Real Systems
A differential equation says the rate of change depends on the current value. RC circuits, spring-mass systems, and cooling all follow this pattern.
Published: March 6, 2026
Probability, Statistics, and Noise
Every sensor reading has noise. Learn to quantify uncertainty, filter signals, detect outliers, and express measurements with proper confidence intervals.
Published: March 5, 2026
Complex Numbers and Phasors
Complex numbers describe rotation, not imaginary things. Euler formula, phasors, impedance, and AC circuit analysis.
Published: March 4, 2026
Linear Algebra: Vectors, Matrices, and Transforms
The language of engineering: how vectors and matrices describe forces, rotations, and systems of equations.
Published: March 3, 2026
Calculus for Engineers
The parts of calculus engineers actually use: derivatives, integrals, Taylor series, and the chain rule in real systems.
Published: March 2, 2026
Spherical Cows and the Art of Model Building
Why all models are wrong, some are useful, and how to build the right one for your problem.
Published: March 1, 2026
Making Better Engineering Decisions
Learn practical decision-making tools for engineers: decision matrices, trade-off analysis, premortems, checklists, and frameworks for knowing when a decision is reversible. Includes lessons from NASA on what happens when decision-making breaks down.
Published: March 9, 2026
Debugging as Scientific Reasoning
Treat debugging as the scientific method applied to code and hardware. Learn hypothesis-driven debugging, binary search techniques, and how to avoid common reasoning traps that waste hours.
Published: March 8, 2026
Correlation, Causation, and Evidence
Learn to distinguish correlation from causation, recognize confounding variables, understand controlled experiments, and evaluate the strength of evidence. Stop confusing 'it happened after' with 'it happened because of.'
Published: March 7, 2026
Estimation, Uncertainty, and Confidence
Learn Fermi estimation, error propagation, significant figures, and confidence intervals. Build the habit of asking 'how sure are you?' about every number you encounter in engineering.
Published: March 6, 2026
How to Lie with Charts and Data
Learn how data visualizations can mislead through truncated axes, cherry-picked time windows, misleading scales, 3D pie charts, dual y-axes, pictogram abuse, and Simpson's paradox. Then learn how to present your own data honestly and clearly.
Published: March 5, 2026
Statistics Done Wrong
Common statistical errors that engineers and researchers make when interpreting test results, experimental data, and research papers. P-value misinterpretation, p-hacking, small sample sizes, overfitting, confounding variables, base rate neglect, and the multiple comparisons problem.
Published: March 4, 2026
Cognitive Biases in Engineering Decisions
Explore the cognitive biases that most commonly affect engineering decisions. Confirmation bias, survivorship bias, sunk cost fallacy, Dunning-Kruger effect, hindsight bias, bandwagon effect, anchoring, and availability heuristic, each illustrated with real engineering examples including NASA case studies.
Published: March 3, 2026
Logical Fallacies in Technical Arguments
A field guide to the logical fallacies that show up most often in engineering contexts. Each fallacy includes a definition, an engineering example, and a practical countermeasure. Drawn from Bennett's Logically Fallacious and adapted for code reviews, design meetings, and technical debates.
Published: March 2, 2026
How Your Brain Tricks You
Explore System 1 and System 2 thinking from Daniel Kahneman's research. Learn when engineering intuition helps, when it misleads, and how anchoring, availability heuristic, and substitution affect debugging, estimation, and technical decisions.
Published: March 1, 2026
Edge-Cloud Hybrid Architectures
Cover tiered inference, cloud-assisted retraining, OTA model updates, and federated learning concepts. Build a complete system where an ESP32 runs local anomaly detection, escalates uncertain cases to a cloud server for a more powerful model, receives retrained models via OTA, and reports status to an MQTT dashboard.
Published: March 9, 2026
Camera Image Classification on ESP32
Deploy a MobileNet-based image classifier on an ESP32-CAM module with OV2640 camera and PSRAM. Capture images, preprocess them on device, run TFLite Micro inference, and classify objects or detect people in real time within the ESP32's tight memory budget.
Published: March 8, 2026
Anomaly Detection for Predictive Maintenance
Train an autoencoder on normal vibration data from an MPU6050 mounted on a motor, deploy it on an ESP32, and detect mechanical anomalies in real time. Compare edge inference with cloud-based anomaly scoring for latency, bandwidth, and reliability.
Published: March 7, 2026
Accelerometer Gesture Recognition
Collect labeled gesture data from an MPU6050 accelerometer, train a TensorFlow classifier, and deploy it on both RPi Pico and STM32 using TensorFlow Lite Micro. Compare inference performance across platforms with LED feedback and MQTT publishing.
Published: March 6, 2026
Keyword Spotting and Voice Wake Word
Build a Hey Device wake word detector using an ESP32 and INMP441 I2S MEMS microphone. Capture audio with the I2S driver, extract MFCC features on device, train a keyword model on the Speech Commands dataset, and run real-time inference to trigger actions on detection.
Published: March 5, 2026
Model Quantization and Optimization for MCUs
Apply post-training quantization and quantization-aware training to a CNN model. Compare float32 vs int8 accuracy, inference speed, flash size, and RAM usage on ESP32. Learn model pruning basics and best practices for deploying optimized models on microcontrollers.
Published: March 4, 2026
TensorFlow Lite Micro Model Deployment
Deep dive into the TFLite Micro runtime architecture. Train a gesture classifier in TensorFlow, convert it to TFLite Micro, and deploy it on both ESP32 and STM32. Compare inference time, RAM usage, and porting considerations across platforms.
Published: March 3, 2026
Edge Impulse Data Collection and Training
Collect accelerometer data from an MPU6050 on ESP32, upload it to Edge Impulse, train a motion classifier for idle, walking, and running activities, and deploy the quantized model back to the ESP32 for real-time inference.
Published: March 2, 2026
TinyML and Machine Learning on Microcontrollers
Understand the TinyML landscape, hardware constraints, and the full ML pipeline from TensorFlow training to on-device inference. Deploy a sine wave regression model on an ESP32 using TensorFlow Lite for Microcontrollers.
Published: March 1, 2026
From Training to Deployment
Deploy ML models three ways: as a Python script, as a Flask REST API, and as C arrays for microcontrollers. Learn model monitoring, data drift detection, and the complete ML lifecycle from training to production retraining.
Published: March 9, 2026
Working with Real Sensor Data
Handle the messiness of real-world sensor data: missing values, outliers, drift, and noise. Engineer features like rolling averages, rate of change, and FFT peaks. Build a predictive maintenance model that detects pump failures 24 hours early.
Published: March 8, 2026
Practical ML with Scikit-Learn
Master the complete ML workflow using Scikit-Learn: data loading, preprocessing pipelines, cross-validation, hyperparameter tuning with GridSearchCV, model comparison, and persistence. Build a reusable template for any ML project.
Published: March 7, 2026
Neural Networks from Scratch
Build a neural network in pure NumPy. Understand forward passes, backpropagation, and training loops by implementing every step yourself. Solve the XOR problem and classify sensor readings into normal, warning, and critical states.
Published: March 6, 2026
How Models Learn: Gradient Descent
Implement gradient descent from scratch in NumPy. Understand loss functions, gradients, learning rate, and why gradient descent is the engine behind all modern machine learning. Complete, runnable Python code.
Published: March 5, 2026
Decision Trees and Random Forests
Predict equipment failure from vibration, temperature, and operating hours using decision trees and random forests. Visualize tree rules, interpret feature importance, and compare single trees to ensemble methods.
Published: March 4, 2026
Classification: Yes or No Decisions
Detect defective sensor boards from test measurements using logistic regression. Learn confusion matrices, precision, recall, ROC curves, and how to handle imbalanced classes with complete, runnable Python code.
Published: March 3, 2026
Linear Regression and Prediction
Predict indoor temperature from sensor data using scikit-learn. Build the full ML pipeline: synthetic data generation, feature scaling, train/test split, evaluation metrics (MSE, MAE, R-squared), and residual analysis.
Published: March 2, 2026
What Machine Learning Actually Is
Machine learning is curve fitting, generalized. Start with np.polyfit, see overfitting with your own eyes, learn the train/test split, and understand the bias-variance tradeoff with complete, runnable Python code.
Published: March 1, 2026
System Identification from Measured Data
Fit mathematical models to measured step response data using least squares estimation. Build a black-box model fitter that extracts transfer function parameters from noisy experimental data.
Published: March 9, 2026
Monte Carlo Methods for Engineering Decisions
Use random sampling to analyze tolerance stackups, predict manufacturing yield, and make quantitative engineering decisions when analytical solutions are impossible.
Published: March 8, 2026
Simulating Signal Processing Pipelines
Design digital filters in Python, remove noise from sensor data, and export filter coefficients for embedded implementation. Build a noise filter designer with time-domain and frequency-domain analysis.
Published: March 7, 2026
Sensor Fusion and State Estimation
Combine noisy accelerometer and drifting gyroscope data into accurate orientation estimates using complementary and Kalman filters. Build an IMU orientation estimator in Python.
Published: March 6, 2026
Control System Design in Simulation
Model a DC motor with inertia, friction, and back-EMF. Design and tune a PID controller in Python. Analyze overshoot, settling time, and steady-state error, then paste the gains into firmware.
Published: March 5, 2026
Thermal Modeling for Electronics
Build thermal resistance networks for electronic components. Simulate transient heat-up, size heatsinks, and determine whether your chip stays within its safe operating temperature.
Published: March 4, 2026
Mechanical System Dynamics
Model a spring-mass-damper system in Python. Sweep damping ratios, generate phase portraits, and build a suspension tuner that finds the optimal damping for minimum settling time.
Published: March 3, 2026
Simulating Electrical Circuits
Build RC and RLC circuit simulators in Python. Generate step responses, verify time constants, sweep frequency for Bode plots, and compare results to oscilloscope measurements.
Published: March 2, 2026
From Equations to Simulations
Set up the Python simulation workflow with SciPy solve_ivp. Model a lithium cell discharge curve and predict battery runtime under a realistic load profile.
Published: March 1, 2026
Thinking Like a Scientist-Engineer
Synthesize scientific rigor with engineering pragmatism. Learn when to be precise, when to be fast, and how to build a personal practice that combines the best of both disciplines.
Published: March 9, 2026
Technology, Society, and Unintended Consequences
Examine how every technology produces effects beyond its intended purpose, from the automobile's reshaping of cities to social media's transformation of public discourse.
Published: March 8, 2026
Ethics and Responsibility in Engineering
Examine the moral obligations that come with engineering decisions, through real case studies of catastrophic failures and the professional frameworks designed to prevent them.
Published: March 7, 2026
Uncertainty and the Limits of Knowledge
Explore what engineers can know precisely, what remains fundamentally uncertain, and how to design responsibly when complete knowledge is impossible.
Published: March 6, 2026
Models, Maps, and Reality
All models are wrong, but some are useful. When SPICE simulations succeed, when financial models catastrophically fail, and how to use engineering models wisely by knowing their assumptions, testing their boundaries, and validating against reality.
Published: March 5, 2026
Paradigm Shifts: How Engineering Knowledge Evolves
Kuhn's model of scientific revolutions applied to engineering: vacuum tubes to transistors, CISC to RISC, C to Rust. Why paradigm shifts are resisted, how to recognize them, and what Lakatos adds about progressive vs degenerating research programs.
Published: March 4, 2026
Falsifiability: Testing to Fail
Popper's key insight applied to engineering: the goal of testing is to discover how your design fails, not to confirm it works. Confirmation bias, negative testing, the Challenger disaster, and test-driven development as institutionalized falsification.
Published: March 3, 2026
The Scientific Method in Engineering Practice
The textbook scientific method versus the messy reality. Debugging is hypothesis testing, design reviews are peer review, test plans are experiments. Case study: Edison's systematic approach to invention.
Published: March 2, 2026
What Makes Something Scientific?
The demarcation problem: how do you tell science from non-science? Popper's falsifiability criterion, pseudoscience red flags, and the cold fusion story. Learn to evaluate engineering claims, datasheets, and research papers critically.
Published: March 1, 2026
Code-Based CAD in Action
See what code-based CAD can do: 8 complete CadQuery examples that produce colorful 3D models, from parametric Lego bricks to planetary gear sets, each showing what becomes possible when your CAD model is a Python script
Published: March 5, 2026
Custom Enclosure from PCB Data
Parse KiCad PCB files to auto-generate enclosures with standoffs, port cutouts, ventilation patterns, snap-fits, and lids, all driven by real board data with CadQuery
Published: March 4, 2026
FEA-Driven Structural Optimization
Close the loop between CadQuery geometry and FreeCAD FEM to optimize a parametric bracket through automated parameter sweeps and Pareto front analysis
Published: March 4, 2026
Heat Sink Design & Thermal Optimization
Model thermal resistance from junction to ambient, compare straight, pin-fin, and radial fin geometries, sweep parameters, and generate optimized heat sinks with CadQuery and matplotlib
Published: March 4, 2026
Involute Gear Systems
Generate mathematically-perfect involute spur gears, meshing pairs, and a complete gear train with housing using CadQuery, from parametric equations to 3D-printable assemblies
Published: March 4, 2026
Lattice Structures & TPMS for Additive Manufacturing
Generate strut-based lattices and triply periodic minimal surfaces with CadQuery for lightweight additive manufacturing parts
Published: March 4, 2026
Parametric Hardware Library from Engineering Standards
Build a reusable library of ISO-standard fasteners (hex bolts, socket cap screws, nuts, and washers) generated from standards tables using CadQuery and Python
Published: March 4, 2026
Spring Design with Engineering Stress Verification
Design compression, extension, and torsion springs from load requirements using CadQuery with Wahl correction and Goodman fatigue analysis
Published: March 4, 2026
ATmega328P Breakout Board: Through-Hole PCB from Scratch
Design your first PCB in KiCad 9: a minimal ATmega328P breakout board with ISP header, crystal oscillator, power LED, and pin headers. Covers project setup, schematic capture, PCB layout, home etching, and blink firmware
Published: March 5, 2026
ATmega328P Sensor Shield: SMD Components and CNC Milling
Design an SMD sensor shield with ATmega328P TQFP-32, I2C temperature/humidity sensor, SPI light sensor, and double-sided PCB layout. Learn SMD footprints, fine-pitch soldering, and CNC milling for PCB fabrication in KiCad 9
Published: March 5, 2026
Code-Based PCB Design with KiCad Scripting
Recreate the ATmega328P breakout board from Lesson 1 using Python and KiCad's scripting API. Introduction to SKiDL for programmatic netlists, parametric footprints, automated DRC, and the future of code-driven electronics design
Published: March 5, 2026
ESP32 Battery-Powered IoT Sensor Node
Design a battery-powered ESP32-C3 IoT sensor node with TP4056 lithium charging, solar panel input, BME280 environmental sensor, and deep sleep optimization. Power-aware PCB layout for months of battery life
Published: March 5, 2026
ESP32 WiFi/Bluetooth DevKit: RF-Aware PCB Design
Design an ESP32-WROOM-32 development board with USB-UART bridge, antenna keepout zone, auto-reset programming circuit, and RF-aware PCB layout. Learn wireless PCB design considerations in KiCad 9
Published: March 5, 2026
Motor Driver and Sensor Integration Board
Design a mixed-signal board combining a DRV8833 dual H-bridge motor driver, MPU6050 IMU, current sensing resistors, and screw terminals. Learn thermal management, power and signal separation, and protection circuits in KiCad 9
Published: March 5, 2026
RP2040 USB-C Development Board: Dual-Core ARM with PIO
Design an RP2040 development board with external QSPI flash, USB-C, PIO breakout headers, RGB LED, and 4-layer PCB. Learn QFN package layout, high-speed QSPI routing, and the RP2040 minimal circuit in KiCad 9
Published: March 5, 2026
STM32 USB-C Four-Layer PCB: Black Pill Style Board
Design a Black Pill style STM32F411CEU6 board with USB-C connector, LDO regulation, and 4-layer stackup. Learn power and ground plane design, via stitching, impedance-aware USB routing, and advanced KiCad 9 layout techniques
Published: March 5, 2026
STM32 USB Development Board: Blue Pill Style PCB
Design a Blue Pill style STM32F103C8T6 development board with USB, SWD debug header, crystal oscillator, and 3.3V regulation. First professional fab house order with Gerber, BOM, and pick-and-place file generation for JLCPCB
Published: March 5, 2026
Cam and Follower Mechanism
Design a cam and follower mechanism for programmed motion control with rise-dwell-return profiles in FreeCAD
Published: December 17, 2025
Four-Bar Linkage Mechanism Design
Master parametric design by creating a four-bar linkage mechanism with spreadsheet-driven parameters in FreeCAD
Published: December 17, 2025
Geneva Mechanism
Design a Geneva mechanism for precise intermittent motion and indexing with parametric slot control in FreeCAD
Published: December 17, 2025
Pantograph Mechanism
Design a pantograph mechanism for motion scaling and copying with ratio-driven parametric control in FreeCAD
Published: December 17, 2025
Python Scripting for Advanced CAD Design
Introduction to Python scripting in FreeCAD. Learn the basics, generate an involute gear, and discover how code-based design extends into full parametric engineering workflows
Published: December 17, 2025
Scissor Lift Mechanism Design
Design a parametric scissor lift mechanism with repeating geometry and scalable stages in FreeCAD
Published: December 17, 2025
Scotch Yoke Mechanism
Design a Scotch yoke mechanism for sinusoidal motion conversion with parametric stroke control in FreeCAD
Published: December 17, 2025
Slider Crank Mechanism Design
Learn parametric CAD modeling by designing a complete slider crank mechanism in FreeCAD from scratch
Published: December 17, 2025
Toggle Clamp Mechanism Design
Design an over-center toggle clamp mechanism with mechanical advantage and self-locking behavior in FreeCAD
Published: December 17, 2025
Lesson 2.3: Beam Deflections and Stiffness Analysis
Master beam deflection analysis for precision engineering applications including PCBs, medical imaging C-arms, and CNC machine gantry rails
Published: November 23, 2025
Practical Laboratory Experiments: Structural Analysis with Python and FreeCAD
Hands-on laboratory series combining analytical methods, Python programming, and FreeCAD FEM analysis for real-world engineering applications in robotics, 3D printing, and aerospace structures
Published: November 1, 2025
Lesson 2.2: Bending Stresses in Simple Beams
Master bending stress analysis in engineering beams through real-world applications including electric train pantographs, crane jibs, and 3D printer gantry rails
Published: October 17, 2025
Lesson 2.1: Shear Force and Bending Moment in Beams
Master shear force and bending moment analysis for industrial beam structures including robotic arms, conveyor systems, and solar trackers through practical engineering applications
Published: September 21, 2025
Lesson 2.4: Combined Bending and Torsion Loading
Master combined stress analysis through real-world applications including drone arms, wind turbine shafts, and robotic grippers experiencing simultaneous bending and torsional loads
Published: September 19, 2025
Lesson 2.5: Composite and Built-up Beam Systems
Analyzing bending stresses in hybrid CNC machine beds with aluminum-steel composite construction
Published: September 18, 2025
Lesson 1.3: Compound Bars in Multi-Material Systems
Analyzing linear actuator rods with steel-aluminum segments to understand load sharing and deformation compatibility
Published: September 18, 2025
Lesson 1.4: Thermal Stresses and Strains
Master thermal stress analysis for heated mechanical systems. Learn thermal expansion calculations, stress development in constrained components, and thermal design for mechatronic applications.
Published: September 18, 2025
Lesson 1.5: Torsion of Circular Shafts
Analyzing torsional stresses and angular deformation in Geneva mechanism crankshafts and rotating mechatronic systems
Published: September 17, 2025
Lesson 2.6: Principal Stresses and Failure Criteria Analysis
Applying Mohr's circle analysis for critical stress evaluation in mechatronic joint design and failure prediction
Published: September 17, 2025
Lesson 1.1: Introduction to Mechanics of Materials in Mechatronics
Understanding stress, strain, and material properties through the analysis of a crank-slider connecting rod system
Published: September 16, 2025
Lesson 1.2: Simple Stress and Strain in Actuator Systems
Analyzing axial stress and strain in CNC actuator shafts, including material selection for precision positioning
Published: September 16, 2025
Chapter 2 Assignments: Structural Analysis in Mechatronic Systems
Comprehensive assignments covering shear force, bending moment, stress analysis, deflections, combined loading, composite beams, and failure analysis in mechatronic applications
Published: September 16, 2025
Lesson 1.6: Thin-Walled Pressure Vessels
Learn pressure vessel stress analysis for pneumatic actuators and mechatronic systems. Master hoop stress, longitudinal stress, and wall thickness design calculations with practical examples.
Published: September 16, 2025
Lesson 3: 3D Rotation Matrices and Spatial Transformations
3D rotation matrices, Euler angles, arbitrary axis rotations (decomposition and Rodrigues methods), and homogeneous transformations for robotics and aerospace applications
Published: November 21, 2025
Lesson 2: Planar Transformations and Mathematical Foundations
Master 2D robot kinematics through complex number mathematics for SCARA robot PCB assembly programming
Published: September 26, 2025
Lesson 5: Advanced Spatial Mechanisms Analysis
Complex spatial linkage analysis through humanoid robot hand design covering spherical joints, universal joints, and multi-finger coordination
Published: September 15, 2025
Lesson 6: Computer Simulation and System Integration
Real-time spatial mechanics simulation through multi-robot coordination systems covering numerical methods and distributed control integration
Published: September 14, 2025
Lesson 1: Kinematic Joints and Degrees of Freedom in 3D Systems
Master kinematic joint analysis and DoF calculations through industrial robotics, medical devices, and agricultural automation applications
Published: September 12, 2025
Lesson 4: Elementary Matrix Methods and Link Modeling
Systematic kinematic modeling of parallel mechanisms through Stewart Platform analysis using DH parameters and elementary matrices
Published: September 12, 2025
Lesson 5: Cam-Follower Systems and Motion Programming
Understanding cam design principles and follower motion laws through CNC machine tool cam-driven feed system optimization
Published: September 10, 2025
Lesson 6: Force Analysis and Mechanism Synthesis
Understanding static force analysis and mechanism synthesis through multi-DOF robotic manipulator system design and actuator optimization
Published: September 8, 2025
Lesson 3: Velocity Analysis and Instantaneous Centers
Understanding velocity polygons and instantaneous centers through crank-slider engine and compressor mechanism analysis
Published: September 7, 2025
Lesson 1: Kinematic Joints and Constraint Analysis
Understanding joint types, degrees of freedom, and constraint relationships through modular robotic arm design using GrΓΌbler's equation
Published: September 6, 2025
Lesson 2: Position Analysis of Planar Linkages
Understanding vector loop equations and geometric constraints through four-bar linkage suspension system optimization
Published: September 6, 2025
Lesson 4: Acceleration Analysis and Dynamic Forces
Understanding acceleration polygons and inertial forces through Geneva mechanism indexing system design for packaging and assembly automation
Published: September 1, 2025
π οΈ Product Development
Four-Bar Linkage Simulator
Interactive four-bar linkage simulator with Grashof condition analysis, angular position and velocity profiles, transmission angle, mechanical advantage, coupler curve tracing, and downloadable engineering reports.
Published: March 19, 2026
Crank-Slider Mechanism Simulator
Interactive crank-slider mechanism simulator with displacement, velocity, acceleration, mechanical advantage, connecting rod angle, transmission angle, and crank torque analysis. Supports offset, A/B comparison, and professional engineering downloads.
Published: March 10, 2026
2D Mechanisms Analyzer
A suite of interactive browser-based simulators for planar mechanism design and analysis. Real-time animation, kinematic plots, force analysis, configuration comparison, and downloadable engineering resources.
Published: March 10, 2026
Getting Started with SiliconWit.IO
A simple introduction to connecting industrial devices with SiliconWitIO
Published: August 27, 2025
Activity Monitor Firmware
Getting started with the HLK-LD2420-based activity monitoring firmware for ESP32-S3
Published: December 12, 2024
π Blog Posts
The Philosophy Behind Artificial Intelligence
Exploring the philosophical implications and ethical considerations of AI development and implementation
Published: August 25, 2025