© Germán Ramos - Universitat Politècnica de València <gramosp@eln.upv.es>
Definición de Sistema Embebido
Ubicación en el Plan de Estudios
Sistemas:
Arduino
ESP8266 / ESP32
Raspberry Pi
Ejemplos y Proyectos
Un Sistema Embebido es un sistema de computación diseñado para realizar una o algunas pocas funciones dedicadas, frecuentemente en un sistema de computación en tiempo real.
Según la Real Academia de la Lengua Española (RAE), el término embebido es:
Participio de embeber, en la 5ª acepción: encajar, embutir o meter algo dentro de otra cosa.
También se emplean los términos empotrado, integrado, e incrustado. En inglés se emplea la expresión Embedded System.
A diferencia de un ordenador personal que está diseñado para cubrir una amplia gama de necesidades, los sistemas embebidos se diseñan para cubrir necesidades específicas.
Incorporan microcontroladores y/o microprocesadores programados principalmente en C/C++ o lenguajes interpretados como Python (o microPython).
Ejemplos: TPV, smartwatch, controlador de un microondas, regulador iluminación, etc.
![]() | ![]() |
Sistemas Embebidos se encuentra en el 4º cuatrimestre:



Python es un lenguaje de programación interpretado, por lo que requiere de un intérprete, normalmente compilado en C.
Ejecutado sobre un potente sistema operativo (Windows, Linux, MacOS).
Ordenador potente con gran cantidad de recursos (GB de RAM, y CPUs corriendo a GHz).
Se ejecuta en el ordenador, que sirve a su vez de IDE (Integrated Development Enviroment) como Thonny o Spyder.

Uso de un dispositvo SBC de bajo coste con un microcontrolador o microprocesador.
Los programas se ejecutan en el dispositivo. Son autónomos, no requieren posteriormente del ordenador.
El ordenador será empleado como IDE (Arduino, VSCode, etc.) y como herramienta de depuración e interacción.
Dispositivos de mucha menor capacidad de cálculo y memoria RAM (KB de RAM, KB de Flash y CPUs a MHz).
Arduino Mega2560: CPU de 8-bit a 16 MHz, 8 KB de RAM y 256 KB de Flash.

Ausencia de sistema operativo o uso de uno reducido como FreeRTOS.
En general, ejecutan código compilado desde lenguaje C/C++.
En SBCs más potentes como el ESP32 es posible incorporar un intérprete de MicroPython.
En la asignatura emplearemos los sistemas Arduino y ESP32 como periférico externo de comunicaciones.

Uso de un dispositvo SBCs más avanzados y potentes como ESP32 y Raspberry Pi.
Dispositivos de más capacidad de cálculo y memoria RAM (cientos de KB de RAM y CPUs a cientos de MHz).
Incorporan capacidad de comunicaciones inalámbricas como Bluetooh y WiFi.

Posibilidad de uso de sistemas operativos como FreeRTOS en el ESP32 o Linux en la Raspberry Pi.
Capacidad para ejecutar Python (Raspberry Pi) o MicroPython (ESP32) al disponer de intérprete ya compilado.
Permiten la incorporación de servicios web y comunicaciones IP. Tecnologías y lenguajes como: HTML, CSS, JavaScript, Node.js, etc.

Uso de un dispositvo SBCs más avanzados y potentes como Raspberry Pi y módulos como pycom basado en el ESP32.
Incorporan capacidad de comunicaciones inalámbricas específicas para IoT como Lora, Narrowband o Sigfox.
Capacidad para ejecutar Python (Raspberry Pi) o MicroPython (pycom/ESP32) al disponer de intérprete ya compilado.

Programación tanto de la parte de Back-end como Front-end. Tecnologías y lenguajes como: HTML, CSS, JavaScript, Node.js, etc.
Uso de protocolos específicos para IoT como MQTT.
Uso de bases de datos como MongodB.
Uso de sistemas Cloud como AWS (Amazon Web Services) y servicios como Alexa.

Arduino es el sistema embebido más conocido y de mayor éxito. Ha acercado el mundo de la electrónica, la programación y el pensamiento lógico a millones de personas. Cultura del DIY (Do It Yourself).
Proyecto nacido en 2005 como un proyecto enfocado a estudiantes en Italia.
Basado en microcontroladores de la familia AVR de Atmel, actualmente propiedad de Microchip.
Plataforma open source electronics de bajo coste, con una gran cantidad de módulos externos shields (sensores, pantallas, comunicaciones) y sus librerías de manejo disponibles.
Arduino es hardware libre bajo licencia copyleft. El nombre Arduino sí queda sólo para los productos oficiales.
Mega2560

