Academy | 学术

Learning is a tiring job. We should adapt to local conditions and strive for excellence
学习是一门技术活,因地制宜,精益求精

IrrigaTronSenior Design Self-driving Plant watering robot
(Motion & Watering)

A household plant-watering robot; I owned low-level motion control and the watering mechanism on Teensy 4.0.

Tech: Teensy 4.0 (Arduino/C), wheel encoders, 4× Mecanum, per-wheel PID, PWM motor driver (12 V, TB4223), stepper lift (A4988), simple digital on/off line for pump

My scope (essentials)

  • Implemented per-wheel PID velocity control with encoder feedback; PWM into a 12 V motor driver.
  • Practical, observation-based tuning (team effort) to get smooth, fast target-speed tracking on carpet vs. smooth floors.
  • Built the A4988 stepper lift from Teensy STEP/DIR for adjustable sprayer height.
  • Provided a simple on/off control line for the pump; external driver / Raspberry Pi wiring were teammate-owned.

Wiring & bring-up

  • Separated 12 V / 5 V / GND rails; color-coded leads bundled in tidy runs with right-angle turns to each breadboard pin; verified connections with DMM continuity before power-on.

Materials

  • Demo video, Poster, Wiring photo, Notes, Code repo: Repo (coming soon)

Segway – Self-Balancing Car (Balance Control)

Two-wheel self-balancing car built by a 3-person team; we co-designed the idea, firmware, and mechanical assembly. I acted as the team lead (planning, building, testing sessions, taking notes)

Tech: ItsyBitsy M4 (Arduino/C), BNO055 IMU, TB4223 (12 V) motor driver, dual DC motors, PWM/DIR, LED calibration cues

How it works

  • Read BNO055 gravity-X as the tilt signal: forward tilt → positive, backward → negative; magnitude grows with tilt.
  • Run a PID loop on the ItsyBitsy M4 that maps tilt/tilt-rate to PWM/DIR outputs.
  • Drive the wheels through the TB4223 H-bridge so motion counters the tilt and brings gravity-X → 0.

Calibration & indicators

  • BNO055 calibration required (🟦Gyro / 🟨Accel / 🟩Mag)
  • Itsybitsy M4, connecting with BNO055, output LED pins signal indicate each sensor’s calibration status, (simple if checks in the loop): all LEDs on ⇒ ready to balance

Materials

  • Demo video, Photos, Notes, Code repo (coming soon)