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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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