I view programming as my craft. I have lots of experience working “close to the metal” whether it be kernel drivers or embedded firmware. My unique debugging style allows me to find and solve often difficult to isolate or complex problems. My clients gain a feeling of security because they know issues will get resolved. I believe in clean code that’s easy to read and provides long-term maintainability. There’s nothing too hard and out of the box. It’s my job to solve problems.
- Embedded Firmware, RTOS, Custom OS
- STM32, Freescale Cortex M4, Ti C3200, CSR BlueCore, AD BlackFin, Arduino, Atmel AVR, 8051
- USB, SPI, I2C, I2S, Ethernet, UART, Bluetooth, BTLE, WiFi, Embedded Web Servers
- Windows Kernel Mode Drivers (WDM)
- Windows Networking
- Boost C++
- Qt Quick
- Linux Kernel Drivers
- Mac Cocoa
- IOS Cocoa
- Unix BSD applications
October, 2007 – Present. Vice President, Bramson Welch & Assoc., Inc.
Bramson Welch is an Engineering Services consultancy specializing in embedded systems, USB, RF, IR, Data Communications, mobile devices, iPhone accessories and litigation services including data analysis and Expert Witness. I serve as Software Engineering Lead and on all BWA projects. I frequently work with multiple client groups to implement complex software architectures across many different technical domains.
- Designed and prototyped a BTLE/WiFi gateway system bringing together wearable BTLE devices, local BTLE/WiFi gateways and a Node.js server backend, to support Kiosks, security checkpoints, points of sale, etc.
- Developed scheme for “plugging USB device into internet” by using Socketio and a local webpage
- Developed several Node.js webserver projects
- Managed a “Big Data” Analytics project for Lawyers in a complex class action litigation
- Implemented numerous iPhone and iPad applications for data and image capture, and backend server communication
- BTLE firmware (Ti 2650 and Fresscale K50) that used stand-alone security framework for authentication, and encrypted messages from device. Included test apps developed on iOS using CoreBluetooth (Peripheral and Central).
- Managed project for low power device tiles that used BTLE to talk to Android and iOS. Implemented device firmware, and custom data store scheme which could be sync’d to web server and allowed a user to “pair” to the devices. Included firmware update over BTLE interface.
- Custom STM32 firmware for Cortex M0 and M4 that used HCI interface to BTLE module and provided firmware update mechanism for either USB or Over the Air (layered on BTLE). Also included PC and iOS apps for firmware update.
- MFI Accessories for iPhone and iPad that provided ethernet capabilities over High-Speed USB. The firmware coordinated all Apple required protocol communication, authentication and the task of synchronizing ethernet hardware DMA and USB messages. The device also supported firmware update from iOS (over USB connection). Managed the team that created firmware for STM32 Cortex M4, and developed stand-alone network stack to run on iOS.
- Developed Peer-2-Peer messaging and file transfer application that was designed to be self-discovering and run on Ad-Hoc networks (no internet required). Uses UDP for discovery and SSL for message and file transfers. Runs on Mac OS X and Windows and was published to Mac App Store.
- Managed project to port Windows kernel driver to Mac OS X that talks to spectrum analysis equipment.
- Managed team and implemented firmware for complex device control bus. Multiple boards each with 7 or 9 processors (STM32 Cortex M3’s) communicating on an RJ45 bus. The project involved a master that coordinated each of the slave nodes. There were also hot-plugging modules that provided USB connectivity to Linux, Mac or Windows host. The master firmware would discover and store in flash the topography of the connected boards. This was because each installation of the system could be different. The individual slave boards were intended to be modular resulting in different types of topographies. The systems also contained IR sensing capability with a simple bit protocol layered on the IR stream. This allowed external devices to send simple alert updates which the system could report over USB to various hosts.
July, 1997 – September, 2007 Senior Software Engineer, Keyspan and InnoSys Incorporated
- Software Engineer on a $2MM project to design, develop and deploy a sophisticated store and forward message switch for a major airline reservation system. The system is still in use after 20 years.
- Contributed critical IP to a Patent Pending Network-attached USB Host Controller that allow USB devices to be shared over a network
- Was co-inventor for a Patent Pending wireless LCD remote control for the iPod with an RF Doc.
- Best-in-industry line of USB/Serial adapters
- Several IR and RF Remote control products for controlling a PC or Mac
BA, Astrophysics. UC Berkeley, 1997