SiliconWit.COM SiliconWit.COM
Dr. Sam Macharia's avatar

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

Dr. Sam Macharia is a mechatronics engineer, researcher, and educator passionate about the intersection of engineering, computing, science, and the philosophy of science. His current focus includes collaborative work in cutting-edge areas such as Internet of Things (IoT), Artificial Intelligence of Things (AIoT), and biomolecular machines. He holds a PhD from Gifu University, Japan and is currently a lecturer at Dedan Kimathi University of Technology, Kenya, and he founded SiliconWit for collaborative innovations in research, education, and product development.

Focus

πŸ“š Engineering Education
πŸ”¬ IoT/AIoT Systems and Biomolecular Machines Research
πŸ’» Mechatronic Products Development

πŸ”¬ Research Contributions

Biomolecular Machines

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

molecular-motorsmicrotubuleskinesinspiral-motioncytoskeleton

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

microtubuleskinesinpersistence-lengthgliding-assaysmechanical-properties

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

biosensorsdefective-motorsmolecular-shuttlesbiotechnologyresilience
Iot And Aiot

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

wireless-sensors3d-printingenvironmental-monitoringIoTwind-energy

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

precision-agricultureIoTwater-efficiencysmallholder-farmingsustainable-agriculture

πŸ“š Education Contributions

Mechanism Design Simulation

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

four-bar-linkagemechanism-designkinematicssimulationpythongrashofmechanical-engineering

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

crank-slidermechanism-designkinematicssimulationpythondata-analysismechanical-engineering

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

mechanism-designkinematicssimulationmechanical-engineeringcrank-sliderfour-bar-linkagepythondata-analysis
Embedded Linux Rpi

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

embedded-linuxiotmqttgatewaysqlitedashboardraspberry-picapstone

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

embedded-linuxyoctobitbakeproductionsdkotaraspberry-pi

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

embedded-linuxsystemddaemonipcprocess-managementpreempt-rt

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

embedded-linuxbuildrootcustom-imagerootfsminimal-linuxraspberry-pi

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

embedded-linuxkernel-moduledriverchardevsysfslinux-kernel

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

embedded-linuxgpioi2cspilibgpioduserspacedrivers

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

embedded-linuxdevice-treedtsoverlayhardwarei2craspberry-pi

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

embedded-linuxkernelmenuconfigconfigurationbuildraspberry-pi

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

embedded-linuxcross-compilationboot-processraspberry-pitoolchain
Embedded Programming Atmega328p

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

power-managementsleep-modeswatchdogbatterylow-poweratmega328pavr

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

adcanalogsignal-acquisitionphotoresistoratmega328pavr

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

i2ctwibme280sensorweather-stationatmega328pavr

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

spioledssd1306protocolperipheralatmega328pavr

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

uartserialusartcommunicationatmega328pavrthermistor

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

interruptsisrevent-drivenatmega328pavrpin-change

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

timerscounterspwmctcprescaleratmega328pavr

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

gpioregistersdigital-iobit-manipulationatmega328pavr

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

avrtoolchainbare-metalc-programmingmakefileavrdudeavr-gccarduino-nano
Embedded Programming Esp32

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

esp32iotmqttsensor-networkcapstoneoleddeep-sleep

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

esp32deep-sleeppower-managementulpbatterysolarlow-power

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

esp32otasecure-bootflash-encryptionfirmwaresecurity

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

esp32blebluetoothgapgattbeaconwireless

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

esp32mqttiotcloudtlssoil-moisturemonitoring

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

esp32httprest-apiweb-serverjsonmdnsthermostat

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

esp32wifinetworkingstationaccess-pointprovisioning

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

esp32gpioledcpwmtouchperipheralsdriver

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

esp32esp-idftoolchaindual-corefreertosxtensa
Embedded Programming Rpi Pico

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

pico-wwifiblewirelessweb-serverws2812bneopixel

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

rp2040micropythonpythonrapid-prototypingrepl

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

