- IS2500SN (Primary firmware developer)
- DT7500SN (Primary firmware developer)
- DTPI8M (Primary firmware developer)
- C firmware development on MSP430
- C# utility development
- Python/Javascript scripting for misc. tool support
- Multiple circuit/software/mechanical experiments performed
- Formal report written and presented to peers
- New method discovered
- Implemented new method in all sensors under development at the time
- Allowed products, for the first time, to be sold in Russian markets
- Granted patent US8035514B2
- Created database of sensor samples
- Developed C# application to run different algorithms on the data set and visualize the output
- Developed C# framework to interface with LabJack USB DAQ hardware for signal injection
- Developed C# framework to inject pre-recorded walk-test signals
- Developed Packet format to be used over RS232 port
- Developed C# application to visualize data in real-time
- Improved SQA and helped to identify bugs
- Created circuit interfacing relays to controller board and had it manufactured
- Developed firmware to output sample data to logging PC
- Developed C# application to parse and log data to a database
- Developed Ruby script to parse data and host a local webserver with data visualization (google visualization API)
- Determined batteries from some manufacturers had critical performance issues
- Setup experiment comparing clock jitter among several controller platforms (TI MSP430 vs PIC18 vs Atmel ATMega)
- Correlated clock jitter to microwave performance degradation
- Setup experiment with varying number of sensors and broadcast periods
- Developed C# logging application to interface with proprietary security panel
- Logged and time-stamped received packets
- Determined packet loss could be attributed to RF collision for sufficiently large installations
- Evaluated hardware problem related to alarm relays latching too long
- Simulated circuit in spice
- Performed smoke analysis on circuit
- Determined that when all components varied (within tolerance) they could latch the drive transistor
- Suggested circuit/component change to fix problem
- Created sample hardware/firmware
- Showed working prototype
- Power-over-network motion detector DT7500SN / IS2500SN
- EMEA wireless motion detector (DTPI8m)
- Developed new algorithm for immunity to noisy fluorescent lights
- Developed low-power framework (<50uA) to extend battery life to > 4 years on devices
- Vx520 Sprocket (Primary OS driver developer)
- Vx680 WiFi/Bluetooth (Primary OS driver developer)
- Verix OS
- C firmware development on proprietary financial terminal OS (ARM1176 with security Enclave)
- C# utility development
- Ruby/Python/Javascript scripting for misc. tool support
- Driver to efficiently run printer hardware within specification
- Developed C# simulator application to simulate printer-head motor-control timing and troubleshoot driver issues
- Identified necessary changes and created development strategy
- Created test applications to interface directly with driver and test essential hardware
- Worked with library development team to create user-level interfaces
- Worked with test engineers to develop tests for Wifi-Alliance certification
- Moved all build/authentication/signing tools into single "tools" git repository
- Developed batch files to automate installation and easy switching between tool versions
- Synchronized version tracking of tools with projects such that tool versions and releases were correlated
- Created scripts to make pulling/building projects a single-step
- New developer bring-up time dropped from days to ~15 minutes
- PVCS to Git
- Developed Ruby script to automate database conversion
- Mentored team members
- Hosted training sessions
- Worked with management to ensure seamless transition -- no developer down-time
- Developed Ruby script to automate release note extraction from git log
- Developed Ruby script for "smart" project directory cleaning
- Added commit-template feature to Git Extensions (open source project)
- Researched and purchased server machine and CI software systems
- Configured Jenkins CI software with multiple-level email reporting
- Developed C# email bot that could build specified versions and reply with binary
- Configured VNC software for secure remote file signing
- PCMCIA/USB Data Transfer Device for Avionics (Primary firmware developer -- used on C-5/C-130/F-22)
- Milstar Time Synchronization Module (Primary firmware developer)
- USB 3.0 Data Transfer Module for Avionics (Technical team lead, firmware team member -- F-15)
- Numerous battery-operated SATCOM transmitter modules (Program lead)
- C++ firmware development on ARM Cortex-M microcontrollers
- C# utility development
- Python/Javascript scripting for misc. tool support
- Program/Growth/Partnership management
- Technical Leadership
- C# GUI to read/write device configuration for embedded devices
- Detect each programming interface
- Erase-Program-Test each device
- Trigger SATCOM transmits and verify message receipt on back-end server to end-to-end verification
- Implemented on IAR compiler/simulator
- Created parser to output results to junit compatible format readable by CI server
- PCMCIA and USB mass storage
- C++ firmware on ARM Cortex-M3 (LPC18xx)
- Embedded Linux on ARM Cortex A8 (ATSAMA5D36)
- C Firmware on ARM Cortex M0 (LPC824)
- Architected hardware design over ~12 months to meet vigorous requirements
- Worked to bring up embedded linux with <3 second boot time
- 512GB SSD, 64MB DDR RAM disks, configuration interface over USB2.0/3.0
- ST STM32 L4/F7/H7
- Custom, ultra-small, and ultra-low-power (<1uA), battery-operated SATCOM modules
- Lead a multi-disciplinary team of 12+ HW/SW/test/mechanical engineers to deliver products on short timelines
- Oversaw technical execution
- Business Development
- Primary advisor to division leadership
- Satellite system for custom payload
- C/C++ firmware development on satellite systems
- BSP and driver development (C, embedded Linux)
- Flight software component development (C++17)
- C Linux drivers
- C++ software module to command ADCS module and retrieve status
- Planning and documentation of HWIL simulation approach
- C++ development of drivers and simulation modules
- Schematic capture/layout for handheld controller, central routing and camera controller
- Developed firmware for controller signal routing (ATmega32)
- Schematic capture/layout for machine controller
- Developed firmware (UI, motor control, audio indication, safety)
- Schematic capture/layout for central controller, sensors, and peripheral connector boards
- Worked with mechanical engineer to ensure placement and compatibility with mechanical housing
- Developed three-layer hardware platform: Sensor(MSP430) <-> (Hardware Controller)ARM Cortex-M3 <-> (Master Controller)OMAP 3530
- Developed custom multi-master I2C protocol to allow transactions between each layer
- Wrote hardware drivers for device bring-up
- http://www.barobo.com/
- Version 1
- PSOC
- Firmware for 4-port controller and single controller
- C
- Version 2
- LPC8xx/LPC15xx
- Added overcurrent/short detection
- C++
- Version 3
- ATSAMD21
- C++
- Researched high efficiency closed-form solution to the forward kinematics of the NASA Contact Dynamics Simulation Laboratory six-DOF Stewart platform.
- Developed and programmed solution algorithm (MATLAB)
- Project
- Used for macro debugging
- ASP.net and python
- Robotic shooting gallery robot to shoot down targets as fast as possible
- 15
- 16
- Defconbots.org
- Hardware design of targets
- Firmware for targets
- Contacted sponsors and got ~$3000 in prizes donated
- 22
- MSP430G2452 and standalone targets
- 23
- LPC824 with zigbee connection to targets
- Wrote application to communicate with targets and run contest from laptop (C#)
- Designed step-up voltage converter
- Co-founded on-campus robotics enthusiast club (Competitive Robotics @ CSUS)
- Designed 360-degree robotic camera platform
- Designed electro-ocular PC mouse replacement (senior project)
- Super-Heavyweight battlebot (340 lb)