This repository is my public build log for learning and applying AI as a hardware engineer. Each project is designed to prove a complete engineering loop:
- Define a real physical problem.
- Instrument it and collect data.
- Build a baseline before adding AI.
- Measure accuracy, latency, power, cost, and failure cases.
- Publish the design decisions, code, test results, and demo.
Detect unusual behavior in a small motor or fan using an accelerometer and an ESP32-S3. The first software prototype extracts useful vibration features from normal and fault-like signals. Later milestones move data collection and inference onto real hardware.
- Project brief
- Latest learning log
- Run the first demo:
make demo - Run the tests:
make test
| Stage | Project | What it proves |
|---|---|---|
| 1 | Edge vibration anomaly monitor | Sensors, DSP, TinyML, validation |
| 2 | Battery health and load-test station | Power electronics, test automation, prediction |
| 3 | PCB visual inspection assistant | Computer vision, fixtures, defect datasets |
| 4 | AI-assisted bench instrument | SCPI automation, waveform analysis, human-in-the-loop AI |
| 5 | FPGA streaming signal classifier | RTL, fixed-point design, latency and resource tradeoffs |
See PROJECTS.md for the detailed project menu and selection criteria.
Every finished project should include:
- A 60-90 second demo video or GIF
- A block diagram and a readable schematic
- A bill of materials with total cost
- Reproducible firmware, software, and setup instructions
- Test data and quantitative results
- A short section called "What failed and what I changed"
- Issues and milestones showing how the work progressed
- Commit small, understandable changes several times per week.
- Open an issue before each meaningful milestone.
- Write a weekly learning log, including failures and measurements.
- Tag working demos as releases.
- Keep unfinished work visible, but label it honestly.
The goal is not a wall of repositories. The goal is three finished projects that make engineering judgment visible.