Thirteen projects, one habit: shipping working hardware.
Every entry below is a real system I designed, built, debugged, or repaired, documented with photos
from the bench, the lab, and the field. Newest first. Use the filters to browse by discipline.
Project Pebble — Autonomous Lunar Mining Rover
May 2026 — Present
Moon Trades
I contribute to the development of Pebble, an autonomous lunar mining rover currently under active
development. My role focuses on embedded systems engineering: electronics integration, sensor
interfacing, firmware development, and system validation to support reliable operation in a robotic
exploration platform.
The project involves rapid prototyping, hardware bring-up, and the integration of multiple subsystems,
with an emphasis on modularity, reliability, and a scalable system architecture. As the project is
ongoing, additional technical details remain confidential, with more to share upon public release.
A proof-of-concept thermoelectric cooling system to evaluate the feasibility of using a Peltier module
for active water cooling in a compact forced-air application: an engineering exploration of thermal
management techniques, control strategies, and system efficiency for future embedded cooling solutions.
I designed the complete electronic control system: a custom power stage driving a high-current Peltier
module, embedded firmware for temperature regulation, and a PWM-based control algorithm that optimizes
cooling performance while minimizing power consumption. The prototype integrates temperature sensors, a
water circulation loop, heat sinks, and forced-air cooling to characterize thermal behavior under
different operating conditions.
I assembled the prototype electronics, performed hardware validation, evaluated control strategies, and
collected experimental data on cooling efficiency, response time, and overall performance, quickly
turning an idea into a functional prototype through systematic engineering exploration.
Robbie 3.0 is the latest generation of an autonomous fleet of sensing and control devices for long-term
environmental monitoring. The project upgrades the existing platform with a new moisture-sensing system
while improving the hardware architecture, firmware, and overall reliability.
I designed and developed new PCBs for the Robbie 3.0 platform, integrated and validated the new moisture
sensor, developed embedded firmware, and completed full system integration. I also designed and
documented custom wire harnesses and interconnects to improve manufacturability, serviceability, and
field reliability, then performed hardware bring-up, PCB validation, debugging, calibration, and field
testing to ensure compatibility with the existing fleet.
I additionally implemented AI-assisted engineering workflows to generate and manage SmartBOMs,
streamlining component selection, BOM management, documentation, and design validation while keeping
engineering oversight throughout the project lifecycle.
KiCadPCB DesignWire HarnessesAnalog Signal ConditioningGitBOM Management
D4D Moisture Sensor — Firmware Development & Troubleshooting
Oct 2025 — May 2026
Robbie Insurtech
Firmware troubleshooting, correction, and ongoing development for a third-party D4D material moisture
sensor, covering both the electronic and mechanical sides of the system. I analyzed existing firmware
behavior, identified functional issues through experimental testing, and implemented corrective updates
and enhancements.
Development was done in embedded C on an STM32 microcontroller: code refactoring, firmware upgrades,
long-term maintainability improvements, and technical documentation. The sensor uses I²C together with
an analog front-end that measures resistance to infer moisture content in solid materials.
Troubleshooting included validating I²C transactions, ADC measurements, timing behavior, and signal
integrity across the analog measurement stage.
I also designed a custom mechanical enclosure in Onshape focused on sensor protection, usability, and
manufacturability, providing proper integration of the sensor, PCB, and connectors for reliable field
operation.
STM32Embedded CI2CAnalog Front-EndOnshapeGit
Multi-Module PCB for a Wearable Device
Oct 2025 — Apr 2026
Morphace
Designed a modular PCB architecture in KiCad and developed C++ firmware to manage sensor acquisition,
power control, and inter-module communication for a wearable skin-health device. The work included
analog circuit design for the sensing front-end, BOM management, and hands-on bring-up and connector
validation of the assembled boards.
KiCadC++ESP32Analog Circuit DesignBOM Management
Moisture Sensor Tester & Data Logger for Real-World Conditions
Aug 2025 — Dec 2025
Robbie Insurtech
A moisture-sensor testing and data-logging platform for real-world operating conditions, integrating a
Raspberry Pi 5, a custom I²C-based D4D material moisture sensor, and a professional FLIR Systems
moisture data logger for comparative validation.
The rig was tested at VentureLab in Markham, Ontario, inside an environmental chamber under controlled
temperature, enabling repeatable, synchronized measurements across both sensors. Data acquisition and
logging were implemented in Python using multithreading with mutex-based synchronization to coordinate
sensor polling, align timestamps, and guarantee thread-safe access to shared data.
To read the FLIR reference instrument, the team built a camera-based capture workflow with a custom OCR
post-processing algorithm that extracts numerical readings from the captured images. All measurement
data was time-aligned, stored, and post-processed in a Python analysis pipeline for visualization plus
comparative analysis of sensor accuracy, stability, and correlation against the reference instrument.
PythonRaspberry Pi 5Embedded LinuxSTM32MultithreadingI2COCRData Analysis
Command Line Interface for Embedded C on STM32 MCUs
Feb 2025 — Mar 2025
Rabbit Systems
A software library that creates a Command Line Interface (CLI) for STM32 and other embedded C
microcontrollers. The library handles complete commands with arguments over any of the MCU's
communication peripherals: UART, I²C, SPI, CAN, and more. Where those interfaces normally move only
raw bytes, this library lets you define professional, structured commands for exchanging data across a
distributed system.
Embedded CSTM32UARTCAN
Collision Avoidance System (CAS) for Racing Cars
Apr 2024 — Aug 2024
Rabbit Systems · for Racing Sciences Inc.
Racing cars need fast, reliable detection of nearby cars; at race speeds, side mirrors alone are not
enough. Starting from a benchmark of a Bosch device, I designed and implemented a collision detection
and avoidance prototype for racing applications.
The system integrates two Texas Instruments mmWave radar boards (AWR2944EVM) covering the blind spots
and a bumper camera watching directly behind the vehicle, all connected over USB to an NVIDIA Jetson
Nano Orin. The radars and camera stream data simultaneously using a multithreaded pipeline. The
prototype was developed for Racing Sciences Inc. and tested on the bench, on the street, and mounted on
the car.
A firmware repository that simulates the data stream of a TRIAXYS wave sensor, developed in remote
collaboration with Ocean Data Systems in Cancun, Mexico. The simulator reproduces a complete data frame
from a real TRIAXYS sensor so that a datalogger integrated with the sensor can be tested without the
real hardware. Because the actual sensor was fixed to a remote buoy, in-situ testing was impractical,
so the simulator made remote, repeatable testing of the datalogger possible.
C++ESP32ATMegaSerial Protocols
Command Line Interface (CLI) Library for C++ Microcontrollers
Apr 2023 — Oct 2023
Minard
A complete library for implementing a CLI on C++-based MCUs with 16-bit architectures. A buffer
separates the command name from its arguments; a superclass called Command maintains the
buffer and a vector of the commands available throughout program execution. Each command can be linked
to an MCU function or process for setting parameters and retrieving values.
The library works with any communication interface: Serial, I²C, SPI, CAN, Modbus, and more. As each
character arrives, it is added to the parser; when two command-terminator characters are received, the
command and its arguments are separated and dispatched. Command names can follow NMEA and ANSI
conventions, enabling professional command sets for any embedded system.
C++ESP32Atmel AVRSoftware Architecture
Data Logger Prototype for Maritime Deep-Sensing
2021 — 2023
Minard
A data logger system prototype for maritime deep-sensing applications, built to record the conductivity
of seawater at depth. I developed the acquisition electronics and firmware, brought the board up on the
bench, and paired the logger with a Java desktop interface for configuring the device and reviewing the
captured data.
National Autonomous University of Mexico (UNAM) · Institute of Astronomy
A device for measuring temperature, pressure, humidity, and wind inside two-meter telescope domes. The
system integrates an Aimotek anemometer, a BeagleBone Black embedded computer running Debian Linux, and
a relay board. The BeagleBone reads and programs the anemometer, then publishes all measurements to an
MQTT server in the main telescope control system.
To control the anemometer, the relay board emulates the user's keypad presses, so the whole instrument
can be started and reprogrammed remotely from the telescope control room. The device was installed in
the main telescope housing.
During my master's degree in Bioelectronics I was tasked with creating a reliable, low-energy EKG
system. I built a complete analog signal-acquisition chain for human and animal EKG: an AD620
instrumentation amplifier, signal-conditioning circuits, and analog bandpass filters. The clean analog
signal was digitized by an ATMega328 and transmitted over an RFIDx radio module to a PC, where the EKG
was graphed in real time.
Results were validated against a BioPac reference device, and we obtained clean EKG readings from both
humans and laboratory animals. I used the platform to test QRS-detection algorithms, later built a
second design around low-power MAX4091 amplifiers and a PIC MCU, and developed a photoplethysmography
device for laboratory animals using a Nonin OEM animal oximeter sensor and an ATMega2560.
Analog CircuitsAD620ATMegaMicrochip PICBioelectronicsRF Telemetry
Like what you see?
I'm open to embedded systems roles and contract work in Toronto and across North America.