PCB multiuso para ESP8266-01

PCB multiuso para ESP8266-01

En este proyecto he querido hacer una prueba de concepto en el diseño de una PCB configurable en hardware para diferentes aplicaciones.

Todo empezó con un proyecto de hace ya un año, para controlar el aire acondicionado mediante un ESP8266 y un led IR. Gracias a la conexión WiFi del ESP8266 se podía conectar a un servidor MQTT y de aquí a NodeRED. Entonces pensé en hacer una PCB para que quedara todo un poquito mas presentable. Aquí puedes ver el proyecto.

Diseño modular y "enganchable"

Lo primero el diseño: quería que fuera un diseño modular, así que pensé en hacer un hexágono y así poder unirlos, ya que podría utilizar I2C y conectar diversos dispositivos u otros módulos ESP8266 con sus propias funciones, o simplemente de forma individual. De ahí los laterales:

Zona MULTIGPIO

La zona que he llamado "MULTIGPIO" sirve precisamente para eso, para poder conectar y configurar los pines en función del sensor o uso que queramos dar, y poder elegir por cual de los GPIOs del ESP8266 queremos trabajar.

¿Cómo se configuran los pines del MULTIGPIO?

Para configurar los pines, tenemos que dar la vuelta a la placa y descubrir el sistema de configuración del hardware. Pero primero explico cómo funcionan esos pines:

  • PIN 1: Puede ser GND o VCC (5v o 3.3V)
  • PIN 2: Puede ser uno de los GPIOs que tiene el ESP
  • PIN 3: Puede ser uno de los GPIOs que tiene el ESP
  • PIN 4 Puede ser GND o VCC (5V o 3.3V)

Esta flexibilidad a la hora de definir los pines nos permite poder configurar el hardware de la placa a las necesidades de lo que queramos conectar. Y para configurarlos, miramos por la otra cara:

Vamos a fijarnos en el primer y segundo PIN para entenderlo. Si por ejemplo queremos que el primer PIN tenga 3.3V tenemos que hacer una soldadura entre esos pads ;). Ojo!!! hay que tener muy clara la configuración del dispositivo.

Un ejemplo real, conectamos un LED IR. Uno de los pines será GND y el otro, por donde controlaremos el envío de datos por infrarojos será el GPIO3 del ESP. Creamos un puente de soldadura y ya tenemos configurado nuestro hardware:

Éste es el concepto. Pero requiere pensarlo bien, porque las posibilidades son muchas y hay que tener en cuenta de no utilizar una conexión GPIO para dos cosas a la vez:

"Dónde hay un LED hay alegría"

En este caso la placa tiene tres leds RGB, que podemos controlar por uno de los pines del ESP8266, ¿por cual? pues por el que elijas en función de tus necesidades:

LED0 (primer LED RGB) configurado al pin GPIO3

I2C Inter-Integrated Circuit

El ESP8266 tiene la posibilidad de utilizar I2C, por lo tanto la placa a de ser capaz de tener esa función. Por eso tiene una parte donde conectar dispositivos de este tipo. Y claro, con el I2C podemos conectar mas sensores, por eso hay definido un lateral de salida y I2C y otro de entrada, para poder conectar módulos y alimentarlos entre ellos.

Ejemplos reales del uso de la PCB multiusos

Control por IR (infrarojos)

Cómo he comentado al principio, el proyecto nació con la idea de hacer una PCB para controlar led infrarojo y tener algo mas presentable, y así es cómo ha quedado:

Sensor de temperatura

Y cómo no podía ser de otra forma, al ser una PCB multiusos,...aquí una prueba con un sensor BMP180 (sensor de temperatura y presión) por I2C.

Contador cuenta atrás integrado con MQTT+NodeRED

Otro ejemplo de integración con I2C es este ejemplo de contador cuenta atrás, que podemos configurar remotamente mediante mensajería MQTT. Se "recarga" de segundos y comienza a contar hacia atrás:

Por aquí os dejo un vídeo publicado en formato hilo de Twitter para ver cómo funciona:

...Y mas proyectos

Y bien ahora ya se puede probar de conectar otras cosas...

Diseño OpenSource

Si claro!!!, el diseño es opensource así que toda la información la encontrarás en mi repo de Github y si quieres la PCB puedes pedirla en PCBWay dónde también he publicado y compartido el proyecto con los componentes básicos que hacen falta.

Github: https://github.com/akirasan/esp8266_multiusos

PCBWay: https://www.pcbway.com/project/shareproject/MultiusePCB_for_ESP8266_01.html