You are on page 1of 5

QUALIFICATIONS

* Lead Hardware Engineer, System Architect, Firmware Developer, and Electronics


Tester of the DigiPen Augger & Augger++ handheld game consoles
* 4+ years extensive experience with electronics, electronic design, communicati
on protocols for embedded systems, CAD specifically for PCB design, digital syst
ems, and circuitry
* 4+ years solid experience in programming C & C++ specifically for firmware des
ign and experience with creating build systems using makefiles
* 3+ years specific experience in FPGA design, 8, 16, and 32-bit embedded microc
ontrollers, firmware design, and implementation
* 3+ years experience in conceiving, designing, and architecting with a team to
implement an entire embedded system device
* 3+ years technical writing experience for embedded devices and robotics curric
ulum
* 2+ years experience in Real-Time Operating System kernel and application imple
mentation and debugging
* 2+ years experience with CAM and BOM processes for product manufacturing
* Highly motivated, fearless of hardware, versatile
* Extremely passionate for making things work - A strong "get it done" attitude
* A potent work ethic and excellent soldering skills
TECHNICAL EXPERIENCE
* Languages: C (4+ yrs), C++ (6+ yrs), Verilog HDL (3+ yrs), Assembler (ARM, PIC
, Z80, Coldfire, x86)
* Platforms: Altera Cyclone FPGA Family, Windows, Linux, Game Boy Advance
o Microcontrollers: ARM (7/9), PIC (8/16/32-bit), Coldfire, Nios II
* Protocols: I2C, SPI, UART/RS-232, SRAM/SSRAM interfaces, parallel LCD interfac
es, ELF executables & startup procedures for microcontrollers
* Hardware: Digital accelerometer & compass, resistive touch screens, DACs, LCDs
, CMOS camera, audio CODEC, SRAM, PCB layout
* Software: Subversion, Trac, Doxygen, Make, GNU tools (GCC, G++, GDB, Insight,
AR), Quartus II, Visual Studio, CodeWarrior, EAGLE, Inventor, MPLAB, Typo3, Keil
, MATLAB, Premiere & Media Encoder, Camtasia
EDUCATION
* Bachelor of Science in Computer Engineering
o DigiPen Institute of Technology - Redmond, WA - Graduated May 2010
o Minor in Mathematics
o Valedictorian, GPA 3.92
EMPLOYMENT
* Engineering Curriculum Developer and Instructor May 2010 - cur
rent
DigiPen Corporation Redmond, WA
o Instructor for DigiPen Mechatronics high school Technology Academy programs at
two Washington State Career and Technical Education Skills Centers (PCSC and Wa
NIC) - Mechatronics is a multidisciplinary subject combining electrical, mechani
cal, and software engineering with systems engineering and product design
o Spearheaded the curriculum dev and embedded systems hardware/software dev for
DigiPen's Mechatronics and ProjectFUN Robotics programs
o Developed skills in rapid prototyping using CNC mills and 3D printers, the CAD
-CAM-CNC process, and G-code CNC programming
o Developed curriculum, hardware, and firmware and performed R&D for high school
robotics and computer engineering degree programs
o Designed entire curriculum and directed the development of embedded hardware d
evices and firmware used for the DigiPen ProjectFUN eToys workshop, a new progra
m for summer 2010
o Coordinated a team of web developers to generate and publish technical online
content and projects for video games, 3D animation, and robotics
o Currently hold a Washington State Career and Technical Education teaching lice
nse

* DigiPen ProjectFUN Workshops Instructor and Developer


April 2008 - May 2010
DigiPen Institute of Technology Redmond, WA
o Taught DigiPen's ProjectFUN summer robotics programs and Washington State Care
er and Technical Education summer school
o Developed curriculum, lesson plans, APIs, firmware, online content, testing pr
ocedures for embedded hardware, and code examples for the robotics kit used by s
tudents, also helping with PCB population and debugging
o Developed and implemented online robotics projects to supplement the workshops
, leading the web team for other workshops as well
o Researched and developed technologies and curriculum for DigiPen's ProjectFUN
eToys summer workshop
o Co-developed WA OSPI Framework for DigiPen Mechatronics - responsible for curr
iculum technical content areas
o Developed skills in screen capture production, video editing, and video produc
tion - created and produced the Chris' Solder Bench online video blog series: ht
tps://projectfun.digipen.edu/chris-solder-bench/

