Embedded Software Consultant2019 - 2020Quanta Vici
Technologies: Near-field Communication (NFC), Bluetooth, C
- Refactored a messy implementation of Bluetooth (BLE) logic for an IoT smart heated glove product in C.
- Architected a state-based design to ensure a smooth integration of NFC and BLE.
Embedded Developer2018 - 2020Ecobee
Technologies: C++, Python, RTOS, C
- Developed the architecture and code in C for a novel, power-constrained, smart light-dimmer product from scratch.
- Wrote controllers for ADC, DMA, Bluetooth, sub-GHz radio, flash memory, and I2C on Micrium RTOS.
- Designed the packet protocol to communicate with Ecobee's ecosystem of products over sub-GHz radio.
- Developed system tests and integration tests using Python.
- Designed, simulated, and implemented a PID controller for reliable dimming of any type of lighting load (inductive, resistive, or capacitive).
- Designed, implemented, and tested a "bulb intelligence" algorithm to identify lighting loads and apply a customized dimming strategy to each one at runtime.
PCB Design Consultant (3 months)2018 - 2018Sinclair Interplanetary
Technologies: PCB, Altium Designer
- Designed 4 PCBs for electrical test automation of star trackers and reaction wheels using Altium Designer.
- Ordered PCBs and components, hand-assembled for bring-up and tested their functionality.
Computer Engineer2016 - 2017Agfa Graphics
Technologies: Modbus Protocol, MQTT, C, C++
- Developed user-space drivers in C to integrate external stacker and unstacker hardware with the printer platform.
- Collaborated with an external hardware vendor in the manufacturing facility to test and debug integration issues.
- Worked remotely with Agfa Graphics headquarters in Belgium to finalize requirements and implement the design, then traveled on-site every month to test and debug the designs on the hardware.
- Developed features and modules for the printer GUI application using the Qt framework and C++.