rp2040usbhidtinyusbgamepadjoystick

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

rp2040dmadata-pipelineaudiospi-flashmicrophone

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

rp2040multicoredual-corefifospinlocksynchronization

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

rp2040piostate-machinews2812bneopixelassembly

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

rp2040gpiopwmadcanalograspberry-pi-pico

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

rp2040pico-sdkcmakearchitectureusbraspberry-pi-pico
Embedded Programming Stm32

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

stm32low-powersleeprtcspi-flashproductionbattery

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

stm32freertosrtosmultitaskingtasksqueuessemaphores

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

stm32debuggingswdgdbfault-handlerhardfaultitm

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

stm32adcdmaanalog-watchdogcurrent-sensorina219

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

stm32spii2chalregistersoledbme280

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

stm32uartdmainterruptsnvicserial

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

stm32timerspwminput-captureservoencoder

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

stm32gpioclock-treerccrotary-encoder

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

stm32armcortex-mtoolchainopenocdcubemxblue-pill
Embedded Rust Rp2040

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

rustrp2040capstoneembassyasyncsensorsoledmqttsd-cardembedded

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

rustrp2040pico-wwifimqttcyw43tcpembassynetworking

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

rustrp2040usbcdchidembassydevice-classembedded

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

rustrp2040uartdmaownershipgpsnmeaembassyzero-copy

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

rustrp2040i2cspiembedded-halbme280ssd1306portable-driversembassy

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

rustrp2040embassyasyncawaittasksembeddedno-alloc

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

rustrp2040timerspwminterruptsservocritical-sectionembedded

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

rustrp2040ownershipborrowingtypestategpioembedded

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

rustrp2040picoprobe-rscargodefmtembedded
Rtos Programming

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

zephyrrtosdevicetreekconfigwestportability

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

rtosdebuggingtracealyzersystemviewprofilingdeadlock

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

rtosfreertostimersinterruptsisrdebouncecritical-section

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

rtosfreertosmemoryheapmpusafetystack

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

rtosfreertossemaphoresmutexessynchronizationdeadlockpriority-inversion

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

rtosfreertosqueuesipcproducer-consumerevent-groups

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

rtosfreertostasksschedulingcontext-switchpriority

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

rtosreal-timeschedulingjitterwcetrate-monotonic
Analog Electronics

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

analog-electronicssensorssignal-conditioningthermistorwheatstone-bridgeinstrumentation-amplifieradc

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

analog-electronics555-timeroscillatorcrystal-oscillatorastablemonostabletiming

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

analog-electronicsfilterslow-passhigh-passband-passbode-plotcutoff-frequencyanti-aliasing

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

analog-electronicspower-supplyvoltage-regulatorldolm1117decouplingripple

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

analog-electronicsop-ampamplifiersignal-conditioninglm358comparator

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

analog-electronicstransistorsbjtmosfetswitchingamplifiermotor-driver

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

analog-electronicsdiodesrectifierzenerflybackprotection-circuits

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

analog-electronicscapacitorsinductorsrc-circuittime-constantfiltering

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

analog-electronicsohms-lawvoltage-dividerkirchhoffresistorsled-circuit
Digital Electronics

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

microcontroller-architecturevon-neumannharvardalucpu-pipelineinterrupt-vectordigital-electronics

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

adcdacsuccessive-approximationnyquistpwmr2r-ladderdigital-electronics

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

spii2cuartbus-architectureserial-communicationdigital-electronics

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

sramflasheeprommemory-mapaddress-busdata-busdigital-electronics

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

countertimerfrequency-dividerprescaler74hc393digital-electronics

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

flip-floplatchshift-register74hc595sequential-logicdigital-electronics

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

multiplexerdecoderaddercombinational-logicdigital-electronics

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

logic-gatesboolean-algebratruth-tablesde-morgan74hc-seriesdigital-electronics

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

binaryhexadecimalnumber-systemsbcdtwos-complementdigital-electronics
Iot Systems

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

