Dustin Michael DeWeese
Professional Experience
Mountain View, CA
Software Engineer
April 2017–Present
- Compiler for custom 2D accelerator hardware, released as the Pixel Visual Core in Pixel 2 phones.
- SymbiFlow open source FPGA toolchain.
Nest Labs
Palo Alto, CA
Embedded Algorithm Engineer
February 2015–-April 2017
- Influenced design of Weave Interface Description Language and protocols and designed many of the device interfaces
- Designed algorithms for embedded devices
- Battery life estimation with temperature compensation
- Sensor fault detection
Apple
Cupertino, CA
Software Instrumentation Engineer
January 2014–February 2015
- Designed fixture used for sensor testing in production
- Responsible for working closely with team and vendors to resolve all engineering issues
- Supported initial design and critical changes while meeting extremely short deadlines
Xylem Inc. / YSI
Yellow Springs, OH
Embedded Firmware Engineer
July 2012–January 2014
- Designed and implemented firmware for variable fluorometer sensor which can analyze algae vitality in a tenth of a second.
- Developed several sensors to measure water chemistry.
- Uses a complex packet-based network protocol.
- Must operate on very low power.
- Supported manufacturing by debugging third party software without access to source code.
Caterpillar Trimble Control Technologies
Huber Heights, OH
Software Engineer
September 2010–July 2012
- Designed and implemented software for automated testing of sensors via CAN.
- Improved firmware for a magnetic compass.
- Designed and implemented firmware to drive an 8 axis 6 degree of freedom inertial measurement unit.
- Principal Software Engineer on project.
- High profile project upon which 10 other system projects depend.
- Improved angle accuracy of the sensor 10 times over previous products while using same sensors.
- Added several innovative features, such as a multistage biquadratic filtering system implemented in 32 bit fixed point math, both linear and nonlinear compensation for calibration of the sensor, and a complementary filter to perform sensor fusion.
- Designed and implemented calibration software for the inertial measurement unit.
- Drives a high end motion simulator while logging data from up to ten sensor simultaneously.
- Performs analysis of logged data and produces calibrations so accurate that calibration error is not measurable.
- Well designed and extensible software resulted in consistently beating deadlines.
Ball Aerospace and Technologies Corporation
Fairborn, OH
Software Engineer
April 2003–August 2010
- Designed a wireless robotic sensor surveillance system.
- Wrote custom real-time virtual machine for embedded microcontroller.
- Designed unique multicast based shared memory messaging system.
- Interfaced scanning laser rangefinder, other sensors, and multiple processors on robot system.
- Held a Top Secret clearance.
- Researched applications of artificial intelligence, distributed computing, and security for the Air Force Research Laboratory.
- Worked as part of a team to develop satellite imaging tool.
- Developed web-based applications for the Air Force.
Other Experience
Open Source Software
2006–present
- contr: A continuation based reactive programming library in C for real-time embedded applications
- Peg: A lazy non-deterministic concatenative programming language
- PoprC: A compiler in development for the above language
- Linux USB driver for wireless messaging device, reverse engineered by snooping USB communication
- Ported GHC compiler to Nokia Internet Tablet and wrote autolock utility for N810
Class Projects
2006–2007
- Multichannel Audio Compression Algorithm
- Latent Dirichlet Allocation implementation (natural language analysis)
- Music generator using a specialized genetic algorithm
- Neural network to control a virtual robot sweeper
Bigloo (Scheme implementation)
2006
- Bug reports and fixes
- Submitted patches that improved automatic C foreign function interface generator
- Made Berkeley DB bindings
- Made OpenGL/GLUT/SDL bindings
Education
Wright State University
Dayton, OH
B.S. Computer Science
June 2003
- Specialized in Science/Mathematics
Wright State University
Dayton, OH
M.S. Computer Science
June 2007
- Machine Learning, Data Mining, Compression, Programming Languages
- GPA: 3.83
Skills
- Operating Systems: Linux, Android, Windows, Solaris, BSD, ChibiOS
- Embedded Systems: Linux on ARM, PSoC 5LP, MSP430, AVR ATmega, IC, Sun SPOT, IEEE 802.15.4, CAN, J1939, Altera FPGAs
- Computer Languages: Popr, C, C++, Haskell, Scheme, Common Lisp, JavaScript, Java, Postscript, SQL, Ruby, VHDL, Verilog
- SMD soldering, digital electronics design, fabrication, and repair
- Experience with Compilers, OpenGL, ray tracing, and 3D graphics, signal processing, DFT, digital filters, networking protocols, virtual machines