Lab Notes and Bug Reviews

Vision-Guided Arm: A Passing Simulator Is Not Physical Completion

STM32 Vision-Guided Robotic Arm Sorter

Symptom
Detection, queueing, protocol, controller simulation and firmware builds pass, but no physical arm was available to measure real grasp accuracy.
Root cause
The software model uses configured parameters, while geometric error, supply capacity, sensor thresholds and assembly variation exist only on the real mechanism.
Lesson
When hardware is unavailable, retain reproducible software evidence and state the physical acceptance conditions instead of hiding the boundary.

FPGA DDS: Blank or Corrupted Display

Multi-Function FPGA DDS Signal and Measurement System

Symptom
DDS, PWM and statistics simulations passed, but the 74HC595 display was blank or corrupted.
Root cause
Shift order and active display levels were inconsistent; waveform generation was not at fault.
Lesson
Isolate verified algorithm blocks before debugging board-level timing, bit order and polarity. Simulation, compilation and timing pass; analog board I/O remains to be measured.

FPGA QPSK: Correct Constellation but Growing BER

FPGA QPSK Baseband Link and Visualization System

Symptom
Constellation points were correct while the error counter continued to grow.
Root cause
Reference bits and decisions belonged to different pipeline cycles.
Lesson
A correct constellation does not verify BER alignment. ModelSim, Quartus and offline visualization pass; the board UART link still requires physical confirmation.

FreeRTOS Smart Car: C8T6 Resource Pressure

STM32F103 FreeRTOS Multi-Mode Smart Car

Symptom
Tasks, controls and diagnostics left little room in 64 KB Flash and 20 KB RAM.
Root cause
The complete task, display, diagnostic and parameter set approached the MCU limits.
Lesson
Embedded acceptance must cover Flash, RAM, task stacks and persistence boundaries. Firmware and host tests pass; vehicle power, calibration and endurance are pending.

Temperature Monitor: PB3/PB4 Conflict with JTAG

STM32F103 Dual-Channel Temperature Monitoring and Alarm System

Symptom
Key inputs on PB3/PB4 did not behave as GPIO.
Root cause
PB3/PB4 were still assigned to the full JTAG interface.
Lesson
Check pin multiplexing before rewriting application logic. The project and flashable HEX exist; sensor voltage, SD and alarm behavior still require board verification.

Modulation Recognition: Low-SNR Instability

MATLAB Digital Modulation Recognition Simulation

Symptom
Phase and frequency-difference features became unstable at low SNR, while class amplitude scales biased decisions.
Root cause
Unequal scale and noise-sensitive individual features.
Lesson
Accuracy requires context from normalization, feature stability and confusion matrices rather than one aggregate score.

Knowledge Base: A Reachable Homepage Is Not a Working Flow

Personal Knowledge Base and Local Retrieval Application

Symptom
Opening the homepage did not prove login, upload, parsing, retrieval, detail, deletion or persistence.
Root cause
A single endpoint health check covered no stateful behavior.
Lesson
Web acceptance must follow the real user path and verify persistence.

Origin Automation: Script Blocked by Execution Policy

Origin 2024 Battery Aging and Thermal Safety Analysis

Symptom
PowerShell automation did not run or no expected OPJU file appeared.
Root cause
Policy blocked the script and COM execution was not always visible.
Lesson
Validate automation from artifacts, not only a visible window, and avoid permanent machine-wide policy changes for one script.

RRT: Safe Nodes with an Edge Through an Obstacle

Python RRT and RRT* Path Planning Demonstration

Symptom
New nodes were outside obstacles, but their connecting edges crossed obstacles.
Root cause
Endpoint-only checks did not establish edge safety, and robot radius was missing.
Lesson
Planning tests need edge collision, impossible maps and repeatable seeds rather than one successful animation.

first-repo: Saving Locally Did Not Change GitHub

first-repo Git and GitHub Introductory Exercise

Symptom
A saved file did not appear on GitHub.
Root cause
Save, local commit and remote push were treated as one action.
Lesson
Git does not update a remote merely because a file was saved.

remote-repo: Push Rejected by Remote Updates

remote-repo Remote Synchronization Exercise

Symptom
A local commit could not be pushed because the remote branch had advanced.
Root cause
The remote contained commits absent locally.
Lesson
Synchronization is bidirectional and push alone is not a complete workflow.