
ArmLEDsPrototype
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

Refluye
UNAB agua is an open-source printed circuit board by adiacla, from the adiacla/refluye repository on GitHub. It is a 2-layer board of 77.8 × 73.8 mm with 35 parts on 46 nets, routed with 238 tracks and 4 vias.
Its parts include 10 capacitors, 10 resistors, 8 connectors, 4 diodes and 2 ICs. It belongs with the ESP32 boards of this library.
¡Bienvenido al repositorio del proyecto RE-FLUYE! Este proyecto presenta un sistema de monitoreo inteligente de la calidad del agua diseñado para entornos rurales sin conectividad a internet. Re-Fluye combina el análisis físico-químico mediante sensores electrónicos con la observación humana cualitativa para brindar recomendaciones de tratamiento precisas e inmediatas de acuerdo con el destino del agua (consumo humano, consumo animal o riego agrícola) [2, 74].
En muchas comunidades rurales, el acceso a laboratorios para analizar la calidad del agua es nulo o extremadamente costoso, y los kits de análisis comerciales requieren formación técnica avanzada [2, 3]. La contaminación hídrica es la principal causa de enfermedades gastrointestinales en el sector agropecuario rural [3].
RE-FLUYE soluciona este problema a través de una propuesta de valor única [3]:
El proyecto opera bajo una arquitectura estructurada de 3 capas y un canal de comunicación de sensor humano [80]:
El proyecto contempla una evolución técnica desde la simulación conceptual en entornos virtuales hasta el montaje físico real con sensores de grado de campo [5, 41].
El Arduino Uno opera a 5V lógicos, pero el ESP32 opera a 3.3V lógicos (ADC con resolución de 12 bits: 0–4095) [42, 43]. Los sensores analógicos DFRobot se alimentan a 5V y sus salidas de señal pueden llegar hasta 5V [43]. ¡Conectar 5V directamente al ESP32 dañará sus pines de forma permanente! [43]
Para solucionar esto, es obligatorio construir un divisor de voltaje resistivo en cada línea de señal analógica que conecte al ESP32 [43]:
DIV_FACTOR = 1.5 [48, 71].| Pin Arduino | Tipo | Componente | Función |
|---|---|---|---|
| D3 | Digital IN | S1 - Pulsador OLOR | Toggle de mal olor (hueleRaro) |
| D4 | Digital IN | S2 - Pulsador VISUAL | Toggle de turbidez visual (visualTurbia) |
| D5 | Digital IN | S3 - Pulsador ORIGEN | Toggle de origen estancado (esEstancada) |
| D6 | Digital IN | DHT11 DATA | Medición de temperatura (en montaje físico real V1) |
| D8 | Digital OUT | LED Verde | Veredicto de agua EXCELENTE |
| D9 | Digital OUT | LED Amarillo | Veredicto de agua CONDICIONADA |
| D10 | Digital OUT | LED Rojo | Veredicto de agua NO APTA |
| A0 | Analógico IN | Potenciómetro pH | Emulación de sensor pH |
| A1 | Analógico IN | Potenciómetro Turbidez | Emulación de sensor Turbidez |
| A2 | Analógico IN | Potenciómetro TDS | Emulación de sensor TDS |
| A4 (SDA) | I2C Data | LCD 16x2 | Línea de datos de la pantalla |
| A5 (SCL) | I2C Clock | LCD 16x2 | Línea de reloj de la pantalla |
| GPIO ESP32 | Tipo | Componente | Descripción / Notas |
|---|---|---|---|
| GPIO34 (ADC1) | Analógico IN | Sensor pH | Señal del sensor mediante divisor de voltaje 10k + 20k [44, 51] |
| GPIO35 (ADC1) | Analógico IN | Sensor Turbidez | Señal del sensor mediante divisor de voltaje 10k + 20k [44, 51] |
| GPIO32 (ADC1) | Analógico IN | Sensor TDS | Señal del sensor mediante divisor de voltaje 10k + 20k [44, 51] |
| GPIO4 | Digital IN | DS18B20 DATA | Sonda digital 1-Wire. Requiere resistencia Pull-up de 4.7kΩ a 3.3V [44, 51] |
| GPIO13 | Digital IN | Pulsador ORIGEN | Conector para toggle origen (configurado como INPUT_PULLUP) [51] |
| GPIO14 | Digital IN | Pulsador OLOR | Conector para toggle olor (configurado como INPUT_PULLUP) [51] |
| GPIO27 | Digital IN | Pulsador VISUAL | Conector para toggle visual (configurado como INPUT_PULLUP) [51] |
| GPIO26 | Digital OUT | LED Verde | Clasificación EXCELENTE (Resistencia de 220Ω en serie) [51] |
| GPIO25 | Digital OUT | LED Amarillo | Clasificación CONDICIONADA (Resistencia de 220Ω en serie) [51] |
| GPIO33 | Digital OUT | LED Rojo | Clasificación NO APTA (Resistencia de 220Ω en serie) [51] |
| GPIO21 (SDA) | I2C Data | LCD 16x2 I2C | Comunicación I2C para pantalla LCD [51] |
| GPIO22 (SCL) | I2C Clock | LCD 16x2 I2C | Comunicación I2C para pantalla LCD [51] |
| 5V / VIN | Alimentación | Sensores DFRobot | Alimentación de 5V requerida por los sensores analógicos [51, 52] |
| 3.3V | Alimentación | Pull-ups, LCD Lógica | Voltaje para el bus digital de temperatura y LCD logic [51, 52] |
| GND | Tierra | Común | Tierra unificada para todo el circuito [51] |
Nota Crítica sobre los ADC de ESP32: El ESP32 cuenta con dos módulos convertidores analógicos (ADC1 y ADC2). Sin embargo, el módulo ADC2 no funciona correctamente cuando se activan las funciones inalámbricas (WiFi o Bluetooth) [50]. Por ende, todos los sensores analógicos de Re-Fluye se configuran estrictamente en los pines del módulo ADC1 (GPIOs 32, 34 y 35) para asegurar lecturas estables mientras se transmite vía Bluetooth [50].
Re-Fluye utiliza una versión simplificada del Índice de Calidad del Agua (ICA) adaptada para microcontroladores, basada en los lineamientos internacionales de la NSF y el IDEAM colombianos [12]. Se calcula utilizando el pH, la turbidez y los Sólidos Totales Disueltos (TDS), asignando los siguientes pesos ponderados [13]:
Fórmula de Agregación Lineal: $$\text{ICA} = (sPH \times 0.40) + (sTU \times 0.30) + (sTD \times 0.30)$$ [13] (Con "clamping" inferior de manera que si el ICA resultante es menor a 0, se establece en 0) [13].
Los sensores numéricos no pueden medir parámetros cualitativos esenciales como la apariencia o el aroma [16]. Es por ello que la Lógica Híbrida implementa reglas con prioridad descendente para procesar la información del usuario [14, 15]:
olor_val = "raro"), el agua se clasifica directamente como NO APTA (LED Rojo), independientemente de las lecturas numéricas de los sensores, por riesgo de contaminación biológica o química grave [15, 84, 120, 121].El firmware del microcontrolador está escrito en C++ para el ecosistema de Arduino [1, 41].
Instala las siguientes librerías desde el Gestor de Librerías del Arduino IDE (Ctrl + Shift + I) [23]:
Gestor de URLs Adicionales de Tarjetas copia la siguiente dirección: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json [57]esp32 por Espressif Systems e instálalo [58].re_fluye_esp32.ino), compílalo (Ctrl + R) y cárgalo (Ctrl + U) [27, 28].La aplicación móvil de Re-Fluye actúa como la consola central de visualización y el capturador de datos del usuario campesino. Fue desarrollada utilizando la plataforma sin código MIT App Inventor 2 [76, 95].
ReFluye-V2 y guarda la dirección MAC en la memoria local (TinyDB) [85, 99].Este proyecto se distribuye bajo la licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0) [1].
Este repositorio ha sido estructurado con fines educativos e investigativos para el beneficio de las comunidades rurales y la academia [40, 73].
| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R2, R3, R4, R5, R6, R7, R8, R9, R10 |
| 5 | 100nF | Capacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mm | C3, C5, C6, C7, C10 |
| 1 | 100nF | Capacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mm | C11 |
| 1 | 10nF | Capacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mm | C4 |
| 1 | 1uF | Capacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mm | C9 |
| 1 | 220uF | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C1 |
| 1 | 470uF | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C2 |
| 1 | 4P4C | Connector_RJ:RJ12_Amphenol_54601-x06_Horizontal | J7 |
| 1 | Ama | LED_THT:LED_D5.0mm | D3 |
| 1 | Baterias | TerminalBlock:TerminalBlock_bornier-2_P5.08mm | J2 |
| 1 | ESP32_Devkit_v4 | GermanKick:ESP32-Devkitc_v4 | U2 |
| 1 | General | TerminalBlock:TerminalBlock_Altech_AK300-4_P5.00mm | J8 |
| 1 | Int | TerminalBlock:TerminalBlock_bornier-2_P5.08mm | J1 |
| 1 | LCD 2x20 I2C | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J6 |
| 1 | LED | LED_THT:LED_D5.0mm | D1 |
| 1 | LOGO | Logos:Logo_SmartRegions | G*** |
| 1 | PH | Connector_JST:JST_EH_B3B-EH-A_1x03_P2.50mm_Vertical | J5 |
| 1 | Roj | LED_THT:LED_D5.0mm | D2 |
| 1 | Solidos | Connector_JST:JST_EH_B3B-EH-A_1x03_P2.50mm_Vertical | J3 |
| 1 | Turbiedez | Connector_JST:JST_EH_B3B-EH-A_1x03_P2.50mm_Vertical | J4 |
| 1 | Ver | LED_THT:LED_D5.0mm | D4 |
| 1 | ~ | GermanKick:Fuente_Boost | U1 |
It measures 77.8 × 73.8 mm and has 2 copper layers, 1.6 mm thick.
35 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the adiacla/refluye repository on GitHub, at the commit this page was made from: the board is UNAB_agua/UNAB_agua.kicad_pcb and its schematic UNAB_agua/UNAB_agua.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask adiacla before reusing the design.

hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!


ozel/DIY_particle_detector
A mobile low-cost spectrometer for measuring radioactivity and the energy of ionising radiation like alpha particles and electrons

Seeed-Studio/OSHW-reCamera-Series
reCamera is a series of open-source AI cameras.