iotalertsautomationnode-redmqttnotificationsrule-enginegrafanasiliconwit-io

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

iotsecuritytlsmtlsx509certificatesprovisioningesp32mosquittoowasp

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

iotmqttcoaphttpesp32bme280protocolsarchitecturesiliconwit-io

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

mqttmosquittotlsiotbrokersecurityacldockersiliconwit-io

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

iotmqttesp32rpi-picostm32multi-platformjsonqosreconnection

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

iotmqttproductiongrafanainfluxdbdockercapstoneesp32raspberry-pisiliconwit-io

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

iotgrafanainfluxdbtelegrafdashboarddata-visualizationmqtttime-seriesfluxchart-js

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

iotrest-apiwebhooksflaskhmacesp32device-managementsiliconwit-io
Robotics

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

roboticsforward-kinematicsinverse-kinematicsDH-parametersend-effectorrobotic-weldingnumerical-IK

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

roboticsquaternionseuler-anglesgimbal-lockSLERProtationorientation-controldrone-gimbal

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

roboticsrobot-armworkspace-analysisjoint-typesSCARAarticulated-robotdelta-robotlink-design

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

roboticssimulationmatplotlib-animationmanufacturingsurgical-roboticsagricultural-roboticspick-and-placevisualization

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

roboticstrajectory-planningmotion-controlpick-and-placepolynomial-interpolationsplinevelocity-profilepath-planning

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

roboticsjacobian-matrixvelocity-kinematicssingularitymanipulabilitycollaborative-robotpseudoinverseforce-mapping
Sensor Actuator Interfacing Stm32

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

stm32capstonedata-loggerbme280oledsd-cardbluetoothi2cspiuart

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

stm32dmacan-businterruptsbxcanmcp2551nvicsensor-network

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

stm32stepper-motora4988encodermotor-controlpositioningaccelerationnema17

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

stm32rfidnfcspirc522mifareaccess-controloledidentification

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

stm32uartgpsbluetoothrs-485nmeadmacubemxhc-05neo-6m

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

stm32spist7735tftsd-cardfatfsdata-loggercubemx

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

stm32i2cbme280ssd1306oledeepromat24c256weather-stationcubemx

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

stm32pwmtimersservomotor-controll298nbuzzerinput-capturecubemx

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

stm32adcdmathermistorsignal-conditioningop-amp

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

stm32gpiohc-sr04relayinterruptscubeide
Applied Mathematics

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

PIDcontrol-systemsfeedbackZiegler-Nicholsstabilityapplied-mathengineering

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

numerical-methodsroot-findingintegrationinterpolationcurve-fittingRK4applied-math

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

fourierFFTfrequency-domainsamplingNyquistaliasingapplied-mathsignal-processing

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

differential-equationsRC-circuitspring-masseuler-methodapplied-mathengineering

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

probabilitystatisticsnoisefilteringmoving-averageapplied-mathengineering

Complex Numbers and Phasors

Complex numbers describe rotation, not imaginary things. Euler formula, phasors, impedance, and AC circuit analysis.

Published: March 4, 2026

complex-numbersphasorseuler-formulaimpedanceac-circuitsapplied-math

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

linear-algebravectorsmatricestransformsapplied-mathengineering

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

calculusderivativesintegralstaylor-seriesapplied-mathengineering

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

modelingsimulationapplied-mathengineeringabstraction
Critical Thinking Engineers

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

critical-thinkingdecision-makingtrade-offsengineeringchecklistspremortems

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

critical-thinkingdebuggingscientific-methodhypothesisengineeringreasoning

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

critical-thinkingcorrelationcausationevidencedebuggingengineering

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

critical-thinkingestimationuncertaintyerror-propagationconfidence-intervalsengineering

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

critical-thinkingdata-visualizationchartsstatisticsmisleading-dataengineeringpresentation

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

critical-thinkingstatisticsp-valuep-hackingsample-sizeoverfittingengineeringdata-analysis

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