Múltiples modelos de placas (oficiales y no oficiales) con distinta capacidad de cálculo, número de entradas y salidas, formato, etc.
Uno, Mega, Nano, Micro, Mini…
Versiones con microcontroladores más avanzados como los STM32 con capacidad para tareas de visión y Machine Learning Portenta H7.
Planteado desde su origen como simple de usar. El IDE oficial es muy sencillo.

El "lenguaje" de programación Arduino está basado en Processing, lenguaje muy empleado en artes visuales e implementado en C++.
Simplifica el desarrollo de software embebido habitual en C/C++ ocultando procesos de configuración y usando librerías de alto nivel tanto para las placas como para los módulos.
Genera código C/C++ que es posteriormente compilado y enviado a la placa por lo que puede usarse en su programación.


ESP32 ![]() | ESP32-WROOM-32 ![]() | ESP32-DevKit ![]() |
ESPRESSIF Systems es una compañía de semiconductores pública China fabless fundada en 2008. Desarrolla procesadores y sistemas con capacidad de comunicación inalámbrica (WiFi y Bluetooth) para aplicaciones IoT de muy bajo coste.
Sus primeros productos, el ESP12 y el ESP8266, han permitido incorporar capacidad WiFi con un stack TCP/IP completo y seguro a multitud de proyectos y productos, facilitado por su Firmware NodeMCU que simplifican el desarrollo.
Fabrican tanto los circuitos integrados, como módulos completos (procesador, memoria, antena integrada, GPIOs) y kits de desarrollo, ofreciendo el software SDK y firmwares ya compilados.
Estos firmware permiten "ver" a los módulos desde otro sistema (i.e. Arduino) como un dispositivo externo para comunicaciones inalámbricas a través de comunicaciones serie.
Coste de los módulos en cantidades de pocos miles < $3.
Incorporan 1/2 cores de Tensilica Xtensa© hasta 240MHz, o RISC-V hasta 160MHz. Procesadores de 32-bit y capacidad de punto flotante. Hasta 512KB de RAM y 16MB de Flash externa.
Código open source con gran comunidad activa. SDKs, firmwares y librerías disponibles.
Port a Arduino, facilitando su programación.
Sistema operativo (opcional) FreeRTOS.
Disponible firmware con intérprete de MicroPython.

Raspberry Pi es un SBC de bajo coste (4€~85€) desarrollado en Reino Unido por la Raspberry Pi Foundation con el objetivo de acercar la informática y las tecnologías digitales a cualquier persona.
Lanzada en 2012, entre todas sus versiones se han venido ya más de 35 millones de unidades.
Su software es open-source, siendo su sistema operativo oficial Raspberry Pi OS una personalización de la distribución de Linux Debian, permitiendo instalar otras distribuciones de Linux e incluso Windows 10.
Es una SBC más potente y avanzada que las disponibles con Arduino y ESP32.

La actual Raspberry Pi 4 Model B dispone de un procesador de 64-bit Broadcom BCM2711 Quad-Core que funciona hasta los 1,5GHz, con hasta 8 GB de RAM, lector micro-SD además de 2 puertos USB 3.0, 2 USB 2.0, 2 salidas micro-HDMI (4K@60Hz), Gigabit Ethernet, WiFi 2.4 y 5G, Bluetooth 5.0, pines de GPIO.
Es tan potente que puede ser usada como un ordenador genérico con Linux, ser un media-server, un sintetizador musical, una controladora industrial, etc.
Soporte nativo de Python al ser un sistema Linux completo.
Multitud de librerías y proyectos open-source.
NOVEDAD

Raspberry Pi Pico, un sistema microcontrolador de $4 con dual core ARM Cortex-M0+ a 133MHz, 264K de RAM, hasta 16MB de Flash y multitud de perféricos.
Pensada para trabajar con MicroPython sin soporte de sistema operativo.
Arduino:
Ejemplos de proyectos en su Project HUB.
Proyecto Smart Pill Dispenser realizado por Makers UPV.
Raspberry Pi:
