Skip to content
View mikaellum's full-sized avatar
:electron:
Innovating
:electron:
Innovating

Block or report mikaellum

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mikaellum/README.md

Mikael Asfaw

Founder & Chief Engineer | Edge Systems, Embedded Compute & Multimodal AI | 19+ Patents

San Carlos, California · Ekhos-Phos · LinkedIn · GitHub


Summary

Founder and chief engineer building system-level edge-AI hardware for assistive technology and physical security—multimodal perception, embedded compute, sensor fusion, and on-device auditory guidance. Transitioning from a decade of production audio/acoustics at Apple, Google, Meta, Snap, Waymo, Tesla, Alarm.com, and 1X into embedded vision, FPGA DSP, inertial sensing, and edge-AI architecture. Inventor on 19+ pending and granted U.S. patent matters.

What we’re building now. At Ekhos-Phos, multimodal edge-AI hardware and engineering infrastructure for assistive technology, physical security, and intelligent sensing. Product and system details remain private; selected inventions are under pending U.S. patent filings.

How the technical foundation is expanding. Part-time Dartmouth M.Eng. work deepens the stack into MIPI CSI-2 camera pipelines, Sobel edge detection, AXI-Stream I2S/FIR DSP, SPI IMU calibration, UART-to-BLE telemetry, CNN/U-Net perception, GAN transfer, and edge-AI system architecture. Those capabilities feed the company work above—and strengthen every tool in this repository.

This site centers on R&D tools and projects: practical methods for prototyping, measuring, and validating audio, sensing, and embedded systems.


Capabilities & Skills

Domain Capabilities
Audio & Acoustics Transducer design, microphone arrays, loudspeakers, spatial audio, beamforming, direction of arrival, echo control, acoustic measurement and validation
Vision, Sensors & Edge MIPI CSI-2 / D-PHY, SCCB / I2C camera control, AXI4-Stream video, FPGA camera pipelines, Gaussian blur / Sobel edge detection, RGB / HDMI, SPI IMU bring-up, sensor calibration, multimodal perception, edge-AI system architecture
Embedded Systems & FPGA DSP Embedded Linux, real-time signal processing, VHDL, I2S audio, AXI-Stream / AXI FIFOs, fixed-point FIR, SPI / UART / USART / I2C, ADC, GPIO, BTLE / Nordic UART Service, ESP32-C3, STM32, hardware/software bring-up
On-Device Intelligence CNNs with GAP heads, U-Net segmentation, bounding-box regression, DCGAN transfer and sample-efficient GAN training, compact / small language model concepts at the edge, TensorFlow / KerasTuner, evaluation under constrained compute, power, and model size
Programming, ML & Data Python, C, C++, VHDL, MATLAB, TensorFlow, NumPy, Pandas, SciPy, scikit-learn, librosa, statistical analysis and manufacturing analytics
Modeling & Hardware Git, Xilinx Vitis/Vivado, FPGA platforms, Raspberry Pi, STM32, COMSOL, SPICE, SolidWorks, FEA, oscilloscopes, logic analyzers

R&D Tools & Projects

Table of Contents


Audio Test App

Python measurement toolkit—and browser dashboard—for loudspeaker and audio-system validation on real hardware. Highlights include:

  • Stimulus generation — noise and exponential sweeps for system excitation
  • Play / record — drive an output while capturing from selected input devices (or record alone)
  • Loudspeaker characterization — frequency response, distortion, and related impulse-response views from sweep captures
  • Microphone tests — DUT mic measurements against a reference path, with optional speaker flattening so the mic—not the playback chain—is what you score
  • Microphone calibration — convert digital levels to SPL using a known calibrator tone
  • Speaker equalization — measure-and-correct workflows to flatten a reference loudspeaker for cleaner mic work
  • Speech quality (MOS) — non-intrusive MOS-style scoring on speech WAV files (no clean reference transcript required)
  • Capture analysis — waveform, spectrum, spectrogram, and level statistics on recorded takes

Runs on lab benches and remote hosts (including Raspberry Pi-class deployments). Implementation details are proprietary.

Demo: Audio Test App on YouTube

Audio Test App Demo

Stills

Farina Sweep


Loudspeaker LPM Simulation Tool