critical-thinkingcognitive-biasconfirmation-biassurvivorship-biassunk-costdunning-krugerengineering

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

critical-thinkinglogical-fallaciesengineeringcode-reviewargumentationreasoning

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

critical-thinkingsystem-1system-2kahnemancognitive-biasengineeringintuitionanchoring
Edge Ai Tinyml

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

tinymledge-aiedge-cloudhybridotafederated-learningmqttesp32model-update

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

tinymledge-aiimage-classificationesp32-cammobilenetcnntensorflow-litecomputer-visionperson-detectionpsram

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

tinymledge-aianomaly-detectionpredictive-maintenanceautoencoderesp32mpu6050vibrationmqttindustrial

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

tinymledge-aigesture-recognitionmpu6050rpi-picostm32accelerometertensorflow-litemqtt

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

tinymledge-aikeyword-spottingwake-wordesp32i2smfccspeech-commandstensorflow-litemicrophone

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

quantizationtinymlint8post-training-quantizationquantization-aware-trainingmodel-optimizationesp32edge-ai

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

tflite-microtensorflow-liteesp32stm32gesture-recognitiontinymledge-aicross-platform

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

edge-impulsetinymlesp32mpu6050accelerometermotion-classificationedge-ai

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

tinymledge-aitensorflow-liteesp32machine-learningmicrocontrollerstflite-micro
Ml Ai Fundamentals

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

ml-deploymentflask-apimodel-servingedge-deploymentmodel-monitoringdata-driftmlops

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

sensor-datafeature-engineeringpredictive-maintenancemachine-learningpandastime-seriesdata-cleaning

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

scikit-learnmachine-learningpythonpipelinecross-validationhyperparameter-tuningmodel-comparison

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

neural-networksmachine-learningnumpybackpropagationdeep-learningpythonfrom-scratch

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

gradient-descentloss-functionlearning-rateoptimizationnumpypythonmachine-learningbackpropagation

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

decision-treesrandom-forestsfeature-importanceensemble-methodspredictive-maintenancepythonscikit-learn

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

classificationlogistic-regressionconfusion-matrixprecision-recallroc-curveclass-imbalancepythonscikit-learn

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

linear-regressionscikit-learnfeature-scalingmser-squaredpredictionpythonmachine-learning

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

machine-learningoverfittingunderfittingbias-variancetrain-test-splitpythonnumpycurve-fitting
Modeling And Simulation

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

system-identificationparameter-estimationleast-squarestransfer-functionstep-responsemodeling-simulation

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

monte-carlotolerance-analysisyieldstatistical-simulationengineering-decisionsmodeling-simulation

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

signal-processingdigital-filtersbutterworthIIRFIRnoise-removalmodeling-simulation

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

sensor-fusionkalman-filtercomplementary-filterIMUstate-estimationmodeling-simulation

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

simulationPIDcontrol-systemsDC-motortuningstep-response

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

simulationthermalheatsinkelectronicstemperaturecooling

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

simulationmechanicalspring-mass-dampersuspensiondampingphase-portrait

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

simulationcircuitsRCRLCbode-plotfrequency-response

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

modelingsimulationpythonscipybatteryode
Philosophy Of Science Engineering

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

scientific-thinkingengineering-practiceintellectual-honestygood-enoughpersonal-practice

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

technology-societyunintended-consequencesresponsible-innovationcollingridge-dilemmasystems-thinking

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

engineering-ethicssafetyprofessional-responsibilitycase-studieswhistleblowing

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

uncertaintychaos-theorycomplexitysafety-marginsengineering-design

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

modelssimulationepistemologygeorge-boxkorzybskispiceengineering-modelsassumptions

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

kuhnparadigm-shiftscientific-revolutionsengineering-historyrustlakatostechnology-transitions

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

falsifiabilitytestingpopperconfirmation-biaschallenger-disasternegative-testingtdd

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

scientific-methodengineeringhypothesis-testingdebuggingreproducibilityedison

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

