AaronClarke.com
Blue circuit board

Embedded Systems Consulting Experience

I am an embedded systems consultant specializing in embedded software, firmware, embedded Linux, and on-device AI development. I work with startups and established companies to develop new products, build prototypes, solve difficult hardware/software integration problems, and improve existing designs. My recent work includes deploying and optimizing AI models on embedded processors, including CPU, GPU, and NPU acceleration. Please contact me to discuss your project by calling or texting 716-514-4141 or emailing ac@aaronclarke.com.

Since 1995, I have developed embedded systems for companies of all sizes, contributing to products across consumer electronics, defense, aerospace, medical, and industrial markets. My experience ranges from low-level firmware, processor bring-up, and real-time DSP to embedded Linux and Edge AI. I enjoy solving difficult engineering problems and helping clients bring products from concept through development and testing.

I also maintain a blog that focuses on embedded systems development, primarily working with development boards and offering various tutorials, which you can find at blog.EmbeddedCoding.com. If you would like to learn more about my work, see my interview as an EEWeb Featured Engineer series. You can also download my resume in PDF format.

Embedded Systems Engineering Services

Here are some examples of the services I offer:

I can supplement your engineering team at any phase of development, whether you need temporary support for a difficult integration problem or help diagnosing hardware issues. For startups, I can serve in an advisory role, leveraging my familiarity with similar projects to step in quickly when needed. Identifying mistakes during a schematic review, for instance, can prevent the need for a board re-spin, which leads to significant savings in both time and cost.

Update: I would like to introduce Maxwell Clarke, an Embedded AI Engineer now available to take on your AI-related projects. Maxwell specializes in deploying machine learning on embedded and edge devices, and is experienced across computer vision, edge inference, and satellite communications. His resume is available below.

Feel free to reach out today to discuss how I can assist with your project.

AARON CLARKE

Summary

Embedded Systems Engineer and independent consultant with 30+ years of experience in
firmware, C/C++, embedded Linux, RTOS, DSP, and hardware/software integration.
Recent work includes on-device Edge AI, CPU/GPU/NPU inference, speech and language
models, embedded IoT, and low-power wireless systems. Experience spans aerospace,
industrial, medical, consumer electronics, and specialized legacy platforms.

Skills

Programming Languages: Assembly, C, C++, C#, Fortran, Go, Matlab, Perl, PHP, Python,
shell scripting.

Microprocessors/SoCs: MediaTek Genio 520/720, Genio 5100 Pro (evaluation),
STM32WLE5, ARM, ARM7, ARM11, ARM Cortex-A8, StrongARM, Intel XScale, Freescale i.MX,
TI OMAP/DM3730, PIC18, PIC24F, PSoC, PowerPC, Xilinx Zynq, fixed-point VLIW DSP.

Operating Systems: Embedded Linux, Yocto/OpenEmbedded, PetaLinux, Debian, FreeRTOS,
MicroC/OS-II, VxWorks, UNIX, Windows.

Embedded Linux/Boot: BitBake, BSP integration, U-Boot, Apex, vivi, Linux kernel,
device drivers, device tree, NAND flash, JTAG, system bring-up, boot-time optimization.

Edge AI/ML: MediaTek Neuron NPU, ONNX Runtime, TensorFlow Lite/LiteRT, CPU/GPU/NPU,
model conversion, PTQ/quantization, model compilation, operator adaptation, profiling,
Whisper, sherpa-onnx, speech-to-text (STT), text-to-speech (TTS), local LLM/SLM,
streaming inference, Docker, ALSA, PipeWire, word-error rate (WER).

Wireless/Networking: LoRaWAN, ChirpStack, OTAA, Class B/Class C, Bluetooth, BLE,
Wi-Fi, Ethernet, TCP/IP, UDP, iSCSI, SLIP, MQTT, Semtech 433 MHz radios.

Hardware/Protocols: USB host/device, USB HID, I2C, SPI, UART, RS-232, RS-422,
GPIB, VME, PXI, JTAG, e-paper, Pervasive Displays, NAU7802, TAL220 load cells,
RTCs, GPIO interrupts, power management, firmware updates and OTA.