Browser-based loudspeaker linear-parameter (LPM) simulator for comparing two driver/system designs side by side before hardware builds. Highlights include:

  • Dual-system compare — edit two loudspeakers in parallel and see differences immediately
  • Enclosure types — closed-back, bass-reflex, and passive-radiator models per speaker
  • Response plots — frequency response (SPL), cone excursion, impedance, and port velocity / passive-radiator excursion
  • Derived constants — design quantities such as Vas, fs, Qts, BL, sensitivity, thermal limits, and related enclosure/port parameters
  • Interactive dashboard — live plots and a calculated-constants table as parameters change

Runs locally or on remote hosts (including Raspberry Pi-class deployments). Implementation details are proprietary.

Demo: Loudspeaker LPM on YouTube

Loudspeaker LPM Demo

Stills

Simulator


Loudspeaker Magnetics Simulation Tool

Finite-element magnetics workflow for loudspeaker motor design—iterate the magnetic circuit from geometry before cutting metal. Highlights include:

  • Voice-coil geometry — turn count, DC resistance, dimensions, and moving mass from wire and bobbin inputs
  • Motor force factor — estimate BL and related electromotive properties from pole, magnet, and coil layout
  • Mass & packaging — motor mass and volume for system-level trade studies
  • Field visualization — flux-density heat maps of the motor domain
  • Stroke behavior — non-linear BL(x) curves across excursion for motor linearity checks

Implementation details are proprietary.

Demo: Loudspeaker Magnetics on YouTube

Loudspeaker Magnetics Demo

Stills

Motor Design


Dartmouth Graduate Studies

Part-time M.Eng. Computer Engineering work spanning embedded bring-up, FPGA audio DSP and machine vision, classical ML, and a deep-learning sequence in classification, segmentation/detection, and generative models.

Embedded Systems, FPGA Audio DSP, and Machine Vision

Dartmouth graduate embedded / FPGA lab work spanning an STM32F042 Nucleo-32 (STM32F042K6) and a Xilinx Zybo Z7-20 (Zynq) platform in Vivado / Vitis—bare-metal C on the MCU side, plus FPGA streaming audio DSP and real-time machine-vision pipelines, with Digilent Analog Discovery / WaveForms validation where applicable.

STM32F042 Nucleo

  • Toolchain & debug — J-Link / GDB bring-up, firmware flash, and VS Code remote debug workflows
  • GPIO & instrumentation — LED I/O characterization with WaveForms scope / wavegen; breadboard probing of MCU pins
  • USART — alternate-function pin mux, interrupt-driven RX callbacks, and printf-style host logging
  • Clocks, SysTick & PWM — internal clock configuration, exception/callback patterns, PWM duty-cycle control, RC filtering, and LED dimming
  • ADC & sampling — sample-time / input-impedance tradeoffs, interrupt and DMA capture paths, Nyquist checks, timer-triggered sampling, and digital filtering
  • SPI sensing — LIS3DH accelerometer over SPI with logic-analyzer decode, interrupt-driven acquisition, and orientation plots
  • BTLE bridge — UART-to-BTLE character loopback and streaming accelerometer data to a web device CLI
  • Fixed-point DSP — moving-average → fixed-point FIR, offset/scale calibration in Q-format, plus code-size and processing-time tradeoffs vs. floating point

Xilinx Zynq — AXI-Stream I2S audio DSP

  • AXI-Stream I2S wrappers — VHDL transmitter / receiver with RTL schematics, testbenches, and timing closure through metastability fixes in the I2S path
  • Streaming datapath — dual AXI-Stream FIFOs between record and play paths, wired with PS, AXI IIC (codec control), and an Integrated Logic Analyzer for on-chip debug
  • Hardware audio pass-through — AD3 scope validation of clean sine pass-through (matched frequencies, no glitches) plus time- and frequency-domain loopback / noise-floor checks
  • Selectable FIR filters — button-selected low-pass, high-pass, band-pass, and band-stop FIR blocks (per audio channel) inserted between record and play FIFOs
  • System verification — spectrum sweeps, two-tone scope captures, Bode / attenuation plots, and real music/speech listening checks across all four filter modes

Xilinx Zynq — FPGA-based machine vision (Pcam 5C)

  • Camera → HDMI pass-through — Digilent Pcam 5C (OmniVision OV5640) on Zybo Z7-20; Vivado hardware + Vitis C++ bring-up to drive live camera output over HDMI (timing/constraint fixes for a clean display image)
  • Sensor datapath tracing — photons → CIS / ADC → MIPI CSI-2 / D-PHY → SCCB camera control → AXI4-Stream video transport (VDMA, demosaic, timing) → RGB/DVI → HDMI
  • Real-time edge detection — hardware blur_edge_detect path with BRAM line buffers, 3×3 windowing, Gaussian blur, and Sobel Gx/Gy edge maps; board switches (SW2 / SW3) toggle live among raw, grayscale/Gaussian, and Sobel edge-detect HDMI output
  • Latency & resources — block-level transient and steady-state latency estimates (e.g. ~51 µs end-to-end at 150 MHz / 1920-wide / 3×3 kernels) plus post-implementation utilization and power context on the Zynq fabric
Stills

Nucleo bench setup

SPI LIS3DH logic decode

Accelerometer free-rotation

Fixed-point calibrated accel UART

Vivado Zynq I2S + FIR block design

AXI-Stream I2S simulation

AD3 audio pass-through

Spectrum sweep passthrough

FIR filter Bode (dB)

Zybo Pcam HDMI passthrough

Grayscale / Gaussian and Sobel outputs

Sobel edge-detect HDMI output

Pcam to HDMI signal flow

Pcam HDMI Vivado block design

Pcam signal tracing

Edge-detect architecture

Edge-detect Vivado block design

Machine Learning

Short-clip music-genre classifiers (TensorFlow NN and SVM) trained on audio features via librosa. Architecture is sound; F1 settled around 0.41–0.47 on a noisy multi-genre mashup dataset.

Architecture & results

Requirements: Python 3.12.2, numpy, pandas, pickle, scikit-learn, tensorflow, librosa

Trained ~100 epochs (accuracy ~0.96, loss ~0.194 on training metrics).

TensorFlow Neural Network Architecture

TensorFlow Confusion Matrix

SVM Confusion Matrix

Deep Learning

Dartmouth DL sequence: compact CNNs for image classification, U-Net segmentation plus bounding-box regression, then DCGAN training, cat→dog transfer, and sample-efficient GAN optimization.

Image classification (cats vs dogs)

  • Four-block CNN with GlobalAveragePooling2D instead of Flatten, tuned with KerasTuner (Adam, mild Dropout / L2)
  • Tuned GAP model: 92.0% test accuracy, precision / recall / F1 ~0.92, ROC AUC 0.975 on 3,752 held-out images
  • Saved model ~2.8 MB (~240k params) vs an earlier Flatten CNN at ~98 MB and ~86.5% test accuracy
  • Data cleanup for corrupt JPEGs; EarlyStopping so train/val curves stayed aligned
Stills

Cats vs dogs training samples

Tuned GAP accuracy curves

Optimized CNN confusion matrix

Optimized CNN ROC curves

Image segmentation, crop bootstrapping, and bounding boxes

  • Tiny U-Net (538k params, ~2.1 MB) over FCN / larger U-Net after KerasTuner; pixel accuracy 0.883, pet/background AUC ~0.976, mean mask IoU 0.808, AP@0.50 0.949
  • Used the segmenter to crop ~24.9k Cat/Dog images (pet + border foreground, 8% box padding) for later stages
  • Box regressor on Oxford-IIIT Pet XML head boxes: head attached to the last spatial feature map (not GAP), two-stage freeze then fine-tune
  • Mean IoU 0.538 (recall@0.50 0.640) vs ~0.22 for sliding-window + classifier; flip TTA + segmenter mask clamp raised mean IoU to 0.563 / AP@0.50 0.687 with no retraining
Stills

Tuned U-Net training curves

Segmenter pixel confusion matrix

Segmenter ROC curves

Segmenter-guided Cat/Dog crops

Head bounding-box predictions vs XML ground truth

GANs and transfer learning

  • 128×128 RGB DCGAN (latent dim 100; G ~2.15M params, D ~741k): upsample+Conv generator, strided-conv discriminator, one-sided label smoothing and instance noise
  • Cat GAN: FID 167.8 after 100 epochs; recognizable faces from blob-like early grids
  • Cat→dog transfer (10-epoch warmup + 50-epoch fine-tune, ~9 min) reached FID 281.9 vs scratch-dog FID 351.3 (~21 min)—faster usable faces, with a stronger transferred discriminator (D(fake) 0.12 vs 0.31)
Stills

