Scroll To View More
Craig Wenger, Embedded Systems Developer in Tempe, AZ, United States
Craig Wenger

Embedded Systems Developer in Tempe, AZ, United States

Member since May 12, 2015
Craig has been an active freelance Embedded Systems Engineer for eight years, with five years of full time work. He has extensive experience in embedded system hardware and firmware development on a variety of products including medical, communications, industrial automation, and motor control.
Craig is now available for hire

Portfolio

Experience

  • Embedded Systems, 11 years
  • Real-time Systems, 11 years
  • Embedded C, 11 years
Tempe, AZ, United States

Availability

Full-time

Preferred Environment

Embedded Systems, Embedded C

The most amazing...

...product I have developed is a three-phase motor drive optimized for solar power applications.

Employment

  • Principal Engineer

    2012 - PRESENT
    Embedded Engineering Solutions LLC
    • Developed a three-phase motor drive optimized for solar applications.
    • Built an electro-mechanical chest compressor product for automated CPR.
    • Developed the test protocol for an embedded medical communication device for remote medical monitoring.
    • Built a motor driver and pressure monitor for a blood pressure cuff for a medical kiosk.
    • Designed and developed an eye tracking and patient feedback solution for a medical kiosk.
    Technologies: Embedded C on TI, Microchip, Atmel, ST Devices
  • Embedded Firmware Engineer

    2018 - 2018
    Switchmate (via Toptal)
    • Worked with a team developing a suite of IoT home automation products including light switches, power sockets, cameras, and sensors.
    • Integrated all devices with both a cloud service and mobile devices.
    Technologies: C, BLE, Wifi, IoT
  • Embedded Software Developer

    2016 - 2017
    WaterGuru, Inc. (via Toptal)
    • Developed low-level functions to support communication over BLE via an external BLE controller.
    • Defined and implemented an encrypted protocol for secure communication.
    • Developed and verified random number generation using hardware entropy sources.
    • Rewrote various functions to improve space efficiency.
    • Implemented a secure, three-way handshaking protocol between the embedded device, mobile device, and server.
    Technologies: Bluetooth Low Energy, Embedded C, Atmel, Texas Instruments
  • Engineering Manager, Industrial Products

    2009 - 2012
    Ecotality Inc
    • Developed and patented a unique methodology for measuring current on vehicle battery applications.
    • Developed and patented a system for simultaneously charging multiple vehicle battery systems.
    • Developed an embedded interface platform that unified multiple independently maintained product platforms.
    • Managed a multi-disciplinary team of engineers to develop new products for the industrial vehicle battery charging market.
    • Developed a multi-site, multi-vehicle battery data monitoring and control system under a Department of Energy contract.
    Technologies: Embedded C on Atmel, Microchip, Motorola Devices
  • Lead Project Engineer

    2008 - 2009
    Power Efficiency Corporation
    • Led a team of engineers developing motor starters and energy efficient motor drives.
    • Implemented closed loop control algorithms for output voltage control.
    • Developed a test protocol used to validate all new products and functional changes.
    • Implemented a system of bug tracking and revision control to improve quality and reduce field failures.
    • Worked with the certifying authority to complete all necessary testing for UL certification of the product.
    Technologies: Embedded C on dsPIC
  • Embedded Systems Engineer

    2008 - 2008
    Aegis Technologies
    • Deployed a TCP/IP stack on an embedded encryption platform—used an existing stack customized for the specific needs of the application.
    • Wrote an ARP implementation that was missing from the TCP/IP stack available for the embedded processor in the product.
    • Developed the communication protocol to manage data transfer between two different embedded devices and ensured data integrity while minimizing latency.
    • Developed hardware requirements to ensure compliance with strict electric utility communication protocols.
    • Optimized embedded Java handling and packetization of data for improved throughput and reduced latency.
    Technologies: Embedded Java, Embedded C

Experience

  • Patent for Unique Method of Measuring Current in a Vehicle Battery System (Other amazing things)
    https://www.google.com/patents/CA2775232A1

    This patent describes a method I developed for measuring current in a vehicle battery system without the need for a Hall Effect or shunt type measurement device. The method uses a differential voltage measurement from within the existing battery system to calculate both the charge and discharge current.

  • Patent for Method to Charge Multiple Vehicle Batteries Simultaneously (Other amazing things)
    https://www.google.com/patents/US20120019215

    This describes a method for charging multiple vehicle batteries simultaneously and improving the overall efficiency of a given vehicle battery charging system.

Skills

  • Languages

    Embedded C, Java, Verilog, VHDL, C#, C++
  • Other

    Code Composer Studio, MP LABX, Embedded Systems, Software Development, Embedded Software, Xilinx Vivado, Device Drivers, Mbed, FreeRTOS, FPGA, Embedded Java, Industrial IoT, Bluetooth, WiFi, Virtual Machines
  • Tools

    Git, Wireshark, Azure IoT Suite, VirtualBox
  • Paradigms

    Real-time Systems, Object-oriented Design (OOD), Procedural Programming, Functional Programming
  • Platforms

    Embedded Linux, AWS IoT, Bluetooth LE, Eclipse, Linux, Ubuntu Linux

Education

  • Bachelor's degree in Computer Systems Engineering
    2002 - 2005
    Arizona State University - Tempe, AZ
I really like this profile
Share it with others