Other: VLIW, fixed-point DSP, instruction-set design, Viterbi decoding, real-time
echo cancellation, FFT, vibration analysis, LabWindows CVI, logic analyzers, WDK,
WHQL, Windows Logo testing, EMC testing, schematic and layout reviews.

Professional Experience

Aaron Clarke Consulting, Lockport, NY
Independent Embedded Systems Consultant, July 2007-Present
Embedded software, firmware, Linux, hardware integration and specialized engineering
services for commercial clients. Selected current engagements follow.

Embedded Linux & Edge AI Engineering - Confidential Client, 2025-Present
• Developed and evaluated AI models on MediaTek Genio 520 across CPU, GPU and Neuron
  NPU; converted, quantized, compiled and validated embedded inference workloads.
• Adapted unsupported vision operators for NPU execution and compared matched-input
  outputs, inference latency and energy across execution back ends.
• Built repeatable quantization/compilation workflows for small language models.
• Developed containerized on-device language-model services with streaming and APIs.
• Evaluated speech recognition using WER tooling and microphone-matched test sets.
• Integrated speech recognition, streaming TTS and CPU/NPU execution pipelines.
• Created Yocto/OpenEmbedded recipes and BitBake layers for GUI and speech services;
  supported BSP migration, reproducible builds and container integration.
• Debugged power management, charging, battery, camera/video and audio issues.
• Documented benchmark methods, reproducible tests and software/model licenses.
keywords: MediaTek Genio 520, Neuron NPU, ONNX Runtime, TFLite, LiteRT, Yocto,
BitBake, Docker, ALSA, PipeWire, STT, TTS, quantization, NPU, GPU, edge AI.

Embedded IoT & Firmware Engineering - Confidential Client, 2026-Present
• Developed embedded C firmware for STM32WLE5 battery-powered IoT devices with
  shared application code across multiple PCB revisions and hardware targets.
• Developed/reviewed LoRaWAN communications using OTAA, Class B/Class C, uplinks,
  event acknowledgments, retries and store-and-forward event queuing.
• Used ChirpStack for LoRaWAN end-device firmware integration testing.
• Integrated NAU7802 load-cell acquisition with TAL220 sensors; implemented tare,
  threshold events, configuration persistence and flash storage.
• Designed low-power operating behavior with RTC/GPIO wake and MCU sleep operation.
• Developed and debugged Pervasive Displays e-paper interfaces, fragmented image
  transfer, repair, CRC and RLE processing, and hardware diagnostics.
• Maintained multi-configuration builds, test procedures and engineering documents.
keywords: STM32WLE5, STM32, LoRaWAN, ChirpStack, OTAA, Class B, Class C, NAU7802,
TAL220, e-paper, Pervasive Displays, RTC, GPIO, sleep/WFI, CRC, RLE, OTA.

Private Aerospace Launch Vehicle Company (Startup)
Avionics Firmware Engineer (Consulting), July 2020-December 2025
• Developed firmware to collect and transmit flight-computer telemetry from pressure
  sensors, RTDs and flight-termination system interfaces.
• Developed Python data-acquisition software to validate flight-computer sensor
  interfaces and support hardware qualification for spaceflight.
• Supported flight-computer development from prototype to first vehicle launch.
keywords: C++, Embedded Linux, NI-DAQmx, PetaLinux, Python, telemetry, RTD.