Generated cats at epoch 5

Generated cats at epoch 100

Cat GAN loss, SSIM, and FID

Scratch dog GAN at epoch 100

Transfer dog GAN after fine-tune

Scratch vs transfer losses and SSIM

Sample-efficient GAN optimization

  • Ranked goals: fewer target samples, then size/latency, without collapsing quality; evaluate on FID, SSIM diversity, and grids—not adversarial loss
  • Task 1: 25% AFHQ dog YOLO face crops, hinge loss, spectral-normalized D, DiffAugment, mixed cat-G / dog-D transfer; restored epoch 32 (not the last epoch) at FID 241.47 vs Project 201 transfer FID 251.22, same 2.15M generator, ~0.70 ms/image
  • Historical BCE runs: 474 images beat ~1,185 on FID, so more target data was not treated as an automatic upgrade
  • Task 2: full Oxford-IIIT Pet photos (pose/background in frame); YOLO “face” crops abandoned after inspection. Best quantitative run was a short fresh-D, fully unfrozen Stage-3 diagnostic (FID 273.53), not a long transferred tuner
Stills

YOLO-cropped AFHQ dog faces

Task 1 restored generator samples

Task 1 hinge transfer FID and losses

Full-image Oxford dog distribution

Task 2 fresh-D diagnostic samples


Education

  • Dartmouth College — M.Eng. Computer Engineering (Part-Time, In Progress), Mar 2025 – Mar 2027
    Featured: How Mikael Asfaw Used Dartmouth’s Online M.Eng. to Bridge Hardware, Software, and AI
    Selected project themes: Pcam 5C / MIPI CSI-2 machine-vision pipelines with Gaussian blur and Sobel edge detection on Zybo Z7-20, Zynq AXI-Stream I2S audio with selectable FIR filtering, STM32 embedded IMU bring-up and fixed-point calibration, audio-genre ML, compact CNN / U-Net perception, bounding-box regression, DCGAN transfer, and sample-efficient GAN optimization.
  • University of Southern California — M.S. Mechanical Engineering, Aug 2012 – May 2013
  • University of Southern California — B.S. Mechanical Engineering, Aug 2008 – May 2012

Selected Patent Portfolio

19+ pending and granted U.S. and international matters spanning context-aware systems, microphone arrays, spatial audio, beamforming, acoustic sensing, electroacoustic transducers, bone conduction, and embedded signal processing.

Context-Aware, Edge-AI & Adaptive Audio

  • Pending U.S. App. No. 19/560,372 — Head-Mounted Device with Contextual Awareness
  • U.S. 11,586,407 — Audio data manipulation based on display orientation
  • U.S. 11,620,976 — Acoustic echo cancellation based on display orientation
  • U.S. 11,340,861 — Audio data manipulation based on microphone orientation

Microphones, Wind Noise & Acoustic Sensing

  • U.S. 12,413,887 — Sintered filter material and grille design to mitigate wind noise
  • U.S. 10,887,713 — Microphone defect detection
  • U.S. 10,028,045 — Combined microphone and lighting device

Beamforming, Binaural Audio & Spatial Processing

  • U.S. 10,897,672 — Speaker beam steering using microphone-array and depth-camera input
  • U.S. 11,044,568 — Head-wearable apparatus for binaural audio generation
  • U.S. 10,567,898 — Binaural audio generation in wearable devices
  • U.S. 11,361,781 — Dynamic beamforming to improve SNR in head-worn devices

Speaker Systems & Transducer Architecture

  • U.S. 10,687,146 / 10,194,248 — Speaker with flex-circuit acoustic radiator
  • U.S. 10,178,469 — Damping spring for transducer systems
  • WO 2023/172256 — Speaker with integrated pressure sensor and barometric vent

Bone Conduction & Wearable Audio

  • U.S. 9,998,829 — Bone-conduction transducer with enhanced low-frequency performance
  • U.S. 9,936,301 — Composite yoke for a bone-conduction transducer
  • U.S. 9,766,481 — Closed-loop audio processing for bone-conduction systems

Full schedule and claim-level summaries available upon request.


Author

Author: Mikael Asfaw
License: Proprietary — see LICENSE.md
Created: Feb 18, 2025
Updated: Sep 27, 2026

Popular repositories Loading

  1. mikaellum mikaellum Public

    Mikael Asfaw's Personal GitHub profile