Craig Wenger, Developer in Chandler, AZ, United States
Craig is available for hire
Hire Craig

Craig Wenger

Verified Expert  in Engineering

Embedded Software Developer

Chandler, AZ, United States

Toptal member since August 21, 2015

Bio

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.

Portfolio

Embedded Engineering Solutions
Embedded Systems, C, IoT Protocols, Bluetooth Low Energy (LE), Xilinx Vivado...
Fortune 100 CPG Company (via Toptal)
Proximity, WiFi, AWS IoT, Embedded C, Embedded Systems, Embedded Software...
Switchmate (via Toptal)
Internet of Things (IoT), WiFi, Bluetooth Low Energy (LE), C, Embedded C...

Experience

  • Electrical Engineering - 19 years
  • Circuit Design - 19 years
  • Embedded Hardware - 17 years
  • Embedded Software - 17 years
  • Real-time Systems - 11 years
  • Embedded Systems - 11 years
  • Hardware Design - 11 years
  • Internet of Things (IoT) - 6 years

Availability

Full-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.

Work Experience

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 Low Energy (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 Internet of Things (IIoT), Nordic nRF51, FreeRTOS, Virtual Machines, Mbed, Object-oriented Design (OOD), Procedural Programming, Functional Programming, ASCII, PIC32, Real-time Operating System (RTOS), Hardware Design, Real-time Embedded Systems, Technology Consulting, Technical Consulting, GATT, STM32, Azure IoT Hub, Software Engineering, Technical Leadership, Engineering Management, LoRa, LoRaWAN, Electrical Engineering, System-on-a-Chip (SoC), CAN Bus, PCB Design, Real-time Systems, Verilog, Device Drivers, Eclipse, VirtualBox, VHDL, Microcontrollers, PCB Layout, Altium Designer (PCAD), MQTT, Raspberry Pi, Arduino, Azure IoT Edge, Azure IoT Suite, Particle, Azure, Serial Peripheral Interface (SPI), Universal Asynchronous Receiver/Transmitter (UART), Oscilloscopes & Tester Equipment, Python, Wearables, Wearable Technology, ARM, Embedded C++, Solution Design, Solution Architecture, Sensors & Actuators, Circuit Design, Sensor Data, Sensor Networks, I2C, Electronics, Zephyr, NVIDIA Jetson, Embedded Development, Serial Communication

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 Low Energy (LE), C, ESP32, Git, Software Development, Nordic nRF52, IoT Protocols, ASCII, Real-time Operating System (RTOS), Hardware Design, Real-time Embedded Systems, Technology Consulting, Technical Consulting, Software Engineering, Electrical Engineering, System-on-a-Chip (SoC), PCB Design, Embedded Hardware, Real-time Systems, Device Drivers, Microcontrollers, PCB Layout, Altium Designer (PCAD), MQTT, Raspberry Pi, Serial Peripheral Interface (SPI), Universal Asynchronous Receiver/Transmitter (UART), Oscilloscopes & Tester Equipment, ARM, Sensors & Actuators, Circuit Design, I2C, Electronics, Embedded Development, Serial Communication

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.
  • Developed low-level firmware driving BLE communication, motor control, and system monitoring. Worked with the team to integrate devices into a cloud-based management and control system.
Technologies: Internet of Things (IoT), WiFi, Bluetooth Low Energy (LE), C, Embedded C, Embedded Systems, Embedded Software, Firmware, Bluetooth, ARM Embedded, Git, Software Development, Nordic nRF52, Nordic nRF51, IoT Protocols, ASCII, Real-time Operating System (RTOS), Real-time Embedded Systems, Technology Consulting, Technical Consulting, GATT, Software Engineering, Electrical Engineering, System-on-a-Chip (SoC), Real-time Systems, Device Drivers, Microcontrollers, MQTT, Serial Peripheral Interface (SPI), Universal Asynchronous Receiver/Transmitter (UART), Oscilloscopes & Tester Equipment, ARM, Solution Architecture, Sensors & Actuators, I2C, Electronics, Embedded Development, Serial Communication

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 Low Energy (LE), Embedded Systems, Embedded Software, Firmware, Bluetooth, Internet of Things (IoT), C, WiFi, Software Development, IoT Protocols, ASCII, Real-time Operating System (RTOS), Real-time Embedded Systems, Technology Consulting, Technical Consulting, GATT, Software Engineering, Electrical Engineering, System-on-a-Chip (SoC), Real-time Systems, Device Drivers, Microcontrollers, MQTT, Serial Peripheral Interface (SPI), Universal Asynchronous Receiver/Transmitter (UART), Oscilloscopes & Tester Equipment, Solution Architecture, Sensors & Actuators, I2C, Electronics, Embedded Development, Serial Communication

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 Internet of Things (IIoT), ASCII, PIC32, Real-time Operating System (RTOS), Hardware Design, Real-time Embedded Systems, Technology Consulting, Technical Consulting, Software Engineering, Technical Leadership, Engineering Management, Electrical Engineering, System-on-a-Chip (SoC), CAN Bus, PCB Design, Real-time Systems, Device Drivers, Microcontrollers, PCB Layout, Altium Designer (PCAD), Serial Peripheral Interface (SPI), Universal Asynchronous Receiver/Transmitter (UART), Oscilloscopes & Tester Equipment, Solution Design, Sensors & Actuators, Circuit Design, Sensor Data, I2C, Electronics, Embedded Development, Serial Communication

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, PIC32, Real-time Operating System (RTOS), Hardware Design, Real-time Embedded Systems, Software Engineering, Technical Leadership, Engineering Management, Electrical Engineering, PCB Design, Real-time Systems, Device Drivers, Microcontrollers, PCB Layout, Altium Designer (PCAD), Serial Peripheral Interface (SPI), Universal Asynchronous Receiver/Transmitter (UART), Oscilloscopes & Tester Equipment, Solution Design, Circuit Design, Sensor Data, Electronics, Embedded Development, Serial Communication

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.
  • Built 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, Real-time Operating System (RTOS), Hardware Design, Real-time Embedded Systems, Software Engineering, Technical Leadership, Engineering Management, Electrical Engineering, PCB Design, Real-time Systems, Device Drivers, Serial Peripheral Interface (SPI), Universal Asynchronous Receiver/Transmitter (UART), Oscilloscopes & Tester Equipment, Electronics, Embedded Development, Serial Communication

Experience

Patent for Unique Method of Measuring Current in a Vehicle Battery System

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

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.

Education

2002 - 2005

Bachelor's Degree in Computer Systems Engineering

Arizona State University - Tempe, AZ

Skills

Tools

PCB Layout, Altium Designer (PCAD), MQTT, Azure IoT Hub, Instruments, Git, Wireshark, Azure IoT Suite, VirtualBox, Zephyr, NVIDIA Jetson

Languages

Embedded C, C, Embedded C++, Java, Verilog, VHDL, C#, C++, Python

Paradigms

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

Platforms

Bluetooth Low Energy (LE), Arduino, AWS IoT, Raspberry Pi, STM32, Particle, Embedded Linux, Eclipse, Linux, Ubuntu Linux, Amazon Web Services (AWS), Azure

Other

ESP32, Nordic nRF52, Firmware, Microcontrollers, I2C, Serial Peripheral Interface (SPI), Universal Asynchronous Receiver/Transmitter (UART), FreeRTOS, Code Composer Studio, MP LABX, Embedded Systems, Industrial Internet of Things (IIoT), Bluetooth, Software Development, Embedded Software, Embedded Hardware, ARM Embedded, Electronics, Electrical Engineering, Real-time Operating System (RTOS), Hardware Design, Real-time Embedded Systems, Technology Consulting, Technical Consulting, Software Engineering, Technical Leadership, Engineering Management, System-on-a-Chip (SoC), PCB Design, Oscilloscopes & Tester Equipment, ARM, Solution Design, Solution Architecture, Circuit Design, Embedded Development, Serial Communication, Xilinx Vivado, Device Drivers, Internet of Things (IoT), ASCII, PIC32, GATT, LoRa, LoRaWAN, CAN Bus, Wearables, Wearable Technology, Sensors & Actuators, Sensor Data, Sensor Networks, Nordic nRF51, Atmel, Devices, Proximity, Mbed, FPGA, Embedded Java, WiFi, Virtual Machines, IoT Protocols, Azure IoT Edge

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring