Hi, I'm Kyle.

I build debatably cool things.

Notice

Freelance work closed indefinitely as I prepare for a full-time job search.

Kyle Dudley

Electrical Engineering

Texas A&M University

Hi, I'm Kyle.

I build debatably cool things.

Notice

Freelance work closed indefinitely as I prepare for a full-time job search.

Kyle Dudley

Electrical Engineering

Texas A&M University

Featured projects

Tinycardia

Embedded AFib detection from real-time ECG signals

EmbeddedSprint

A focused firmware sprint for building embedded systems fundamentals

Relevant engineering experience

Project Manager

Texas A&M CanSat Team

Sep. 2025 – Present

College Station, TX

  • Developed C++ I2C drivers for Teensy 4.1 avionics sensors, adding 416 Hz IMU FIFO batching, GNSS NMEA parsing, BMP390 barometer data, LiDAR ranging, and INA260 current/voltage sensing.

  • Coordinated multi-rate polling across dual I2C buses by implementing FreeRTOS scheduling and publishing avionics telemetry through queues/shared snapshots.

  • Validated Teensy integration by building Raspberry Pi Pico HITL firmware in C for USB-framed injection, checksum validation, shared buffers, and breadboard testing.

  • Reduced integration risk with 35 native C++ tests using mocked Arduino Wire for IMU FIFO behavior, GNSS parsing, malformed data, stale recovery, and diagnostics.

  • Debugged I2C/SPI/UART issues with oscilloscope and logic-analyzer captures while leading avionics after promotion from Electrical Engineer to Project Manager.

  • Validated flight-software drivers on manufactured CanSat PCB hardware using schematic review and datasheet checks to isolate sensor, bus, and power-integration issues.

Tinycardia

Personal Project

Jun. 2025 – Present

Odessa, TX

  • Developed embedded C firmware on STM32 F446RE to acquire 256 Hz ECG data from MAX30003 over SPI, buffering 10-second / 2,560-sample windows for local AFib inference.

  • Built a TinyML ECG-classification pipeline using Pan-Tompkins QRS detection, R-to-R features, and a dual-branch 1D-CNN/dense model, achieving 93.68% accuracy and 68.26% F1.

  • Deployed a quantized AFib model for local ARM Cortex-M inference and streamed ECG/inference data over UART to a Python/PyQt live visualization workflow.

  • Designed KiCad R2 wearable PCB with Nordic nRF52840 BLE telemetry, ECG AFE integration, battery/power subsystem, USB-C, and phone-facing prototype visualization.

  • Developed nRF52840 wearable firmware for ECG acquisition, local preprocessing or data streaming, BLE transfer, and phone-facing prototype telemetry.

  • Validated R2 prototype hardware across ECG acquisition, BLE communication, power behavior, signal routing, and wearable enclosure integration.

EmbeddedSprint

Personal Project

Jun. 2025 – Present

Odessa, TX

  • Completed a C/C++ STM32 firmware sprint covering GPIO, EXTI, timers, UART ring buffers, SPI loopback, ADC, PWM, and FreeRTOS primitives.

  • Built FreeRTOS task, semaphore, and queue prototypes using STM32CubeMX, CMake, ST-LINK, gdb-multiarch, tagged Git commits, and custom tests.

Contract Software Engineer

Multiple companies

Jan. 2021 – Jul. 2025

Remote

  • Improved latency-sensitive validation by reverse engineering network timing for hitbox tracking and client/server synchronization, reducing reach-detection tolerance from roughly 0.3 blocks to roughly 0.001 blocks.

  • Built server-side movement validation by brute-forcing input combinations and simulating client movement logic, reaching roughly 1e-8-block uncertainty against observed movement.

  • Maintained Git/GitHub-managed Java systems software for commercial adversarial-detection clients, isolating validation workload from network threads with roughly 50-user worker pools.

Skills

C

C++

Embedded C

FreeRTOS

I2C

SPI

UART

STM32

ARM Cortex-M

Teensy 4.1

Raspberry Pi Pico

ESP32

sensor drivers

Hardware-in-the-Loop

unit testing

Python

Git/GitHub

oscilloscope

logic analyzer

TinyML

BLE

KiCad

PCB validation

schematic review

datasheets

ECG AFE

USB-C

CMake

STM32CubeMX

ST-LINK

gdb-multiarch

ADC

PWM

GPIO

Java