Craig Wenger, Embedded Software Developer in Mesa, AZ, United States
Craig Wenger

Embedded Software Developer in Mesa, AZ, United States

Member since May 12, 2015
Craig has been an active freelance embedded systems engineer for more than a decade. He has extensive experience in embedded system hardware and firmware development on a variety of products including medical, communications, industrial automation, motor control, consumer electronics, and IoT.
Craig is now available for hire

Portfolio

Experience

  • Software Development 17 years
  • Embedded Systems 11 years
  • Embedded C 11 years
  • Real-time Systems 11 years
  • Bluetooth 4 years
  • Industrial IoT 3 years
  • C++ 2 years
  • AWS IoT 2 years

Location

Mesa, AZ, United States

Availability

Part-time

Preferred Environment

Embedded C, Embedded Systems

The most amazing...

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

Employment

  • Principal Engineer

    2012 - PRESENT
    Embedded Engineering Solutions
    • Led a cross-functional contract engineering team ranging from four to 13 engineers completing a variety of projects for multiple customers.
    • 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 a remote battery monitoring device for power monitoring with Azure IoT integration.
    • Worked with a team building a smart pet door with automated controls, cloud integration with Azure IoT, and a mobile app for control.
    • Designed an access control device that used a BLE connection to a mobile device and geofencing functionality to provide an indication of authorization for users to access controlled areas.
    • Worked with a team designing an advanced LED control system driving up to 80 multi-color LEDs with simultaneous color mixing, patterns, and music synchronization.
    • Designed an advanced irrigation control device running embedded Linux.
    • Worked with a team designing an inventory control system with remote devices wirelessly communicating with a central on-site server and database.
    Technologies: Embedded Systems, C, IoT Protocols, Bluetooth LE, Xilinx Vivado, Embedded C, Embedded Software, Embedded Hardware, Firmware, Bluetooth, Internet of Things (IoT), ARM Embedded, WiFi, ESP32, FPGA, C#, Embedded Linux, Ubuntu Linux, Amazon Web Services (AWS), Linux, Wireshark, Git, C++, Software Development, Code Composer Studio, MP LABX, Nordic nRF52, Industrial IoT, Nordic nRF51, FreeRTOS, Virtual Machines, Mbed, Object-oriented Design (OOD), Procedural Programming, Functional Programming
  • Principle IoT Hardware Engineer

    2019 - 2020
    Fortune 100 CPG Company (via Toptal)
    • Built a remote IoT device to monitor product levels in a customized package.
    • Developed a simple user interface to display product levels on a mobile device.
    • Designed cloud support to notify the user of low product levels via text message or app notification.
    • Built a proof-of-concept prototype to demonstrate system functionality.
    • Demonstrated system functionality to relevant stakeholders, including multiple C-level executives.
    Technologies: Proximity, WiFi, AWS IoT, Embedded C, Embedded Systems, Embedded Software, Firmware, Bluetooth, Internet of Things (IoT), Bluetooth LE, C, ESP32, Git, Software Development, Nordic nRF52, IoT Protocols
  • 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: Internet of Things (IoT), WiFi, Bluetooth LE, C, Embedded C, Embedded Systems, Embedded Software, Firmware, Bluetooth, ARM Embedded, Git, Software Development, Nordic nRF52, Nordic nRF51, IoT Protocols
  • 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: Instruments, Atmel, Embedded C, Bluetooth LE, Embedded Systems, Embedded Software, Firmware, Bluetooth, Internet of Things (IoT), C, WiFi, Software Development, IoT Protocols
  • 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.
    • Built 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: Devices, Embedded Systems, Embedded C, Embedded Software, Embedded Hardware, Firmware, C, Wireshark, Software Development, Industrial IoT
  • 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 Systems, Embedded C, Embedded Software, Embedded Hardware, Firmware, C, Software Development, MP LABX
  • 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 C, Embedded Java, Embedded Systems, Embedded Software, Embedded Hardware, Firmware, C, Java, Software Development

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, C, Java, Verilog, VHDL, C#, C++
  • Paradigms

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

    Bluetooth LE, Arduino, AWS IoT, STM32, Particle, Embedded Linux, Eclipse, Linux, Ubuntu Linux, Amazon Web Services (AWS)
  • Other

    Nordic nRF52, Firmware, Microcontrollers, I2C, Serial Peripheral Interface (SPI), Universal Asynchronous Receiver/Transmitter (UART), Code Composer Studio, MP LABX, Embedded Systems, Industrial IoT, Bluetooth, Software Development, Embedded Software, Embedded Hardware, ARM Embedded, Xilinx Vivado, Device Drivers, Internet of Things (IoT), ESP32, Nordic nRF51, Atmel, Devices, Proximity, Mbed, FreeRTOS, FPGA, Embedded Java, WiFi, Virtual Machines, IoT Protocols
  • Tools

    Instruments, Git, Wireshark, Azure IoT Suite, VirtualBox

Education

  • Bachelor's degree in Computer Systems Engineering
    2002 - 2005
    Arizona State University - Tempe, AZ

To view more profiles

Join Toptal
Share it with others