I work primarily at the boundary between hardware and software.
My projects usually start close to the hardware — registers, buses, peripherals, interrupts, memory and timing — and build upward into firmware, drivers and complete embedded systems.
Hardware
↓
Registers / Peripherals
↓
Firmware
↓
Drivers / RTOS
↓
System Software
↓
Applications
- Bare-metal firmware
- Register-level microcontroller software
- Interrupt-driven systems
- Embedded drivers
- FreeRTOS applications
- MicroPython systems
- FPGA logic and Verilog
- Embedded graphical interfaces
- Custom embedded operating-system components
- PCB-based hardware prototypes
Understand
↓
Design
↓
Build
↓
Measure
↓
Debug
↓
Improve
I prefer understanding what happens underneath an abstraction before depending on it.
Embedded system environment for ESP32-S3
Zeno is an experimental embedded system built around the ESP32-S3, combining MicroPython, ESP-IDF, custom system services, storage, a graphical interface and application execution.
ESP32-S3
│
├── ESP-IDF / FreeRTOS
│
├── MicroPython
│
├── System Services
│ ├── Storage
│ ├── Applications
│ ├── Process Management
│ └── Package Management
│
└── GUI
├── Display
└── Touch
- Custom boot and recovery paths
- ESP32-S3 system integration
- Filesystem architecture
- Application execution environment
- Cooperative scheduling
- Native C extensions
- Display-driver integration
- Touch-enabled GUI
- SD-card storage
- MicroPython runtime integration
ESP32-S3
↓
Boot
↓
Kernel / System Services
↓
Runtime
↓
Applications
↓
Display + Input
Embedded robotics platform
A hardware-focused robotics platform built around an MCU, inertial sensing, environmental sensing and motor control.
Sensors
↓
MCU
↓
Control Logic
↓
Motor Driver
↓
DC Motors
Hardware includes:
- MPU6050
- DHT11
- TB6612FNG
- N20 gear motors
- Arduino Nano
- Wireless interfaces
- Li-ion power system
Focus areas:
Sensor Interfaces · Motor Control · Embedded Control · Power
FPGA + microcontroller development
Exploring digital logic design and hardware acceleration using the Shrike FPGA platform.
Verilog
↓
RTL
↓
Synthesis
↓
FPGA Logic
↓
Hardware
Areas of interest:
- Verilog
- RTL design
- Digital logic
- FPGA peripherals
- MCU ↔ FPGA interfaces
- Hardware-level experimentation
Understanding microcontrollers below the Arduino abstraction
Working directly with MCU registers and peripherals to understand how embedded systems operate underneath higher-level frameworks.
Register
↓
Peripheral
↓
Interrupt
↓
Firmware
↓
Application
Focus:
GPIO · Timers · PWM · ADC · UART · SPI · I²C · Interrupts
DIGITAL HARDWARE
│
┌───────────────┼───────────────┐
↓ ↓ ↓
MCU FPGA PCB
│ │ │
ESP32 / AVR Verilog Prototyping
│ │ │
└───────────────┼───────────────┘
↓
SYSTEM
ESP32 · ESP32-S3 · ESP32-C3 · ESP32-C6 · ESP8266 · AVR
Renesas FPGA · Verilog · RTL
PCB Design · Digital Electronics · SMD · Through-Hole · Power Electronics
GPIO · UART · SPI · I²C · PWM · ADC
C / C++
↓
Firmware
↓
Drivers
↓
RTOS / System Software
↓
Applications
FPGA
↓
Verilog / RTL
↓
Digital System Design
ESP32-S3
↓
ESP-IDF
↓
FreeRTOS
↓
MicroPython
↓
Embedded Systems
AVR
↓
Registers
↓
Peripherals
↓
Bare Metal
Hardware
↓
PCB
↓
Firmware
↓
System
