HT.

Harrison Tidy.

I'm a Computer Engineering student at UBC, proficient in embedded software and systems. I understand how electrical, software, and mechanical systems fit together, which helps me turn ideas into working embedded prototypes. I lead engineering at WriteAway and bring extensive hands-on experience in rapid prototyping, soldering, and PCB assembly from WriteAway and Creation Technologies.

Scroll to explore
EMBEDDED SYSTEMS In development

WriteAway

AI assistance in a handheld study pen, in development for nearly three years. I founded WriteAway and lead a four-person team bringing electronics, firmware, and mechanical design together into one compact device.

  • System architecture: oversaw component selection, embedded C firmware integration, and communication interfaces including I2C, SPI, and DVP.
  • Miniaturized PCB design: oversaw the design of a highly advanced, tightly integrated PCB to fit the electronics into a pen-sized enclosure.
  • Prototype iteration: nearly 100 mechanical prints and 5+ PCB revisions, with hands-on optical prototyping and debugging across hardware, firmware, and mechanical integration.
Visit WriteAway ↗
WriteAway pen assembly renderPen design ↗
Miniaturized WriteAway PCB CAD designAssembled WriteAway PCB prototype powered onAnother WriteAway PCB prototype revision
Different prototypesPCB design and assembled hardware
WriteAway projection system displaying green text on paperEnlarge ↗
Projection system workingCurrently debugging and integrating a more sophisticated, much lower-cost projection system after switching to a new alternative.
SOFTWARE + ELECTRONICS

AutoBOM

From a component idea to a circuit you can build. I made an AI assistant inside KiCad that finds parts, generates application circuits, and completes a bill of materials.

  • Native C++ interface: extended KiCad with wxWidgets assistant and BOM-review panels.
  • Node.js backend: connected the editor to a JavaScript service over HTTP/JSON for searches, CAD imports, and circuit generation.
  • Sourcing to schematic: integrated DigiKey and JLCPCB/LCSC data, EasyEDA/SnapMagic imports, and reviewed component placement.
View on GitHub ↗
AutoBOM finds an ESP32 component with supplier and CAD detailsEnlarge ↗

Describe what you need. The assistant finds an ESP32 match with stock, price, package, and CAD details.

ROBOTICS In development

PickleBot

A robot you can play pickleball against. I'm developing an autonomous opponent that tracks the ball, positions itself, and swings a paddle to return shots.

  • Computer vision: developing ball and court tracking with Python, OpenCV, YOLO, and Roboflow, using a Raspberry Pi 5 with a Hailo-8L AI accelerator.
  • Embedded control: Raspberry Pi–ESP32 communication over UART, PWM motor/servo control, and Bluetooth for manual driving.
  • Power electronics & mechatronics: custom power/control PCB, mechanical assemblies, and custom-designed brackets integrating motors, actuators, aluminum extrusion, and 3D-printed parts.
View on GitHub ↗
EMBEDDED SYSTEMS + BLUETOOTH

Bluetooth RC Car

I built an ESP32 Bluetooth-controlled RC car.

  • Custom PCB: designed, assembled, and soldered the board myself, integrating buzzers, LEDs, and H-bridges.
WEB APPLICATION

UBC Course Scheduler

A clearer way to see your school week. I built a mobile-friendly calendar that turns a UBC course export into a day or week timetable, with the details of each class a tap away.

  • React / TypeScript / Tailwind: built calendar views, term selection, and class-detail panels.
  • Scheduling logic: handled recurring and alternate-week classes, date filtering, and duplicate meeting detection.
  • Course data: connected rooms, instructors, and meeting details with Google Maps and Apple Maps building links.
View on GitHub ↗