Hi, I’m Carlos.

Embedded Systems Engineer · Agentic AI · Aspiring Creative Technologist

I’m passionate about technology. My field is the design of integrated circuits, software for embedded systems, and the networks that connect devices. Today I build small, well-typed things that talk to each other — local-first agents, inference stacks, knowledge bases. Mostly C, C++, and Python. From Málaga, Spain. Since 2024 I’ve been opening doors into the themed entertainment industry, bringing my systems engineering background into immersive experiences. IAAPA Student Member.

C C++ Firmware Python Docker Podman DevContainers YAML Bash
Work

Selected work

A few things I’ve built or am actively maintaining.

AI Toolchain — OpenCode + wiki-brain

AI-assisted development ecosystem: multi-agent orchestrator, persistent knowledge wiki, and infrastructure automation

2026 · Active · AI Toolchain
Python MCP SDK OpenRouter SQLite +4

Queue counter — Real-time people counting in queues

ESP32-based people counter using IR-break beam sensors at queue entry and exit points. Counts people in each queue section in real time, exports to a dashboard for wait-time estimation and dynamic signage. Low-power, battery-operated, mesh-routable.

2026 · Archived · Theme Parks & Entertainment
ESP32 IR-break beam C/C++ ESP-MESH +2

LED automation — Show-time lighting triggers

Trigger LED animations on themed areas, props and queue-line markers from show-control events. Listens to MIDI timecode and Art-Net triggers, drives addressable LED strips via SPI with frame-by-frame control. Decouples lighting automation from the lighting console so a non-technical operator can run scheduled shows.

2026 · Archived · Theme Parks & Entertainment
ESP32 WS2812/SK6812 SPI MIDI timecode +2

RFID bracelets — Interactive guest wearables

RFID wristbands that guests wear inside the park, read by short-range antennas at interactive points: photo spots, queue-jump check-ins, character meet-and-greets, interactive queues. Each tap logs an event to a central server, which personalises the experience: a character can greet the guest by name, a queue can adapt its content. Low-cost MIFARE Classic tags, RC522 readers, ESP32 coordinators over ESP-NOW or WiFi.

2026 · Archived · Theme Parks & Entertainment
ESP32 MIFARE Classic RC522 SPI +3

Virtual Assistant — Local AI assistant on iGPU, designed with V-Model and agent playbook

Local-first AI assistant with three interfaces (CLI, Telegram, Voice), Home Assistant, web search, and persistent memory. Inference on AMD Radeon 680M iGPU via llama-router, 5 isolated layers, V-Model NASA + Loop Engineering methodology, and an agent playbook documented in wiki-brain. ~2s on simple intents, p50 0.5s on the standard tier.

2026 · Active · AI & ML
Python 3.12 V-Model NASA Loop Engineering llama-router +10

padelscore — Wearable score counter for padel and tennis

A handheld, pocket-sized score counter for padel and tennis matches. Custom 33×38mm PCB, OLED display, two buttons, LiPo battery. Built in two MCU variants (RP2040 standalone, nrf52840 with planned cloud sync) on the same interchangeable base board.

2025 · Archived · Embedded Systems
C/C++ RP2040 nRF52840 SSD1306 OLED +3

Ride sensor monitoring — Vibration + usage analytics

On-board sensor logger for attractions: MEMS accelerometer (vibration), temperature, current draw, cycle counter, runtime hours. Logs to local SD and pushes to a central MQTT broker over WiFi. Triggers alerts on threshold violations (e.g. abnormal vibration signature, runtime exceeded). The data feeds a maintenance dashboard that surfaces trends and helps plan preventive interventions before failure.

2026 · Archived · Theme Parks & Entertainment
ESP32 MEMS accelerometer MCP9808 SD card +3

Ride health — Predictive maintenance dashboard

Centralised dashboard that ingests telemetry from ride-sensor-monitoring nodes, runs anomaly detection (statistical baselines + simple ML), and surfaces failure predictions weeks before they happen. Replaces the 'wait until it breaks' model of mechanical maintenance. Built on the open-source observability stack: Prometheus for metrics, Grafana for visualisation, a Python service that computes rolling baselines per ride and flags drift.

2026 · Archived · Theme Parks & Entertainment
Python Prometheus Grafana MQTT +3

Step tracker — Indoor wearable with MSP430

A low-power wearable for indoor wayfinding. An MSP430 microcontroller reads motion and light sensors, and a Qt interface on a laptop simulates the wearable's display. My first serious embedded project, built in 2018 as a university thesis.

2018 · Archived · Embedded Systems
C C++ MSP430G2553 I2C +3

Haptic wearables — Rider feedback devices

Wearable bands and vests with embedded ERM/LRA vibration motors that fire synchronised with show events. Each rider gets a wireless node that listens on a private RF channel (nRF24 or ESP-NOW) for timecoded trigger commands and produces the corresponding haptic pattern. Battery lasts a full operating day, hot-swappable. Useful for dark rides and immersive attractions where sound alone can't carry the physical cue.

2026 · Archived · Theme Parks & Entertainment
nRF24 ESP32 DRV2605 ERM/LRA motors +2

wiki-brain — Second brain with LLM Wiki Pattern and periodic ingester

MCP server that exposes an Obsidian vault as search, synthesis, and linting tools for AI assistants, plus a periodic ingester that keeps the knowledge base alive from arXiv, corporate RSS feeds, Medium, and Reddit

2026 · Active · Tools
Python 3.12 MCP SDK OpenRouter SQLite FTS5 (full-text search) +3

llama-router — Local multi-model inference optimized with AI

Local inference system serving multiple LLMs on an AMD Radeon 680M iGPU with 24 GB shared RAM. Configuration is generated declaratively, validated automatically against hardware, with persistent KV cache and task-based tier selection. Demonstrates the optimal tuning of a complete inference stack using AI tools in the development cycle.

2026 · Stable · AI & ML
llama.cpp Vulkan Python Podman +5

Staff lanyard — E-ink badge with RFID access

Rechargeable staff badge with a small e-ink display (name, role, assigned area) and a passive RFID tag. Tap to open restricted areas (back-of-house, control booths), tap-to-log shift hours, tap-to-assign assets. E-ink keeps the badge readable for weeks on a single charge. The RFID side is passive (no battery needed for the door readers). Syncs via WiFi overnight to update name, role and access list.

2026 · Archived · Theme Parks & Entertainment
ESP32-C3 e-ink display MIFARE Classic WiFi +3

Smart Pill Alert — Connected pill dispenser for remote caregivers

A pill dispenser that reminds the user when to take medication and alerts a remote caregiver if a dose is missed or taken late. Built as a 48-hour pivot at the Ideas Factory competition (University of Málaga, 2019), where it won the Technology Prize at IFSUMMIT 2019. Designed the electronics and control firmware on an ESP32, with a server-side alert path over WiFi.

2019 · Archived · Embedded Systems
ESP32 WiFi C/C++ breadboard +3

Want to talk?

If any of these projects interest you or you think I can add value to your team, I'm open to a conversation.

Contact