
Craig Wenger
Verified Expert in Engineering
Embedded Software Developer
Chandler, AZ, United States
Toptal member since August 21, 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.
Portfolio
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
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
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.
Principle IoT Hardware Engineer
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.
Embedded Firmware Engineer
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.
Embedded Software Developer
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.
Engineering Manager, Industrial Products
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.
Lead Project Engineer
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.
Embedded Systems Engineer
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.
Experience
Patent for Unique Method of Measuring Current in a Vehicle Battery System
https://www.google.com/patents/CA2775232A1Patent for Method to Charge Multiple Vehicle Batteries Simultaneously
https://www.google.com/patents/US20120019215Education
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring