Pulse
Pulse is a camera control product that instantiates as a USB host to control camera settings, and connects to an iOS or Android device over BLE and BT Classic to control camera settings and transfer thumbnail images via your phone.
As the team lead on Pulse, I handled all product architecture, all Electronics Design, and all Bootloader development. I further managed and took part in the Firmware Development and the Mechanical Design, and I managed the App Design and its backend integration. I also oversaw all manufacturing and support documentation. Designed as Lead Engineer at Alpine Labs.
Initial Prototyping
Creating a compact product capable of operating as a USB host and transferring images to a smartphone wirelessly required careful product specification and review of available technologies and software stacks. Close collaboration with Industrial design then allowed for quick iterations of the electronics to inform the mechanical envelope.
Electronics
Pulse utilizes two separate PCBs to facilitate its industrial design and avoid interference between the radio module and other electronics. Pulse features a Lithium-ion battery Charge IC that is capable of boosting to 5V for USB hosting, a Cortex M0 MCU, and a Bluetooth Dual Mode module.
FIRMWARE
Written in C++ for a Cortex M0+ MCU, Pulse's Firmware instantiates as a USB Host and communicates to the phone via a Bluetooth Dual Mode Radio. The firmware runs a state machine using the QP framework to facilitate management of the camera communications and modeming of thumbnail image data.