De un microcontrolador de $1 a servidor web: el hosting embebido al descubierto

De un microcontrolador de $1 a servidor web: el hosting embebido al descubierto

May 13, 2026 embedded-systems networking microcontrollers tcp-ip diy-projects internet-protocol creative-engineering linux

Servidor Web en un Microcontrolador de 8 Bits: ¿Por Qué No?

Hay proyectos locos en ingeniería que son posibles, pero absurdos. Sirven para entender cómo funciona internet de verdad. Hoy vemos cómo un desarrollador montó un sitio web real en un microcontrolador que vale lo que un chicle.

El Hardware: Algo Básico y Barato

El protagonista es el AVR64DD32. Un microcontrolador de 8 bits moderno que cuesta unos 1 dólar. Sus specs:

  • CPU: Núcleo AVR de 8 bits a máximo 24 MHz.
  • RAM: 8 KB de SRAM.
  • Flash: 64 KB.
  • Voltaje: De 1.8 a 5.5 V.
  • Precio: 1 dólar. En serio.

Para un chip de 8 bits, es generoso. Supera al Atmega328 de Arduino en periféricos y facilidad de programación. El reto: conectarlo a internet.

El Problema de Red: Ethernet No Sirve

Ethernet parece ideal. Está por todos lados y es estable. Pero físicamente imposible. 10BASE-T va a 10 Mbps. Con codificación Manchester, son 20 Mbps en el cable.

Los pines GPIO del AVR llegan a 12 MHz. Ni de cerca. Podrías comprar un chip Ethernet extra, pero suma costo y complicaciones. No va con la idea.

La Solución Lista: Protocolo SLIP

Aquí entra SLIP, Serial Line Internet Protocol. De la era de los módems (RFC 1055). Súper simple: envuelve paquetes con bytes especiales y escapa caracteres raros.

  • Delimitadores: 0xC0.
  • 0xC0 dentro: Se cambia por 0xDB 0xDC.
  • 0xDB dentro: Por 0xDB 0xDD.

Sin hardware fancy. Basta un adaptador USB-serial a 115.200 baud. Linux lo ve como interfaz de red:

stty -F /dev/ttyUSB0 115200 raw cs8
slattach -m -F -L -p slip /dev/ttyUSB0

Protocolo de los 90 que Linux aún soporta. Lo mejor: el micro se alimenta del adaptador. Un cable y listo.

La Pila de Protocolos: Todo desde Cero

Lo divertido es meter networking en 8 KB de RAM.

IP: Fácil

Cabecera IP: 40 bytes con direcciones y datos. Olvídate de fragmentación, que ya nadie usa. Truco simple: intercambia origen y destino, reinicia TTL y devuelve. El micro solo refleja paquetes.

TCP: El Infierno

TCP es otro rollo. Hay que:

  • Llevar estados de conexión.
  • Reenviar paquetes perdidos.
  • Manejar casos raros (muchos).
  • Controlar tiempos.

Días de debug. Funciona para una página simple, con sus fallos.

HTTP: Atajo Práctico

Respuesta HTTP hardcodeada. Siempre el mismo contenido estático. Una sola URL. Restricción que obliga a soluciones limpias.

Conexión Real: Ponerlo Online

El micro va por cable serial a una máquina de desarrollo. Esta se linkea a un VPS en Helsinki con IP pública.

Problema: sin IP pública propia. IPv4 escasea y caro. Serial no cruza internet fácil.

La Clave: WireGuard

VPN moderno de Linux. Crea túnel virtual que pasa NAT y obstáculos.

Flujo:

  1. Máquina de desarrollo se conecta al VPS por WireGuard.
  2. VPS redirige /mcu/* al micro por túnel local.
  3. Usuarios van al dominio público del VPS.
  4. VPS pasa tráfico al micro.

Técnica como la de streaming en Twitch, pero para chip de 1 dólar. El micro queda protegido.

Lecciones Reales

Proyecto impráctico, por eso brilla. Quita capas y obliga a protocolos básicos.

Descubres que:

  • Redes son modulares. Cambia serial por Ethernet o TCP por UDP, base igual.
  • Límites inspiran. 8 KB obliga código mínimo y eficiente.
  • Protocolos viejos viven. SLIP de 1988, Linux lo tiene.
  • Internet es simple. Sin abstracciones, solo bytes entre direcciones.

La Moraleja

En NameOcean desmenuzamos la web. Sea cloud o experimentos locos, dominar DNS, TCP y HTTP te hace mejor dev.

No reemplaza hosting cloud (obvio). Pero explica por qué el cloud mola. Reconstruir desde cero en 1 dólar vale oro.

Ahora, a evitar que alguien meta su blog en un reloj.


¿Quieres más sobre redes? Mira guías de DNS, fundamentos TCP/IP y por qué tu domain pesa más que hardware. Para hosting real (recomendado), tenemos opciones con IA sin soldadura.

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NB NL HU IT FR DE DA ZH-HANS EN