Other Embedded Systems Consulting Projects, 2007-Present
• Engineered Bluetooth interfaces for medical-device prototypes.
• Diagnosed Ethernet PHY addressing on ARM embedded Linux; corrected kernel/drivers.
• Investigated crashes on Samsung ARM11 Debian-based embedded hardware.
• Set up BeagleBone Black / Eclipse development systems for prototype products.
• Developed Debian-based Linux and drivers on TI ARM Cortex-A8 DM3730 modules.
• Customized an OMAP Display Subsystem driver for a TFT LCD panel.
• Developed embedded Linux builds for Freescale i.MX-based products.
• Ported U-Boot and optimized boot time on multiple ARM embedded Linux products.
• Ported Apex and vivi bootloaders and developed ARM kernel and boot configurations.
• Developed JTAG scripts for NAND-flash programming and custom NAND boot code.
• Added USB support to an embedded wireless networking product.
• Diagnosed Raspberry Pi capacitive touchscreen I2C timing using a logic analyzer.
• Ported an STMicroelectronics USB device stack to ARM with FreeRTOS.
• Updated an agricultural GPS product for a new PIC18 MCU and GPS receiver.
• Developed wireless firmware with Semtech 433 MHz radios and PIC18 processors.
• Ported Microchip Graphics Library to a new grayscale PIC24F LCD controller.
• Rewrote embedded USB host code to support common HID/input devices.
• Customized a Microchip HID USB bootloader for a PIC18F industrial device.
• Maintained wireless access-point Linux builds and custom boot scripts (shell/PHP).
• Diagnosed embedded Linux switching, packet filtering and server configuration.
• Integrated software on resource-constrained ARM7 hardware prototypes.
• Reviewed schematics/layouts and supported EMC compliance testing.

Fisher-Price Inc., East Aurora, NY
Project Engineer, November 2004-July 2007
• Developed electronics and ARM7 firmware for multiple consumer products.
• Integrated audio, video, Flash content and MIDI on a multithreaded RTOS.
• Developed USB HID firmware and test programs for 8-bit PSoC microcontrollers.
• Optimized firmware for code size, interrupt response and analog input processing.
keywords: 8-bit, 32-bit, ARM7, C, HID, MIDI, PSoC, RTOS, USB, audio, codec, flash,
signal processing, video, contract manufacturing, EMC.

ATTO Technology, Amherst, NY
Systems Engineer, August 2002-November 2004
• Developed an iSCSI storage-network target in C, then ported it to an embedded
  multithreaded Intel XScale platform.
• Developed independent iSCSI protocol test programs and interoperability tests.
• Performed code/design reviews, Ethernet troubleshooting and performance analysis.
• Resolved protocol interoperability issues for commercial storage-network products.
keywords: C, Ethernet, Linux, TCP/IP, UML, XScale, iSCSI, network storage, IETF,
RFC, logic analyzer, multithreading, UNH InterOperability Laboratory.

Sierra Research, Buffalo, NY (now part of DRS Technologies)
Engineer, June 2001-August 2002
• Developed C/C++ networking software and VxWorks device drivers on PowerPC.
• Tested real-time scheduling, serial and Ethernet communication interfaces.
keywords: C, C++, Ethernet, ICD, Linux, Matlab, Perl, PowerPC, RS-232, RS-422,
SLIP, UDP/IP, VxWorks, bash, data-flow, gcc, serial, sockets.

Amherst Systems, Buffalo, NY (now part of Northrop Grumman)
Engineer, December 1997-January 1999; summer 1999
• Developed StrongARM serial interfaces, flash-programming utilities, Unix C UDP
  multicast services and embedded hardware diagnostics supporting CEESIM.
keywords: Alpha, C, C++, GPIB, LabWindows CVI, RS-232, StrongARM, TCP/IP, UDP,
VxWorks, gcc, logic analyzer, parallel port, flash programming.

VoCAL Technologies, Ltd., Amherst, NY
DSP Engineer, February 1996-June 1997
• Led development of modem/fax firmware for a Toshiba fixed-point VLIW DSP.
• Designed instruction-set extensions for real-time echo cancellation and
  Viterbi decoding.
• Developed a C instruction-set simulator for design and verification of the
  proposed extensions before DSP hardware was available.
• The resulting technology was used in commercially sold 33.6 kbps fax machines.
keywords: Toshiba, C, DSP, VLIW, ISA, fixed-point, modem, fax, echo cancellation,
Viterbi, instruction-set simulator, 33.6 kbps, Perl.