philosophy-of-sciencefalsifiabilitypopperdemarcationpseudosciencecritical-thinking
Code Based Mechanical Design

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

cadquerypythonparametric-design3d-modelingmechanical-engineeringshowcase

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

cadquerypythonenclosure-designpcbkicad3d-printingsnap-fitparametric-design

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

cadqueryfreecadfeacalculixstructural-optimizationpareto-frontparametric-designcapstone

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

cadquerypythonheat-sinkthermal-managementoptimizationnatural-convectionparametric-designmatplotlib

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

cadquerypythongearsinvoluteparametric-designmechanical-engineeringgear-train3d-printing

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

cadquerylattice-structurestpmsgyroidadditive-manufacturing3d-printinglightweight-designgenerative-design

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

cadquerypythonparametric-designfastenersISO-standardsmechanical-engineeringhardware-library

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

cadqueryspring-designhelical-springsstress-analysisfatiguewahl-factorgoodman-diagrammechanical-design
Pcb Design Kicad

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

kicadpcb-designatmega328pthrough-holehome-etchingavrembedded-systemsbreakout-board

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

kicadpcb-designatmega328psmdi2cspicnc-millingsensor-shieldtqfp

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

kicadpcb-designpythonskidlscriptingautomationparametriccode-driven-design

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

kicadpcb-designesp32-c3batteryiotsolarbme280deep-sleeplow-power

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

kicadpcb-designesp32wifibluetoothrf-designantennausb-uartdevkit

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

kicadpcb-designmotor-driverdrv8833mpu6050imucurrent-sensingh-bridgethermal-management

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

kicadpcb-designrp2040usb-cqfnqspipioraspberry-pidevelopment-board

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

kicadpcb-designstm32f411usb-cfour-layerimpedancevia-stitchingblack-pill

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

kicadpcb-designstm32usbswdarm-cortex-m3jlcpcbgerberdevelopment-board
Parametric Mechanical Cad Freecad

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

freecadcamfollowermotion-controlparametric-designmechanism-design

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

freecadfour-bar-linkagekinematicsparametric-designmechanism-design

Geneva Mechanism

Design a Geneva mechanism for precise intermittent motion and indexing with parametric slot control in FreeCAD

Published: December 17, 2025

freecadgeneva-mechanismindexingintermittent-motionparametric-design

Pantograph Mechanism

Design a pantograph mechanism for motion scaling and copying with ratio-driven parametric control in FreeCAD

Published: December 17, 2025

freecadpantographmotion-scalingparametric-designmechanism-design

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

freecadpythonscriptinggenerative-designparametric-designoptimization

Scissor Lift Mechanism Design

Design a parametric scissor lift mechanism with repeating geometry and scalable stages in FreeCAD

Published: December 17, 2025

freecadscissor-liftkinematicsparametric-designmechanism-design

Scotch Yoke Mechanism

Design a Scotch yoke mechanism for sinusoidal motion conversion with parametric stroke control in FreeCAD

Published: December 17, 2025

freecadscotch-yokesinusoidal-motionparametric-designmechanism-design

Slider Crank Mechanism Design

Learn parametric CAD modeling by designing a complete slider crank mechanism in FreeCAD from scratch

Published: December 17, 2025

freecadslider-crankkinematicsparametric-designmechanism-design

Toggle Clamp Mechanism Design

Design an over-center toggle clamp mechanism with mechanical advantage and self-locking behavior in FreeCAD

Published: December 17, 2025

freecadtoggle-clampover-centerparametric-designmechanism-design
Mechanics Of Materials

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

solid-mechanicsbeam-deflectionelastic-deformationstiffness-analysisprecision-engineeringPCB-designmedical-imagingCNC-machiningmechatronics

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

solid-mechanicslaboratorypythonfreecadfem-analysisshear-forcebending-momentstress-analysisroboticsstructural-design

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

solid-mechanicsbending-stressbeam-analysisflexural-formulastructural-designpantographcrane-jibgantry-rail

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

