Holographic Display Technology
Principal Embedded Software Engineer
Looking Glass Factory, light field display technology for the holographic future. Hardware and software stack facilitating the transition from Flatland and into the third dimension.
- Developed Embedded Linux platform based on Allwinner H618 SoC, from specificaiton, through bringup to shipping product.
- Transitioned existing firmware to MCU with availability during component shortage, preventing manufacturing downtime.
- Implemented USB HID API (C++) used in numerous products, allowing applications engineers to easily interface with hardware.
- Created automated production line programming and test applications (Python), ensuring all products are shipped in a functional state.
- Implemented serial bootloader (C) and desktop application software (Python), enabling users to flash OTA updates to their devices.
- Streamlined production line software provisioning and configuration by migrating to Ansible.
A.I.oT smart home startup
Chief Hardware Engineer (Co-Founder)
Ambi Labs offers an advanced air conditioning (AC) experience in the form of Ambi Climate. The A.I.oT device connects to your WiFi and controls your AC via infra-red. Utlising a number of sensors and AI, it automatically adjusts your AC, saving energy and enhancing user comfort.
- Brought to manufacture a mid-volume consumer electronics device from a clean sheet.
- Delivered product on time for two successful Kickstarter campaigns.
- Designed a dual MCU hardware device from prototype to production CAD (KiCAD).
- Wrote production ready software (embedded C/bash) for an embedded Linux system (Ralink RT5350 / Mediatek MT7688).
- Wrote production ready software (embedded C) for a bare metal MCU (STMicroelectronics STM32F103RCT6).
- Implemented a robust Firmware Over the Air (FOTA) update system for a multiple MCU architecture.
- Implemented continuous integration (CI) firmware build and test system running on Circle CI using Unity and CTest unit test frameworks.
- Implemented end to end integration testing of device API using Python.
- Worked closely with industrial designers and mechanical engineers to create an integrated design (iF Design Award).
- Implemented hardware (Raspberry Pi + custom hat) and software (Python/web.py/MySQL/SQLite) for production line test systems.
- Prepared materials and provided support to test houses in certifying devices for sale in multiple regions (CE/RED/FCC/TELEC), including creating custom test firmware and correcting EMC issues.
App development startup
Lead Engineer (Founder)
mydigitalimagination created the realtime telemetry dashboard add-on 'iRaceDash' for the eSports motor racing game iRacing.
- Self taught Android Java and Objective-C.
- Went from a blank sheet of paper to apps generating revenue in both the Google Play Store and App Store.
- Implemented efficient server to app communication inspired by the NetChannel UDP protocol used in the game Quake. Allowing a combination of unreliable low latency messages and reliable messages to be sent over UDP.
Design & manufacturer of radio broadcast equipment
Embedded Software Engineer (Consultant)
See company details below.
- Working remotely for previous employer after moving to Hong Kong.
- Developed embedded linux based Audio Over IP (AOIP) solution for 'low' latency studio to transmitter links.
- Implemented plugin architecture to easily allow adding new audio codecs (CELT, APTX).
- Prototyped using BeagleBoard (TI OMAP3530 SoC) and OpenEmbedded. Then migrated to PTXdist and custom hardware.
- Created embedded webserver to serve Flash based remote control application.
- Modified ALSA System on Chip (ASoC) audio driver to interface with custom audio hardware.
Design & manufacturer of radio broadcast equipment
Senior Embedded Engineer
BW Broadcast is a manufacturer of professional broadcast equipment, including FM transmitters, Audio processors, RDS encoders, FM amplifiers and FM receivers.
- Created automated production test scripts using the Prism Sound dScope III audio test set.
- Added support for new equipment to C++ applications used by customers to remotely control BW Broadcast products.
- Extended firmware running on Microchip PIC18F8720 to add support for new products.
- Facilitated moving production of higher volume products to China in order to reduce production costs.
- Learned component level repair and advanced soldering techniques.
- Configured and deployed an Asterisk based IP PBX phone system to meet the business requirements of having a low cost yet flexible telephone routing system.
Pharmaceutical services for medical trials
Production Programmer
ClinPhone offers interactive voice response (IVR) to coordinate multinational clinical trials for new medicines.
- Implemented automated telephone call flows using an in-house scripting language.
- Helped improve code quality by generating standardised re-usable templates.
- Worked with both medical and technical professionals to solidify client specifications.
- Learned the difference between quality and validation.