Dynamics Research Corp., Tonawanda, NY
Computer Programmer, 1994-1996
• Developed real-time data-acquisition and FFT-based vibration-analysis software.
• Co-inventor of U.S. Patent 5,805,464 covering computerized balancing technology.
keywords: BASIC, C, FFT, LabWindows CVI, balancing, data acquisition, real-time,
vibration analysis, patent.

Education

B.S. Electrical Engineering, University at Buffalo, February 2000.
• Developed audio compression using psychoacoustic techniques in Matlab.
B.S. Mathematics (Applied Mathematics), University at Buffalo, June 1995.
A.S. Engineering Science, Erie Community College, Williamsville, NY, June 1990.
• Awarded Engineering Society of Buffalo scholarship.

MAXWELL CLARKE

Summary

Experienced Embedded AI Engineer with expertise in machine learning integration, embedded
systems, and computer vision. Proven track record in security systems, consumer electronics,
and satellite communications. Skilled in Python, C/C++, embedded Linux, and TFLite with a
focus on deploying efficient AI pipelines on resource-constrained hardware.

Skills

Languages & Frameworks: Python, C/C++, PyTorch, TFLite (LiteRT), YOLO, Ultralytics, Assembly
Embedded Systems: Embedded Linux, Yocto, PSoC Creator, MCU Firmware, Bluetooth/BLE
Tools & Concepts: Git, Linux, KiCad (PCB Design), Vitis/Vivado, VHDL, TCP/UDP

Professional Experience

Aaron Clarke Consulting May 2024 – Present
Embedded Software Engineer
• Authored embedded AI tutorials covering KWS on Arduino Nano 33 BLE and ESP32-C3 with
LiteRT/ESP-IDF, and deploying TFLite C API from source in WSL
• Configured LiteRT on Arduino Nano 33 BLE, deploying micro_speech KWS example
• Customized keyword dataset using Edge Impulse and Google Speech Commands, training a KWS
model with MFCC audio processing for "on/off" detection
• Built the TFLite C API from source inside WSL using Bazel, configuring memory limits and
testing with a C program containing a .tflite model
• Configured ESP-IDF toolchain and flashed hello_world to ESP32-C3-Lyra V2.0 verifying UART
output over serial monitor
• Deployed TFLite micro_speech KWS on ESP32-C3-Lyra, adapting audio capture from I2S to ADC
continuous sampling at 16kHz with custom audio_provider.cc
• Designed hybrid VAD-gated KWS pipeline on ESP32-C3, extracting Energy, ZCR, Golay and
Hadamard features fed into a 4-8-1 TFLite NN achieving 96.98% accuracy in a 1,868 byte model
• Reduced CPU usage by 4.8x from 1.64% (always-on KWS) to 0.08% during silence
• Developed a Bluetooth module using PSoC Creator
• Performed Yocto builds and created hardware images

Elysium Security September 2024 – October 2026
Co-Founder, AI Engineer
• Built YOLOv8/EasyOCR-based license plate recognition system with best-frame scoring, OCR
post-processing, and Hydra-configured CSV export
• Created AI-assisted batch video analysis program using InsightFace, FastAPI, and SQLite to
identify subjects across hours of footage
• Built Python, HTML, and Uvicorn-based frontend UI to guide users through subject
enrollment, video upload, scan configuration and result visualization
• Constructed three-node RTSP pipeline using FFmpeg across Windows, Raspberry Pi, and Linux
• Used FastAPI/WebSocket layer to forward encoded streams for remote processing
• Configured Tailscale mesh network with boot-triggered email and cross-device push
notifications for remote device status monitoring

University at Buffalo Nanosatellite Laboratory April 2025 – October 2025
Communication Systems Team Lead
• Applied link budget analysis to select antennas and authored a trade study on frequency
bands for ground station-satellite communication
• Researched FCC licensing requirements for small satellite radio communications
• Led weekly subsystem meetings and presented progress updates in a program-level review

Education

B.S. Electrical Engineering, University at Buffalo August 2024
M.S. Electrical Engineering, University at Buffalo May 2026