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



  • 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


Mesa, AZ, United States



Preferred Environment

Embedded C, Embedded Systems

The most amazing...

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


  • 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 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 BLE connection to a mobile device and geofencing functionality to provide 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.
    • Designed multiple custom drivers for a Xilinx Zynq-7000 demo board using both bare metal and embedded Linux.
    • Designed an advanced exercise machine using a Raspberry Pi running Linux.
    • Designed and developed an eye tracking and patient feedback solution for a medical kiosk.
    Technologies: Embedded Systems, Atmel
  • 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 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: Bluetooth LE, Internet of Things (IoT), WiFi, C
  • 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
  • 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: Devices, Embedded Systems
  • 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 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


  • Patent for Unique Method of Measuring Current in a Vehicle Battery System (Other amazing things)

    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)

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


  • Languages

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

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

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

    Nordic nRF52, Firmware, Code Composer Studio, MP LABX, Embedded Systems, Industrial IoT, Bluetooth, Software Development, Embedded Software, Embedded Hardware, ARM Embedded, Xilinx Vivado, Device Drivers, ESP32, Nordic nRF51, Atmel, Devices, Proximity, Mbed, FreeRTOS, FPGA, Embedded Java, WiFi, Virtual Machines, IoT Protocols
  • Industry Expertise

    Internet of Things (IoT)
  • Tools

    Instruments, Git, Wireshark, Azure IoT Suite, VirtualBox


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

To view more profiles

Join Toptal
Share it with others