* Materials Management
July 2007 - August 2007
Nintendo of America (Aerotek) Redmond, WA
o Worked various positions on the assembly line team to package Nintendo product
s for shipment (sure was a lot of fun!)
o Selected for a solo project in the Technical Services Department to update lin
ks with Nintendo's internal parts database in the kiosk hardware documentation u
sed by technicians
* Jack of All Trades
October 2003 - August 2006
Leidig's Farm and Greenhouse Tyrone, PA
o Demonstrated a strong work ethic planting flowers, trees, and shrubs, caring f
or greenhouses, fulfilling watering duties, as well as preparing and organizatio
n retail/wholesale products
o Sorted and packed produce, performed seasonal cleanup and preparation, and har
vested pumpkins, corn, and pine trees in the fields - responsible for handling a
nd selling Christmas trees
o Designed and built many small construction projects including a soil machine h
opper extension and interior for produce cooler
PROJECTS
* Augger & Augger++ Game Consoles
A fully loaded and functional handheld game console built from scratch using a c
ustom PCB design and custom hardware using an FPGA. Loads apps from an SD card
and has accelerometers, a touch screen, a camera, VGA output, plus so much more.
o Team roles: Lead Hardware Engineer, System Architect, Firmware Developer, and
Electronics Tester
o Designed system architecture, performed BOM component selections, created PCB
layout, and populated components on the PCB - Team leader for technical design a
nd dev
o Developed and tested circuits for interfacing with peripherals and wrote firmw
are drivers for digital accelerometers, digital compass, resistive touch screen
controllers, audio DAC & CODEC, SRAM & SSRAM memory, LCD, and CMOS camera using
a mix of C and Verilog coding - worked with Nios II soft processor core on FPGA
to access memory and peripherals
o Implemented FPGA logic to drive an audio DAC with PCM data from a WAV file - i
mplemented touch screen calibration firmware with Flash storage - integrated VGA
and CMOS camera drivers on FPGA with SRAM memory access multiplexers
o Architected and implemented digital hardware logic on an FPGA to memory map pe
ripherals connected to the FPGA into an ARM9 microcontroller address space - fir
mware on the microcontroller could directly and seamless access configuration bi
ts and data from external peripherals connected to the FPGA, as well as multiple
banks of SRAM, all through a single continuous address space on the microcontro
ller
o Wrote from-scratch hardware-level drivers, dynamic memory manager, system init
code, and integrated open-source FAT driver with SD card driver for file access
- contributed to FullFAT open source file system: http://www.fullfat-fs.co.uk/H
ome/About - developed a RAM-based file system in C++ based on a binary search tr
ee
o Implemented a dynamic app bootloader based on ELF files and made it possible f
or apps to be optimized by using firmware code in the microcontroller's Flash me
mory for maximum code execution speed
o Provided high-level API support - developed entire build system for firmware a
nd apps using makefiles; a single make directive on the command line could build
microcontroller firmware, FPGA initialization binaries, and all apps, as well a
s download binaries to the microcontroller and FPGA initialization Flash memory
* WinRAR
An autonomous walking robot with a remote control, 4-bit music, and absolutely n
o microcontrollers, all created on breadboards.
o Team leader and primary technical author of complete documentation for the mac
hine
o Designed a memory bus architecture and audible tone generator
o Designed and implemented a 4-bit memory bus architecture with 5-bit addressing
using D-type tri-state flip-flops
o Implemented a frequency switching system for audio playback, able to load tone
index data from the 4-bit memory
o Built a UART serial communication module in hardware using shift registers and
interfaced it with a wireless Zigbee module
o Team leader for integrating motor control, audio, memory, communication, and s
tatus modules in the final robot build
* Turretiers - Real-Time Operating System
A from-scratch real-time operating system for the Coldfire microcontroller with
an application for gun-slinging target practice. OS was also ported to ARM.
o Designed and implemented a real-time OS kernel with selectable features both a
t compile-time and run-time, dynamic task creation, and multiple task state queu
es
o Created semaphore, mutex, and mailbox synchronization systems for task use whi
ch coordinated with HRRN task scheduling
o Developed an application for the RTOS to access audio, GameCube controllers, s
ervos, and air guns while players used them in a game, which switched between mu
ltiple tasks and used semaphores and mailboxes to synchronize the tasks - allowe
d two players to control independent gun modules at once, while the system playe
d music and controlled a target module
o Implemented a driver on a 60MHz 32-bit microcontroller to communicate using th
e GameCube controller protocol
o Wrote a complete technical manual for how to use the kernel, which detailed th
e system architecture
o Out of a lack of PWM microcontroller resources, used a UART module to generate
square-wave audio signals
* Embedded Systems Class Assignments
Assignments for computer engineering students to gain experience in using the st
andard communication protocols, I2C, SPI, UART, and USB as well as implementing
SD card access and file systems for app loading at runtime.
o Designed, implemented, and tested projects - UART relayer, SPI Flash read/writ
e, I2C digital accelerometer data retrieval, SD card access with an emphasis on
app loading using a FAT file system - R&D for UART RFID module, SPI LCD, analog
gyro, and USB projects
o Designed and etched PCBs for quick turnaround and to cut costs
o Held guest lectures about technologies used by the assignments and provided in
-class and out-of-class support to the students
* DigiPen eToys Electronics Kit
A modular electronics kit for high school students which introduces embedded sys
tems, LCDs, touch screens, audio playback, wireless networking, and computer pro
gramming through hands-on project-based curriculum.
o Designed and implemented all hardware and firmware of audio playback board - i
nterfaced 8-bit microcontroller with audio CODEC and wrote firmware to accept a
specific command set over an I2C bus for controlling audio file playback and spe
cial effects
o Wrote firmware for a wireless networking board using Zigbee technology - wrote
firmware on an 8-bit microcontroller to accept a specific command set over an I
2C bus for controlling Zigbee functions and connections, as well as data transmi
ssion and reception
o Designed and implemented an LCD graphics demo board - implemented LCD driver f
irmware on a 32-bit microcontroller and interfaced with a resistive touch screen
controller - implemented touch screen calibration firmware
* Real-Time Physics of Virtual Objects in a Live Video Stream
A simple physics engine which uses edge points obtained from the Sobel edge dete
ction image processing algorithm as collision points, allowing colored balls to
bounce off of objects in a live video.
o Interfaced with a C# camera API to capture image data and implemented a Sobel
edge detection filter to apply on this data
o Implemented a circle-based collision engine which used the image edge points a
s collision data
o Wrote C# code to bounce balls on the collision data obtained from edge points
in the real-world image, all in real-time
* Real-Time AI Task Scheduler
A Real-Time Operating System kernel whose job is to schedule intensive AI tasks.
o Ported an RTOS kernel to be used for scheduling AI components in a computer ga
me - team role was to make the port work
o Kernel allowed a maximum time per frame to be set for AI processing during eac
h frame
o Scheduler supports round-robin, HRRN, and EDF scheduling algorithms to give ea
ch AI task a slice of time per frame, and it allows the developer to prioritize
tasks based on entering an estimated total time for it to complete execution
o Created a demonstration program, which scheduled agents wanting to process A*
path finding algorithms, showing how a game's frame rate could be kept above a d
esired threshold and still complete its AI processing in a deterministic time pe
riod
* Snowglobe: Secret of Freon
A text-based exploration game about a world that grows colder each day.
o Developed a C compliant text-based game for Windows
o Held the team position of Lead Programmer
o Created and conformed to game design and technical design documents and adjust
ed design based on focus group feedback
o Responsible for audio playback, in-game trading system, game weather, and cons
ole effects
* Squiggy
An RC car taken over by an 8-bit microcontroller and steered using a PC as the d
river via Bluetooth.
o Team leader for a project to program a robot entirely in PIC microcontroller a
ssembly
o Interfaced with a Bluetooth device for computer control and wrote custom COM p
ort program for Windows
o Equipped vehicle with a horn (speaker), signaling lights (LEDs), and a rotatin
g headlight on a servo, controlled by key presses