solid-mechanicsstructural-analysisshear-forcebending-momentbeam-designindustrial-applicationsmechatronicsmaterial-handling

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

solid-mechanicscombined-loadingvon-mises-stressequivalent-stressmulti-axis-loadingdrone-armwind-turbinerobotic-gripperfailure-theory

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

solid-mechanicscomposite-beamsCNC-bedtransformed-sectionmulti-material

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

solid-mechanicscompound-barslinear-actuatormulti-materialload-sharing

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

solid-mechanicsthermal-stresspiston-cylinderextruderthermal-expansion

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

solid-mechanicstorsionGeneva-mechanismcrankshaftshear-stressangular-deformation

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

solid-mechanicsprincipal-stressMohrs-circlefailure-analysismechatronic-joints

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

mechanics of materialssolid-mechanicsmechatronicscrank-sliderstress-strainconnecting-rod

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

solid-mechanicsactuator-shaftaxial-stressmaterial-selectionCNC-systems

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

solid-mechanicsassignmentsstructural-analysismechatronicsbeam-analysisrobotics

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

solid-mechanicspressure-vesselspneumatic-actuatorhoop-stresslongitudinal-stress
Spatial Mechanics

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

spatial-mechanics3d-rotationseuler-anglesrodrigues-formularotation-matriceshomogeneous-transformationsgimbal-lock

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

spatial-mechanicsplanar-transformationscomplex-numbersrotation-matricesSCARA-robotforward-kinematicsinverse-kinematicselectronics-manufacturing

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

spatial-mechanicsadvanced-mechanismsspherical-jointshumanoid-roboticsmulti-finger-coordination

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

spatial-mechanicscomputer-simulationmulti-robot-systemsnumerical-methodsreal-time-control

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

spatial-mechanicskinematic-jointsdegrees-freedomroboticsconstraint-analysismedical-roboticsagricultural-automation

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

spatial-mechanicsmatrix-methodsstewart-platformDH-parametersparallel-kinematics
Planar Mechanics

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

planar-mechanicscam-designfollower-systemsmotion-programmingCNC-systemspressure-angles

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

planar-mechanicsforce-analysismechanism-synthesisrobotic-manipulatorsactuator-sizingvirtual-work

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

planar-mechanicsvelocity-analysisinstantaneous-centerscrank-slidervelocity-polygonsengine-design

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

planar-mechanicskinematicsjointsDOFgrublers-equationrobotic-armsconstraints

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

planar-mechanicsposition-analysisfour-bar-linkagevector-loopsgeometric-constraintssuspension-systems

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

planar-mechanicsacceleration-analysisgeneva-mechanismdynamic-forcesindexing-systemsautomation

πŸ› οΈ Product Development

2d Mechanisms Analyzer

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

four-bar-linkagemechanism-designkinematicssimulationgrashofmechanical-engineeringinteractive-tools

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

crank-slidermechanism-designkinematicssimulationmechanical-engineeringforce-analysisinteractive-tools

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

mechanism-designkinematicssimulationmechanical-engineeringinteractive-toolsengineering-analysisplanar-mechanisms
Siliconwit Io

Getting Started with SiliconWit.IO

A simple introduction to connecting industrial devices with SiliconWitIO

Published: August 27, 2025

siliconwit-ioindustrial-iotdevice-connectivityautomationtutorialgetting-started
Room Activity Scan

Activity Monitor Firmware

Getting started with the HLK-LD2420-based activity monitoring firmware for ESP32-S3

Published: December 12, 2024

ESP32-S3HLK-LD2420MQTTfirmwareembedded-systemsIoT

πŸ“ Blog Posts

Science And Engineering

The Philosophy Behind Artificial Intelligence

Exploring the philosophical implications and ethical considerations of AI development and implementation

Published: August 25, 2025

AIphilosophyethicstechnology

Contribution Stats

455
Total SSU
2021
Member Since
Kenya
Location
5
Research Contributions
212
Education Contributions
5
Product Development
1
Blog Posts

Connect & Follow