Skip to content
View karimrayttu's full-sized avatar

Block or report karimrayttu

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
karimrayttu/README.md
Karim Mahdi, ECE showcase: power electronics, embedded systems, PCB design. With portraits of Faraday, Tesla, Turing and Einstein.



Portfolio  LinkedIn  Repositories



This is my new GitHub account, where I showcase my work.

What I do

I draw the schematic, lay out the board, bring it up, and prove it on the bench.

  • Power electronics. DC-DC, gate drive, current sense, OCP/OVP/UVLO, reverse polarity.
  • Bare-metal firmware. STM32 and MSP430, no HAL and no RTOS unless it earns its place.
  • Verification. Every number in these repos is measured or simulated, and the method is written down next to it.

Right now I am widening the instrument coverage in ece-tool-suite, so one session drives oscilloscopes, DMMs and spectrum analyzers across vendors rather than assuming a single SCPI dialect. Each family gets a capability profile, refined by model number where the vendor encodes it, and the interface renders only what the connected unit can actually do.

Ask me about protection circuits, SCPI bench automation, or why your gate drive is ringing.


A 200 microsecond per division capture with the channel's Vpp, Vmax and Vrms read back over SCPI
Driving a scope over SCPI from ece-tool-suite: 200 µs/div, with the channel measurements read back off the instrument.

Selected work

Project Result
bldc-predictive-maintenance
Senior capstone
99.63 % held-out accuracy and zero false alarms over 7,189 healthy windows, from 60 runs recorded in one session. The classifier runs on the same STM32 that takes the measurement.
C · Python · STM32
dc-protection-unit-40v A 40 V / 5 A P-FET disconnect on an analog trip path, no firmware in the loop, self-recovering. Documents where my own sense chain hits the ADC ceiling at rated current.
LTspice · Arduino · Python
ece-tool-suite Bench software that refuses to call a power stage sized until the netlist has been through SPICE. Drives scope, DMM, spectrum analyzer and supplies over SCPI/VISA.
Python · TypeScript · Electron
mail-sorter-jetson Reads handwritten addresses on a Jetson Orin, then a stepper drops each piece into the right bin. Every piece routed correctly, all of it resolved by ZIP.
Python · YOLO · Jetson
autonomous-rover-msp430 Beacon homing with obstacle avoidance, inductive metal detection, and an electromagnet on a belt slider. Bare-metal C, real-time state machine, three rails.
C · MSP430

Tools

Design and simulation: Altium Designer, KiCad, EAGLE, Fusion 360, LTspice, ngspice, MATLAB. Silicon and code: STM32, MSP430, ARM Cortex-M, FPGA, Jetson Orin, C, C++, Python, Rust, Verilog, VHDL. Bench: SCPI/VISA, oscilloscope, spectrum analyzer, LabVIEW, Arch and Ubuntu

Boards, firmware, and the measurements that prove they work.

Popular repositories Loading

  1. ece-tool-suite ece-tool-suite Public

    Desktop app for bench instrument control over SCPI/VISA (oscilloscope, multimeter, spectrum analyzer, power supply) with SPICE-verified power supply design, RTL/FPGA tooling, parts search and KiCad…

    Python 1

  2. mail-sorter-enclosure mail-sorter-enclosure Public

    Printed mechanics for the automated mail sorter: letter bin, rotating base, belt pulley, separator and stepper-driver mount. STLs as printed.

  3. bldc-predictive-maintenance bldc-predictive-maintenance Public

    Predictive maintenance for BLDC motors: a bench that induces known faults, records labelled telemetry, and trains a fault classifier that runs on the STM32 doing the measuring. Bare-metal firmware,…

    Python

  4. dc-protection-unit-40v dc-protection-unit-40v Public

    40 V, 5 A DC load protection unit: reverse-polarity MOSFET, overvoltage and overcurrent comparators on a shared shutdown line, with an Arduino monitor. LTspice decks run headless and every trip poi…

    Python

  5. karimrayttu karimrayttu Public

    Profile README

  6. dc-protection-unit-enclosure dc-protection-unit-enclosure Public

    3D-printed enclosure for a 40 V DC protection unit: design intent, print settings, and what the surviving renders and photographs actually show.