Init commit

This commit is contained in:
rcuadrado 2026-05-16 18:12:53 +02:00
parent 30a7be8cf4
commit c23a7dba91
16 changed files with 6087 additions and 1 deletions

186
README.md
View File

@ -1,2 +1,186 @@
# me_yo
# Sistema de Riego Automático — ESP8266 + Docker
Stack completo para control y monitorización de riego con ESP8266/Tasmota,
Mosquitto, Python controller, InfluxDB y Grafana.
## Estructura del proyecto
```
└── docs/
├── tasmota-config.md # Comandos de configuración Tasmota
```
## Hardware
| Dispositivo | IP | Detalle |
|---|---|---|
| ESP8266 (Tasmota 15.4.0) | `192.168.1.42` | MAC `18:FE:34:D3:01:BA` |
| Broker Mosquitto | `192.168.1.200:1883` | Docker en este ordenador |
### Cableado GPIO (verificado)
| Pin NodeMCU | GPIO | Función | Notas |
|---|---|---|---|
| D1 | GPIO5 | Relay_i → IN1 | Motor riego (Relay1) |
| D6 | GPIO12 | Relay_i → IN2 | Motor abastecimiento solución (Relay2) |
| D7 | GPIO13 | Relay_i → IN3 | Motor abastecimiento agua (Relay3) |
| D2 | GPIO4 | SR04 Trig | Directo, sin resistencias |
| D5 | GPIO14 | SR04 Echo | Con divisor de tensión 5V→3.3V |
> ⚠️ Tasmota estándar no incluye SR04 — instalar `tasmota-sensors.bin` primero.
> La actualización OTA borra los GPIOs; hay que reconfigurarlos después.
> El módulo SunFounder es activo LOW → todos los relés usan `Relay_i` (inverted).
### Lógica de riego — Tasmota Rules (autónoma)
Los tres motores se controlan mediante una Rule en el propio ESP8266, sin necesitar el broker MQTT.
**Roles de cada motor:**
| Relay | Pin | Motor | Función |
|---|---|---|---|
| Relay1 | D1/GPIO5 | Riego | Distribuye agua a las plantas |
| Relay2 | D6/GPIO12 | Abastecimiento sustrato | Aporta solución nutritiva al depósito |
| Relay3 | D7/GPIO13 | Abastecimiento agua | Aporta agua limpia al depósito |
**Comportamiento:**
| Condición SR04 | Acción |
|---|---|
| Distancia > 30 cm | Relay2 y/o Relay3 ON (según modo) |
| Distancia < 10 cm | Relay2 y Relay3 OFF (Relay1 sigue) |
Relay1 (riego) arranca y para por comando — independiente del sensor.
Si se para el riego, los motores de abastecimiento siguen hasta que la distancia baje de 10 cm.
**Rules activas en el ESP8266:**
**Rule1** — lógica de sensores y motores + gestión automática de `Mem2`:
```
Rule1 ON SR04#Distance>30 DO if (mem1==1) Backlog Power2 ON; Power3 ON elseif (mem1==2) Power3 ON elseif (mem1==3) Power2 ON endif ENDON ON SR04#Distance<10 DO Backlog Power2 OFF; Power3 OFF ENDON ON Power1#State=1 DO Mem2 1 ENDON ON Power1#State=0 DO Mem2 0 ENDON
Rule1 1
```
**Rule2** — reanudación automática tras corte de luz:
```
Rule2 ON System#Boot DO if (mem2==1) Power1 ON endif ENDON
Rule2 1
```
`Mem2` se gestiona automáticamente: se activa al encender el riego y se desactiva al apagarlo. No hace falta incluirlo en los comandos.
**Comandos de operación:**
| Acción | Comando |
|---|---|
| Encender modo completo (agua + sustrato) | `Backlog Mem1 1; Power1 ON` |
| Encender solo agua | `Backlog Mem1 2; Power1 ON` |
| Encender solo sustrato | `Backlog Mem1 3; Power1 ON` |
| Parar solo riego (abastecimiento sigue hasta <10 cm) | `Power1 OFF` |
| Parar todo | `Backlog Power0 OFF; Mem1 0` |
**Variables persistentes en flash:**
| Variable | Función |
|---|---|
| `Mem1` | Modo activo (1=completo, 2=solo agua, 3=solo sustrato, 0=parado) |
| `Mem2` | Auto-reanudación tras corte de luz — gestionado automáticamente por Rule1 |
> **Arquitectura final:** esta lógica es autónoma y funciona sin red. El objetivo es
> que el broker **Mosquitto** reciba la telemetría del sensor vía MQTT y el
> **controller Python** envíe los comandos `Power1/2/3` con lógica adicional
> (franjas horarias, niveles mínimos, alertas). Las Rules y el broker coexisten:
> las Rules actúan como capa de seguridad local aunque el broker no esté disponible.
Antes de levantar el stack, configura Tasmota: ver [docs/tasmota-config.md](docs/tasmota-config.md).
## Servicios Docker
| Servicio | Puerto | Descripción |
|---|---|---|
| mosquitto | 1883 | Broker MQTT (accesible desde ESP8266) |
## Variables de entorno clave
Ejemplo de programación:
```json
[{"days":["mon","wed","fri"],"time":"07:00","duration_minutes":20}]
```
## Documentación
- [Configuración Tasmota](docs/tasmota-config.md)
---
## Cómo se encontró el ESP8266
# ESP8266 - Localizar dispositivo en la red local
## Problema
Tienes un ESP8266 conectado a la red WiFi pero no recuerdas su IP.
## Solución: escaneo de red
### 1. Identificar tu red
```bash
ip route | grep default
```
Esto muestra tu puerta de enlace y la IP de tu máquina. En este caso:
- Red: `192.168.1.0/24`
- Tu PC: `192.168.1.41`
- Router: `192.168.1.1`
### 2. Ping sweep para descubrir dispositivos activos
```bash
for i in $(seq 1 254); do ping -c 1 -W 1 192.168.1.$i > /dev/null 2>&1 & done; wait
```
Envía un ping a cada IP posible de la red (`192.168.1.1` hasta `192.168.1.254`) en paralelo. Esto hace que tu sistema guarde en la tabla ARP la MAC de cada dispositivo que responde.
### 3. Consultar la tabla ARP
```bash
ip neigh show | grep -v FAILED | sort -t . -k 4 -n
```
Muestra todos los dispositivos detectados con su IP y dirección MAC. El truco está en identificar la MAC del ESP8266.
### 4. Identificar el ESP8266 por su MAC (OUI)
Los primeros 3 bytes de una MAC identifican al fabricante (OUI). Espressif Systems, el fabricante del ESP8266/ESP32, tiene estos prefijos conocidos:
| Prefijo MAC | Fabricante |
|---|---|
| `18:FE:34` | Espressif Systems |
| `5C:CF:7F` | Espressif Systems |
| `60:01:94` | Espressif Systems |
| `A0:20:A6` | Espressif Systems |
| `84:F3:EB` | Espressif Systems |
En el escaneo apareció:
```
192.168.1.42 lladdr 18:fe:34:d3:01:ba REACHABLE
```
El prefijo `18:FE:34` confirma que es un dispositivo Espressif → **es el ESP8266**.
### 5. Verificar conectividad
```bash
ping -c 3 192.168.1.42
```
Responde correctamente con ~120ms de latencia (normal para WiFi).
## Resultado
| Dato | Valor |
|---|---|
| IP del ESP8266 | `192.168.1.42` |
| MAC | `18:fe:34:d3:01:ba` |
| Fabricante | Espressif Systems |

224
docs/tasmota-config.md Normal file
View File

@ -0,0 +1,224 @@
# Configuración de Tasmota
ESP8266 en `192.168.1.42`, firmware Tasmota 15.4.0.
## Comandos a ejecutar (una sola vez)
Todos se ejecutan desde `http://192.168.1.42` → Consola,
o vía HTTP API: `http://192.168.1.42/cm?cmnd=<COMANDO>`
### 1. Seguridad básica
```
# Contraseña para la interfaz web
Password <tu_contraseña_web>
# Credenciales MQTT (deben coincidir con .env)
MqttUser esp8266
MqttPassword <MQTT_ESP_PASSWORD del .env>
```
### 2. Broker MQTT — apuntar a este ordenador
```
MqttHost 192.168.1.41
MqttPort 1883
```
### 3. Esquema de topics — obligatorio para que las ACLs funcionen
```
Topic riego/bomba
FullTopic %prefix%/%topic%/
```
Esto genera:
- `cmnd/riego/bomba/POWER` (recibe comandos)
- `stat/riego/bomba/POWER` (publica confirmaciones)
- `tele/riego/bomba/SENSOR` (publica telemetría)
### 4. Telemetría cada 30 segundos
```
TelePeriod 30
```
### 5. Estado seguro al arrancar — CRÍTICO
```
PowerOnState 0
```
Sin este ajuste, si la bomba estaba encendida y el ESP8266 se reinicia,
la bomba arranca automáticamente. Con `0` siempre arranca apagada.
### 6. Cableado y configuración de GPIOs
#### Hardware identificado
- Placa: **NodeMCU ESP8266**
- Relé: **SunFounder 8 Relay Module** (activo en LOW → usar `Relay1_i`)
- Sensor: **HC-SR04 estándar (5V)** → requiere divisor de tensión en Echo
#### ⚠️ Divisor de tensión — OBLIGATORIO para HC-SR04 estándar
El pin Echo del HC-SR04 devuelve 5V pero el ESP8266 soporta máximo 3.3V.
Sin el divisor puedes quemar el GPIO o dañar el chip con el tiempo.
El divisor va en el pin **Echo → D5 (GPIO14)**. Trig va directo sin resistencias.
Con **tres resistencias de 2.2 kΩ** (las dos primeras en paralelo forman 1.1 kΩ):
```
Punto A Punto B
│ │
HC-SR04 Echo ──[2.2kΩ]────────┤
├──── D5 (GPIO14) NodeMCU → 3.33 V ✓
──[2.2kΩ]────────┤
[2.2kΩ]
GND
```
- **Punto A**: pin Echo del HC-SR04 + un extremo de cada una de las dos resistencias en paralelo
- **Punto B**: el otro extremo de las dos resistencias en paralelo + un extremo de la tercera + cable a D5
Esto reduce 5V → 3.33V: `5V × 2.2kΩ/(1.1kΩ+2.2kΩ) = 3.33V`
El pin Trigger (ESP8266 → sensor) va directo: 3.3V es suficiente para activar el HC-SR04.
#### Esquema de cableado completo
Alimentación mixta:
- NodeMCU → **USB** (ordenador o cargador)
- Relay module + HC-SR04 → **fuente externa 5V / 1.5A**
```
USB ──────────────────────── NodeMCU (alimentación + lógica 3.3V)
Fuente 5V/1.5A
├── (+) 5V ──┬── Relay module VCC
│ └── HC-SR04 VCC
└── () GND ─┬── Relay module GND
├── HC-SR04 GND
├── GND divisor de tensión (extremo inferior R2)
└── NodeMCU GND ← ⚠️ OBLIGATORIO aunque NodeMCU va por USB
Sin este cable los GPIOs no funcionan
NodeMCU señales:
D1 (GPIO5) ──────────────────────── IN1 relay module (bomba)
D2 (GPIO4) ──────────────────────── Trig HC-SR04 (directo, sin resistencias)
D5 (GPIO14) ──[divisor tensión]───── Echo HC-SR04 (3.3V tras el divisor)
```
#### Resistencias disponibles: solo 2.2 kΩ
Con **dos resistencias de 2.2 kΩ en paralelo** como R1 se obtiene 1.1 kΩ,
que con una tercera de 2.2 kΩ como R2 da exactamente 3.33 V:
```
Echo HC-SR04
[2.2kΩ]──┐
│ ├── D5 (GPIO14) NodeMCU → 3.33 V ✓
[2.2kΩ]──┘
[2.2kΩ]
GND
```
Si también tienes una resistencia de **1 kΩ** úsala como R1 (es más sencillo):
R1=1kΩ + R2=2.2kΩ → 3.44 V ✓
#### Resistencias para el divisor de tensión
Necesitas dos resistencias con una relación **R2 ≈ 2 × R1**.
Cualquiera de estas combinaciones es válida:
| R1 | R2 | Tensión en Echo→ESP | Observaciones |
|---|---|---|---|
| 1 kΩ | 2 kΩ | 3.33 V ✓ | Combinación ideal |
| 1 kΩ | 2.2 kΩ | 3.44 V ✓ | Muy común en kits |
| 2.2 kΩ | 4.7 kΩ | 3.40 V ✓ | Válida |
| 10 kΩ | 20 kΩ | 3.33 V ✓ | Misma ratio, menor corriente |
| 10 kΩ | 22 kΩ | 3.44 V ✓ | Muy común |
**Cómo medir con multímetro**: selector en Ω (ohmios), puntas en los dos
extremos de la resistencia. Las más comunes en kits naranja/amarillo son
colores de 4 bandas:
| Valor | Bandas de color |
|---|---|
| 1 kΩ | Marrón Negro Rojo (tolerancia) |
| 2 kΩ | Rojo Negro Rojo (tolerancia) |
| 2.2 kΩ | Rojo Rojo Rojo (tolerancia) |
| 4.7 kΩ | Amarillo Violeta Rojo (tolerancia) |
| 10 kΩ | Marrón Negro Naranja (tolerancia) |
| 22 kΩ | Rojo Rojo Naranja (tolerancia) |
#### Configuración en Tasmota (interfaz gráfica)
Menú → **Configuración → Configurar módulo**
Seleccionar en los desplegables:
| GPIO | Función a seleccionar | Nota |
|---|---|---|
| GPIO5 | `Relay_i``1` | La **i** es crítica (inverted, SunFounder activo LOW) |
| GPIO4 | `SR04 Tri/Tx``1` | Trig — salida directa sin resistencias |
| GPIO14 | `SR04 Ech/Rx``1` | Echo — entrada con divisor de tensión obligatorio |
> ⚠️ **Importante**: Trig en GPIO4 (D2) y Echo en GPIO14 (D5), NO al revés.
> Verificado según [documentación oficial Tasmota HC-SR04](https://tasmota.github.io/docs/HC-SR04/).
Pulsar **Save** — el dispositivo reinicia.
#### Alternativa: comandos por consola
Menú → Consola (o `http://192.168.1.42/cm?cmnd=`):
```
Backlog GPIO5 Relay_i 1; GPIO4 SR04Tri 1; GPIO14 SR04Ech 1
```
#### Verificar que el sensor funciona
Tras guardar, en la consola de Tasmota:
```
Status 10
```
Debe aparecer algo como:
```json
{"StatusSNS":{"Time":"...","SR04":{"Distance":45.2}}}
```
Si no aparece `SR04`, el build estándar puede no incluirlo.
En ese caso descargar `tasmota-sensors.bin`:
```
OtaUrl http://ota.tasmota.com/tasmota/release/tasmota-sensors.bin
Upgrade 1
```
### 7. Verificar soporte HC-SR04
> ⚠️ **Tasmota 15.4.0 estándar NO incluye SR04.** Hay que instalar `tasmota-sensors.bin`:
```
OtaUrl http://ota.tasmota.com/tasmota/release/tasmota-sensors.bin
Upgrade 1
```
Tras el reinicio, los desplegables de GPIO mostrarán `SR04 Tri/Tx` y `SR04 Ech/Rx`.
> ⚠️ La actualización OTA **borra la configuración de GPIOs**. Después del upgrade
> hay que volver a configurar GPIO4, GPIO5 y GPIO14 en Configurar módulo.
## Verificar que todo funciona
Tras guardar los cambios, Tasmota reinicia. Comprueba:
```bash
# El ESP8266 debe conectar al broker local
curl -s "http://192.168.1.42/cm?cmnd=Status%205" | python3 -m json.tool
# MqttCount debe ser > 0
```

View File

@ -0,0 +1 @@
/home/f-romero/Documentos/esp8266/esquematico/esp8266/_autosave-esp8266.kicad_sch

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
(kicad_pcb (version 20241229) (generator "pcbnew") (generator_version "9.0")
)

View File

@ -0,0 +1,131 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
"vias",
"footprint_text",
"footprint_anchors",
"ratsnest",
"grid",
"footprints_front",
"footprints_back",
"footprint_values",
"footprint_references",
"tracks",
"drc_errors",
"drawing_sheet",
"bitmaps",
"pads",
"zones",
"drc_warnings",
"drc_exclusions",
"locked_item_shadows",
"conflict_shadows",
"shapes"
],
"visible_layers": "ffffffff_ffffffff_ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "esp8266.kicad_prl",
"version": 5
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": 0
},
"open_jobsets": [],
"project": {
"files": []
},
"schematic": {
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"symbols": true,
"text": true,
"wires": true
}
}
}

View File

@ -0,0 +1,619 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": true,
"text_position": 0,
"units_format": 0
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.27,
"width": 2.54
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"creepage": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_on_edge_cuts": "error",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_segment_length": "error",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_groove_width": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpthpad": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onvia": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"footprint_filter": "ignore",
"footprint_link_issues": "warning",
"four_way_junction": "ignore",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"label_multiple_wires": "warning",
"lib_symbol_issues": "warning",
"lib_symbol_mismatch": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
"missing_unit": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"same_local_global_label": "warning",
"similar_label_and_power": "warning",
"similar_labels": "warning",
"similar_power": "warning",
"simulation_model_issue": "ignore",
"single_global_label": "ignore",
"unannotated": "error",
"unconnected_wire_endpoint": "warning",
"undefined_netclass": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "esp8266.kicad_pro",
"version": 3
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 2147483647,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 4
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"plot": "",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"bom_export_filename": "${PROJECTNAME}.csv",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
"keep_line_breaks": false,
"keep_tabs": false,
"name": "CSV",
"ref_delimiter": ",",
"ref_range_delimiter": "",
"string_delimiter": "\""
},
"bom_presets": [],
"bom_settings": {
"exclude_dnp": false,
"fields_ordered": [
{
"group_by": false,
"label": "Reference",
"name": "Reference",
"show": true
},
{
"group_by": false,
"label": "Qty",
"name": "${QUANTITY}",
"show": true
},
{
"group_by": true,
"label": "Value",
"name": "Value",
"show": true
},
{
"group_by": true,
"label": "DNP",
"name": "${DNP}",
"show": true
},
{
"group_by": true,
"label": "Exclude from BOM",
"name": "${EXCLUDE_FROM_BOM}",
"show": true
},
{
"group_by": true,
"label": "Exclude from Board",
"name": "${EXCLUDE_FROM_BOARD}",
"show": true
},
{
"group_by": true,
"label": "Footprint",
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": true
}
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": true,
"name": "Default Editing",
"sort_asc": true,
"sort_field": "Referencia"
},
"connection_grid_size": 50.0,
"drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"operating_point_overlay_i_precision": 3,
"operating_point_overlay_i_range": "~A",
"operating_point_overlay_v_precision": 3,
"operating_point_overlay_v_range": "~V",
"overbar_offset_ratio": 1.23,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "",
"space_save_all_events": true,
"spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"",
"spice_model_current_sheet_as_root": true,
"spice_save_all_currents": false,
"spice_save_all_dissipations": false,
"spice_save_all_voltages": false,
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"7a344e0f-c2fc-4d3e-bc0b-91420c86692d",
"Root"
]
],
"text_variables": {}
}

View File

@ -0,0 +1,602 @@
(kicad_sch
(version 20250114)
(generator "eeschema")
(generator_version "9.0")
(uuid "2f7ed679-552b-4119-867b-1f186222309e")
(paper "A4")
(title_block
(title "Sistema de Riego — Diagrama de cableado")
(date "2026-05-12")
(rev "2")
(company "Proyecto Riego ESP8266"))
(lib_symbols
(symbol "riego_lib:NodeMCU_ESP8266_v3"
(pin_names (offset 1.016))
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "U" (at 0.00 20.32 0)
(effects (font (size 1.27 1.27))))
(property "Value" "NodeMCU_ESP8266_v3" (at 0.00 22.86 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Datasheet" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Description" "NodeMCU ESP8266 v3 module" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(symbol "NodeMCU_ESP8266_v3_0_1"
(rectangle (start -10.16 -19.05) (end 10.16 19.05)
(stroke (width 0) (type default)) (fill (type background)))
)
(symbol "NodeMCU_ESP8266_v3_1_1"
(pin input line (at -12.70 -17.78 0) (length 2.54)
(name "A0" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27)))))
(pin passive line (at -12.70 -15.24 0) (length 2.54)
(name "RSV" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27)))))
(pin passive line (at -12.70 -12.70 0) (length 2.54)
(name "RSV" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 -10.16 0) (length 2.54)
(name "SD3" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 -7.62 0) (length 2.54)
(name "SD2" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 -5.08 0) (length 2.54)
(name "SD1/MOSI" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 -2.54 0) (length 2.54)
(name "CMD/CS0" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 0.00 0) (length 2.54)
(name "SD0/MISO" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 2.54 0) (length 2.54)
(name "CLK/SCLK" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27)))))
(pin power_in line (at -12.70 5.08 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27)))))
(pin power_out line (at -12.70 7.62 0) (length 2.54)
(name "3V3" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27)))))
(pin input line (at -12.70 10.16 0) (length 2.54)
(name "EN" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27)))))
(pin input line (at -12.70 12.70 0) (length 2.54)
(name "RST" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27)))))
(pin power_in line (at -12.70 15.24 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27)))))
(pin power_in line (at -12.70 17.78 0) (length 2.54)
(name "VIN" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 -17.78 180) (length 2.54)
(name "D0" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 -15.24 180) (length 2.54)
(name "D1/SCL" (effects (font (size 1.27 1.27))))
(number "17" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 -12.70 180) (length 2.54)
(name "D2/SDA" (effects (font (size 1.27 1.27))))
(number "18" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 -10.16 180) (length 2.54)
(name "D3" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 -7.62 180) (length 2.54)
(name "D4/LED" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27)))))
(pin power_out line (at 12.70 -5.08 180) (length 2.54)
(name "3V3" (effects (font (size 1.27 1.27))))
(number "21" (effects (font (size 1.27 1.27)))))
(pin power_in line (at 12.70 -2.54 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 0.00 180) (length 2.54)
(name "D5/SCLK" (effects (font (size 1.27 1.27))))
(number "23" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 2.54 180) (length 2.54)
(name "D6/MISO" (effects (font (size 1.27 1.27))))
(number "24" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 5.08 180) (length 2.54)
(name "D7/MOSI" (effects (font (size 1.27 1.27))))
(number "25" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 7.62 180) (length 2.54)
(name "D8/CS" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27)))))
(pin input line (at 12.70 10.16 180) (length 2.54)
(name "RX" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27)))))
(pin output line (at 12.70 12.70 180) (length 2.54)
(name "TX" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27)))))
(pin power_in line (at 12.70 15.24 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27)))))
(pin input line (at 12.70 17.78 180) (length 2.54)
(name "RST" (effects (font (size 1.27 1.27))))
(number "30" (effects (font (size 1.27 1.27)))))
)
)
(symbol "riego_lib:HC_SR04"
(pin_names (offset 1.016))
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "US" (at 0.00 6.35 0)
(effects (font (size 1.27 1.27))))
(property "Value" "HC_SR04" (at 0.00 8.89 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Datasheet" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Description" "HC-SR04 ultrasonic distance sensor" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(symbol "HC_SR04_0_1"
(rectangle (start -3.81 -5.08) (end 3.81 5.08)
(stroke (width 0) (type default)) (fill (type background)))
)
(symbol "HC_SR04_1_1"
(pin power_in line (at -6.35 -3.81 0) (length 2.54)
(name "VCC" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27)))))
(pin input line (at -6.35 -1.27 0) (length 2.54)
(name "Trig" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27)))))
(pin output line (at -6.35 1.27 0) (length 2.54)
(name "Echo" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27)))))
(pin power_in line (at -6.35 3.81 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27)))))
)
)
(symbol "riego_lib:Relay_SunFounder_8CH"
(pin_names (offset 1.016))
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "K" (at 0.00 13.97 0)
(effects (font (size 1.27 1.27))))
(property "Value" "Relay_SunFounder_8CH" (at 0.00 16.51 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Datasheet" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Description" "SunFounder 8-channel relay module (active LOW)" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(symbol "Relay_SunFounder_8CH_0_1"
(rectangle (start -5.08 -12.70) (end 5.08 12.70)
(stroke (width 0) (type default)) (fill (type background)))
)
(symbol "Relay_SunFounder_8CH_1_1"
(pin input line (at -7.62 -8.89 0) (length 2.54)
(name "IN1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 -6.35 0) (length 2.54)
(name "IN2" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 -3.81 0) (length 2.54)
(name "IN3" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 -1.27 0) (length 2.54)
(name "IN4" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 1.27 0) (length 2.54)
(name "IN5" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 3.81 0) (length 2.54)
(name "IN6" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 6.35 0) (length 2.54)
(name "IN7" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 8.89 0) (length 2.54)
(name "IN8" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27)))))
(pin power_in line (at 7.62 -1.27 180) (length 2.54)
(name "VCC" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27)))))
(pin power_in line (at 7.62 1.27 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27)))))
)
)
(symbol "Device:R"
(pin_numbers hide)
(pin_names (offset 0))
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "R" (at 2.032 0 90) (effects (font (size 1.27 1.27))))
(property "Value" "R" (at 0 0 90) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "~" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "R_0_1"
(rectangle (start -1.016 -2.032) (end 1.016 2.032)
(stroke (width 0.254) (type default)) (fill (type none))))
(symbol "R_1_1"
(pin passive line (at 0 3.81 270) (length 1.778)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27)))))
(pin passive line (at 0 -3.81 90) (length 1.778)
(name "~" (effects (font (size 1.27 1.27)))) (number "2" (effects (font (size 1.27 1.27)))))
)
)
(symbol "power:GND"
(power) (pin_names (offset 0)) (exclude_from_sim no) (in_bom no) (on_board no)
(property "Reference" "#PWR" (at 0 -6.35 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 0 -3.81 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "GND_0_1"
(polyline (pts (xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) (xy -1.27 -1.27) (xy 0 -1.27))
(stroke (width 0) (type default)) (fill (type none))))
(symbol "GND_1_1"
(pin power_in line (at 0 0 270) (length 0)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27))))))
)
(symbol "power:+5V"
(power) (pin_names (offset 0)) (exclude_from_sim no) (in_bom no) (on_board no)
(property "Reference" "#PWR" (at 0 3.81 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+5V" (at 0 3.81 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "+5V_0_1"
(polyline (pts (xy -0.762 1.27) (xy 0 2.54) (xy 0.762 1.27))
(stroke (width 0) (type default)) (fill (type none)))
(polyline (pts (xy 0 0) (xy 0 2.54))
(stroke (width 0) (type default)) (fill (type none))))
(symbol "+5V_1_1"
(pin power_in line (at 0 0 270) (length 0)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27))))))
)
(symbol "power:+3.3V"
(power) (pin_names (offset 0)) (exclude_from_sim no) (in_bom no) (on_board no)
(property "Reference" "#PWR" (at 0 3.81 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+3.3V" (at 0 3.81 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "+3.3V_0_1"
(polyline (pts (xy -0.762 1.27) (xy 0 2.54) (xy 0.762 1.27))
(stroke (width 0) (type default)) (fill (type none)))
(polyline (pts (xy 0 0) (xy 0 2.54))
(stroke (width 0) (type default)) (fill (type none))))
(symbol "+3.3V_1_1"
(pin power_in line (at 0 0 270) (length 0)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27))))))
)
)
(symbol (lib_id "riego_lib:NodeMCU_ESP8266_v3") (at 80.00 100.00 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "f4094374-2732-4014-849e-d3b4b6e6dd59")
(property "Reference" "U1" (at 91.50 79.00 0)
(effects (font (size 1.27 1.27))))
(property "Value" "NodeMCU_ESP8266_v3" (at 80.00 121.00 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 80.00 100.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 80.00 100.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "099713b1-4bd0-41b9-9772-f4e5d9482c54"))
(pin "2" (uuid "a0c66e6a-8858-4b1b-8070-fa073cd516f6"))
(pin "3" (uuid "ec938ac1-f0ac-4fb9-ba84-01113a1ac89f"))
(pin "4" (uuid "4edaedc4-8a26-40ce-835e-7e3295851139"))
(pin "5" (uuid "da99f4b4-0274-4e4c-854f-03dcfbee8630"))
(pin "6" (uuid "acbe6818-1945-402c-a740-a2e1bd07fa71"))
(pin "7" (uuid "e1d73a64-e14d-4909-bb64-47a18d7d7cd6"))
(pin "8" (uuid "dd112165-4af3-46cc-b7ea-6c1370e62a63"))
(pin "9" (uuid "1e8a2801-f81f-4a7d-81b2-6ddc116ccda1"))
(pin "10" (uuid "40966c16-d0bc-4684-ad30-7f18dd409795"))
(pin "11" (uuid "ca344cb7-3c71-464d-9e7b-47bc6dc9abf5"))
(pin "12" (uuid "fb6ee2a1-dbf0-4f8a-aed6-76c7e44ca9c4"))
(pin "13" (uuid "6c368f9f-3135-461e-9c17-c91f281266c0"))
(pin "14" (uuid "8c630361-cf42-4288-9484-de722530695a"))
(pin "15" (uuid "cba0b965-0eec-4e35-84b1-524a0a600c79"))
(pin "16" (uuid "7c06910e-d1f5-4106-ba7c-0d11395f259d"))
(pin "17" (uuid "3866a79f-0211-44d9-853e-3f15b6153304"))
(pin "18" (uuid "435afceb-caca-4beb-a55b-7a156c7b170f"))
(pin "19" (uuid "f4679bda-da52-4de3-848c-d7654eb3e37a"))
(pin "20" (uuid "b9d50250-44a5-4e63-957a-657573767174"))
(pin "21" (uuid "41b68337-a75d-4abf-873e-3c963512ccea"))
(pin "22" (uuid "65aefef6-3afb-45e9-a4ad-2d7219eceef5"))
(pin "23" (uuid "b7e509c4-ea0e-4321-8bcb-7f5ee046b1f8"))
(pin "24" (uuid "4a4046ad-5199-451e-ab31-207d1678efb8"))
(pin "25" (uuid "a605417e-38fe-4e64-b793-4aab51452f57"))
(pin "26" (uuid "6623724e-9f8a-4f84-bebf-1d0e0bedc2b1"))
(pin "27" (uuid "8a3da494-5279-44b5-97e8-2769fc9c6a94"))
(pin "28" (uuid "4527a719-8398-4693-89ce-0d53b3733aae"))
(pin "29" (uuid "43d2fda7-6c20-402c-8a42-3eca83c0fb92"))
(pin "30" (uuid "cf034968-8477-45ee-829e-c2318bfe5308"))
)
(no_connect (at 67.30 82.22) (uuid "a0b7c53e-2d8e-49fc-af67-5bd885427cd6"))
(no_connect (at 67.30 84.76) (uuid "c7ae4d58-993b-4c88-9fda-6d7748868c2b"))
(no_connect (at 67.30 87.30) (uuid "c34253f8-c646-47e6-a488-a781a8c74d5b"))
(no_connect (at 67.30 89.84) (uuid "445dddf2-568c-4fd5-8f2f-e652659ea55d"))
(no_connect (at 67.30 92.38) (uuid "e2a12a62-9dea-4c3e-b0e0-7efbc72de9c4"))
(no_connect (at 67.30 94.92) (uuid "8de157d1-90ec-4e7b-88c2-886d0a016593"))
(no_connect (at 67.30 97.46) (uuid "214a8be6-081e-42e1-8fc1-a24c2bc8b19d"))
(no_connect (at 67.30 100.00) (uuid "018f48e2-7da7-4e89-acf0-bdbf41251d7a"))
(no_connect (at 67.30 102.54) (uuid "d9bea9d3-c6cf-4b93-9392-3abf59c39536"))
(no_connect (at 67.30 110.16) (uuid "1ffdbae3-421c-4d83-8b81-b1e13744d4a5"))
(no_connect (at 92.70 82.22) (uuid "9bd783e9-c48c-46ff-87bf-e880ee86a4ae"))
(no_connect (at 92.70 89.84) (uuid "d9232796-4a85-444f-b0b7-151b57e3b15a"))
(no_connect (at 92.70 92.38) (uuid "27337b75-f6a9-43e4-8057-6a6c6a6b1497"))
(no_connect (at 92.70 102.54) (uuid "68731fe7-e8fa-478d-830a-327e396035b7"))
(no_connect (at 92.70 105.08) (uuid "ed2e67e7-f71e-4f40-9857-730c4f2aece4"))
(no_connect (at 92.70 107.62) (uuid "5fcf155e-16be-442a-ad40-dc65275e6534"))
(no_connect (at 92.70 110.16) (uuid "5bb98d7e-7fe5-4cc4-b891-fb9ac357f1bd"))
(no_connect (at 92.70 112.70) (uuid "12611750-f45c-4747-8123-850d7c7a6ef5"))
(symbol (lib_id "power:GND") (at 67.30 105.08 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "90614cc9-9200-4291-ad36-506daf5b4eae")
(property "Reference" "#PWR01" (at 67.30 105.08 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 67.30 108.89 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 67.30 105.08 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 67.30 105.08 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "4069ed1d-9be4-43b0-9552-799bc1874e59")))
(symbol (lib_id "power:+3.3V") (at 67.30 107.62 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "047670f9-4edf-40cc-893c-43449c60af04")
(property "Reference" "#PWR02" (at 67.30 107.62 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+3.3V" (at 67.30 103.81 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 67.30 107.62 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 67.30 107.62 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "9c3b1c19-cdf2-4ca1-8127-c24c40898562")))
(no_connect (at 67.30 112.70) (uuid "39689861-7dc9-4caf-bcf7-a8bbfab1a5cf"))
(symbol (lib_id "power:GND") (at 67.30 115.24 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "bf8de27f-d112-4070-8ad7-8cdb72b4c36e")
(property "Reference" "#PWR03" (at 67.30 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 67.30 119.05 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 67.30 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 67.30 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "9cd249bd-ccdd-428e-8fe2-e8ec667da17c")))
(no_connect (at 67.30 117.78) (uuid "81441dfc-f691-4702-8919-485e1e8d3cb6"))
(symbol (lib_id "power:+3.3V") (at 92.70 94.92 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "cc4e5a3d-7359-486d-91d0-45a14a3c6308")
(property "Reference" "#PWR04" (at 92.70 94.92 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+3.3V" (at 92.70 91.11 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 92.70 94.92 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 92.70 94.92 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "04ebe58b-4d3d-4185-b343-a68d4216d4b6")))
(symbol (lib_id "power:GND") (at 92.70 97.46 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "364ad1ce-3636-402b-abb9-304f2a84daa9")
(property "Reference" "#PWR05" (at 92.70 97.46 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 92.70 101.27 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 92.70 97.46 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 92.70 97.46 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "1d267a24-372b-4567-90f6-79779f866033")))
(symbol (lib_id "power:GND") (at 92.70 115.24 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "62280304-4f55-41e7-9060-3e32ba2e033e")
(property "Reference" "#PWR06" (at 92.70 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 92.70 119.05 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 92.70 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 92.70 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "fe400b25-8d95-4c06-bd4e-eac51f57bb43")))
(no_connect (at 92.70 117.78) (uuid "6414bc55-3285-4ead-87b4-a3d28824afe3"))
(label "D1/GPIO5" (at 92.70 84.76 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "9c1ee272-d8ea-428d-bbeb-40afdd49eaf2"))
(label "D2_TRIG" (at 92.70 87.30 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "1e4d5d67-85e5-4a9a-a1d0-050720ac877c"))
(label "D5_ECHO" (at 92.70 100.00 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "334aa4e8-d111-4867-8ce1-bdc338232f7c"))
(symbol (lib_id "riego_lib:HC_SR04") (at 175.00 80.00 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "941a0f07-a824-449e-b83a-257930ef58cd")
(property "Reference" "US1" (at 180.00 73.00 0)
(effects (font (size 1.27 1.27))))
(property "Value" "HC_SR04" (at 180.00 76.00 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 175.00 80.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 175.00 80.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "61170af5-f52b-4718-add5-1a294a219c44"))
(pin "2" (uuid "b4dc9900-90b8-4300-ade8-0c1971099c62"))
(pin "3" (uuid "7a90375b-7331-44f6-bd1c-b325f09e715b"))
(pin "4" (uuid "32911b37-bf7b-415e-90e2-bf0b15e86ad1"))
)
(symbol (lib_id "power:+5V") (at 168.65 76.19 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "f1713082-cf73-4678-91d0-03009d940b92")
(property "Reference" "#PWR07" (at 168.65 76.19 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+5V" (at 168.65 72.38 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 168.65 76.19 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 168.65 76.19 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "a705dfc1-296b-4309-bb36-7c4b79f54320")))
(symbol (lib_id "power:GND") (at 168.65 83.81 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "97d4e620-7256-4c68-b2f9-b7426670f0f8")
(property "Reference" "#PWR08" (at 168.65 83.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 168.65 87.62 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 168.65 83.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 168.65 83.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "00f42a51-d65a-4362-90cd-5d080ec70aa9")))
(label "D2_TRIG" (at 168.65 78.73 180) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "5bd72fcb-de2b-44bf-b81c-2bed3fcd84b2"))
(label "ECHO_DIV" (at 168.65 81.27 180) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "a3b81f76-7c80-4667-bfa2-9e8b6a3f43b7"))
(symbol (lib_id "riego_lib:Relay_SunFounder_8CH") (at 175.00 145.00 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "e749c7eb-e4a1-4545-8b54-1e3ddf8a5d0e")
(property "Reference" "K1" (at 181.00 131.00 0)
(effects (font (size 1.27 1.27))))
(property "Value" "Relay_SunFounder_8CH" (at 181.00 134.00 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 175.00 145.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 175.00 145.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "c3eeecb1-1504-442d-9048-ce0f5c3396c9"))
(pin "2" (uuid "8c2d5c0d-cbe2-47f5-80d8-d855fe5e6906"))
(pin "3" (uuid "1dab4807-3a6e-4d44-9384-47e4cbd8e01d"))
(pin "4" (uuid "0640cc33-e8d2-407a-9ded-dc6281c8f643"))
(pin "5" (uuid "4f2f6056-10af-41f1-bbcc-7dec1fb8b811"))
(pin "6" (uuid "9faa3128-9ffc-4168-8604-5c666cab31cd"))
(pin "7" (uuid "4adad661-f566-46a3-bf02-6503242fc386"))
(pin "8" (uuid "cdc73ace-ccd3-4f69-a228-e97521b9f8dc"))
(pin "9" (uuid "0bd7a1b5-4398-4ab9-90e2-4ae2a4306148"))
(pin "10" (uuid "dd3d70dc-3d54-4ab0-a9d8-3a3ef07eba7c"))
)
(symbol (lib_id "power:+5V") (at 182.62 143.73 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "ab3bbc0d-f66a-48d9-85e4-b229642cb29d")
(property "Reference" "#PWR09" (at 182.62 143.73 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+5V" (at 182.62 139.92 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 182.62 143.73 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 182.62 143.73 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "90979a1c-a2bb-468c-9db8-233a76c2ec80")))
(symbol (lib_id "power:GND") (at 182.62 146.27 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "2bfe8a0c-8366-4f1f-983c-342518713f82")
(property "Reference" "#PWR10" (at 182.62 146.27 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 182.62 150.08 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 182.62 146.27 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 182.62 146.27 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "6766b538-ca32-4e2a-a5c7-3bbc0b9a01c0")))
(label "D1/GPIO5" (at 167.38 136.11 180) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "d28703e8-5c80-42b7-9aef-1a42be7842b4"))
(no_connect (at 167.38 138.65) (uuid "b91d7e27-dd20-4220-b56f-c5d940e8abbc"))
(no_connect (at 167.38 141.19) (uuid "925546e9-42e1-4dcb-a131-edd6dffca827"))
(no_connect (at 167.38 143.73) (uuid "810351ab-f872-486a-8777-8623fa1e822f"))
(no_connect (at 167.38 146.27) (uuid "abdac87b-d47c-44c5-bf60-d1d476001c92"))
(no_connect (at 167.38 148.81) (uuid "7cf3a7f1-4ae8-40d0-a7ad-4ee653606ee4"))
(no_connect (at 167.38 151.35) (uuid "aab02d01-3198-4592-b2e5-27de9f6af818"))
(no_connect (at 167.38 153.89) (uuid "7cd0b474-683b-4784-8765-2a8f18a21930"))
(symbol (lib_id "Device:R") (at 125.00 83.00 90) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "dbdd8488-d3bb-49c4-ad28-5e4adec358b0")
(property "Reference" "R1A" (at 125.00 80.46 0)
(effects (font (size 1.27 1.27))))
(property "Value" "2.2k" (at 127.54 80.46 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 125.00 83.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "~" (at 125.00 83.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "d1ea9a71-841c-4a70-a810-6f7847daa79a"))
(pin "2" (uuid "6d57f0f0-e524-467d-af0a-e08a133bbff6"))
)
(symbol (lib_id "Device:R") (at 125.00 85.54 90) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "ca589272-2260-4506-95d2-73e26ab5b2ca")
(property "Reference" "R1B" (at 125.00 83.00 0)
(effects (font (size 1.27 1.27))))
(property "Value" "2.2k" (at 127.54 83.00 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 125.00 85.54 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "~" (at 125.00 85.54 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "f2ea9413-2522-4221-a762-bb80d81e3d2f"))
(pin "2" (uuid "820612c8-4ab7-4e32-b63a-71c3c1a138a9"))
)
(symbol (lib_id "Device:R") (at 128.81 90.00 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "8f432cd5-747b-4d55-9fe1-3ad102cb9e79")
(property "Reference" "R3" (at 130.84 90.00 90)
(effects (font (size 1.27 1.27))))
(property "Value" "2.2k" (at 133.38 90.00 90)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 128.81 90.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "~" (at 128.81 90.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "a626a6fb-e2f9-41b6-ac30-5f9cf9e7748f"))
(pin "2" (uuid "c4dff62d-8b2d-443a-82ba-3e1612f498c8"))
)
(wire (pts (xy 121.19 83.00) (xy 121.19 85.54))
(stroke (width 0) (type default)) (uuid "f1944a7f-4f80-4aa6-afc3-0d36557dc963"))
(label "ECHO_DIV" (at 121.19 83.00 180) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "ebd347a1-95e1-4876-8943-1007f955da0c"))
(wire (pts (xy 128.81 83.00) (xy 128.81 85.54))
(stroke (width 0) (type default)) (uuid "f9baf9cb-83a0-4b9b-a138-c3d18c0a5185"))
(wire (pts (xy 128.81 85.54) (xy 128.81 86.19))
(stroke (width 0) (type default)) (uuid "a1305bc4-3a0c-4668-8e74-51b77d06ff9f"))
(junction (at 128.81 85.54) (diameter 0) (color 0 0 0 0) (uuid "50c908c5-de3a-4943-ba01-5ee543b9a8e8"))
(label "D5_ECHO" (at 128.81 83.00 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "f3d9eb23-6538-4a2b-9380-cc8de35e65c5"))
(symbol (lib_id "power:GND") (at 128.81 93.81 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "1b67032e-6382-405e-985d-4e29b2d1b47d")
(property "Reference" "#PWR11" (at 128.81 93.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 128.81 97.62 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 128.81 93.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 128.81 93.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "308bab1e-eb13-46fe-ac0e-f47eefb95f65")))
(sheet_instances
(path "/" (page "1")))
)

View File

@ -0,0 +1 @@
0

View File

@ -0,0 +1,313 @@
(kicad_sch
(version 20231120)
(generator "eeschema")
(generator_version "9.0")
(paper "A4")
(title_block
(title "Sistema de Riego — Diagrama de cableado")
(date "2026-05-12")
(rev "1")
(company "Proyecto Riego ESP8266"))
(lib_symbols
(symbol "Device:R"
(pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "R" (at 2.032 0 90) (effects (font (size 1.27 1.27))))
(property "Value" "R" (at 0 0 90) (effects (font (size 1.27 1.27))))
(symbol "R_0_1"
(rectangle (start -1.016 -2.032) (end 1.016 2.032)
(stroke (width 0.254) (type default)) (fill (type none))))
(symbol "R_1_1"
(pin passive (at 0 3.81 270) (length 1.778)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27)))))
(pin passive (at 0 -3.81 90) (length 1.778)
(name "~" (effects (font (size 1.27 1.27)))) (number "2" (effects (font (size 1.27 1.27)))))))
(symbol "Connector_Generic:Conn_01x04"
(pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "J" (at 0.8636 0 90) (effects (font (size 1.27 1.27))))
(property "Value" "Conn_01x04" (at 2.2 0 90) (effects (font (size 1.27 1.27))))
(symbol "Conn_01x04_0_1"
(rectangle (start -1.27 -5.08) (end 0 7.62)
(stroke (width 0.254) (type default)) (fill (type background))))
(symbol "Conn_01x04_1_1"
(pin passive (at -5.08 7.62 0) (length 3.81)
(name "Pin_1" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27)))))
(pin passive (at -5.08 5.08 0) (length 3.81)
(name "Pin_2" (effects (font (size 1.27 1.27)))) (number "2" (effects (font (size 1.27 1.27)))))
(pin passive (at -5.08 2.54 0) (length 3.81)
(name "Pin_3" (effects (font (size 1.27 1.27)))) (number "3" (effects (font (size 1.27 1.27)))))
(pin passive (at -5.08 0 0) (length 3.81)
(name "Pin_4" (effects (font (size 1.27 1.27)))) (number "4" (effects (font (size 1.27 1.27)))))))
(symbol "Connector_Generic:Conn_01x02"
(pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "J" (at 0.8636 0 90) (effects (font (size 1.27 1.27))))
(property "Value" "Conn_01x02" (at 2.2 0 90) (effects (font (size 1.27 1.27))))
(symbol "Conn_01x02_0_1"
(rectangle (start -1.27 -2.54) (end 0 2.54)
(stroke (width 0.254) (type default)) (fill (type background))))
(symbol "Conn_01x02_1_1"
(pin passive (at -5.08 2.54 0) (length 3.81)
(name "Pin_1" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27)))))
(pin passive (at -5.08 0 0) (length 3.81)
(name "Pin_2" (effects (font (size 1.27 1.27)))) (number "2" (effects (font (size 1.27 1.27)))))))
(symbol "power:GND"
(power) (pin_names (offset 0)) (in_bom no) (on_board no)
(property "Reference" "#PWR" (at 0 -6.35 0) (effects (font (size 1.27 1.27)) hide))
(property "Value" "GND" (at 0 -3.81 0) (effects (font (size 1.27 1.27))))
(symbol "GND_0_1"
(polyline (pts (xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) (xy -1.27 -1.27) (xy 0 -1.27))
(stroke (width 0) (type default)) (fill (type none))))
(symbol "GND_1_1"
(pin power_in (at 0 0 270) (length 0)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27)))))))
(symbol "power:+5V"
(power) (pin_names (offset 0)) (in_bom no) (on_board no)
(property "Reference" "#PWR" (at 0 3.81 0) (effects (font (size 1.27 1.27)) hide))
(property "Value" "+5V" (at 0 3.81 0) (effects (font (size 1.27 1.27))))
(symbol "+5V_0_1"
(polyline (pts (xy -0.762 1.27) (xy 0 2.54) (xy 0.762 1.27))
(stroke (width 0) (type default)) (fill (type none)))
(polyline (pts (xy 0 0) (xy 0 2.54))
(stroke (width 0) (type default)) (fill (type none))))
(symbol "+5V_1_1"
(pin power_in (at 0 0 270) (length 0)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27))))))))
(symbol (lib_id "Connector_Generic:Conn_01x04") (at 195.00 100.00 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "be8f3162-6255-4e12-9b7b-de1da60176b6")
(property "Reference" "J1" (at 197.00 100.00 90)
(effects (font (size 1.27 1.27))))
(property "Value" "HC-SR04" (at 199.00 100.00 90)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 195.00 100.00 0)
(effects (font (size 1.27 1.27)) hide))
(property "Datasheet" "" (at 195.00 100.00 0)
(effects (font (size 1.27 1.27)) hide))
(pin "1" (uuid "0b010536-305c-467d-97c8-eea55605001f"))
(pin "2" (uuid "2b34d9d4-36a2-4c3b-b051-8ec179037f2e"))
(pin "3" (uuid "09b79f25-21ce-40ad-aeed-6ff236604c05"))
(pin "4" (uuid "9c43246e-5b57-429d-8b0f-8bd1869d1829")))
(symbol (lib_id "Connector_Generic:Conn_01x02") (at 195.00 140.00 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "584a23c6-4c1f-471b-b2bd-1039063311b3")
(property "Reference" "J2" (at 197.00 140.00 90)
(effects (font (size 1.27 1.27))))
(property "Value" "Relay_IN1" (at 199.00 140.00 90)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 195.00 140.00 0)
(effects (font (size 1.27 1.27)) hide))
(property "Datasheet" "" (at 195.00 140.00 0)
(effects (font (size 1.27 1.27)) hide))
(pin "1" (uuid "aa70a444-842a-416f-8c16-185a092a2e11"))
(pin "2" (uuid "16066025-ade0-48a3-8722-ce2c53f45081")))
(symbol (lib_id "Device:R") (at 110.00 95.00 90) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "a766739a-96d3-4054-8dba-2aa8d4b53627")
(property "Reference" "R1" (at 110.00 92.50 0)
(effects (font (size 1.27 1.27))))
(property "Value" "2.2k" (at 110.00 95.00 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 110.00 95.00 0)
(effects (font (size 1.27 1.27)) hide))
(property "Datasheet" "~" (at 110.00 95.00 0)
(effects (font (size 1.27 1.27)) hide))
(pin "1" (uuid "325ad420-851d-45be-b3fd-032ef7495bf1"))
(pin "2" (uuid "5fd2e7a3-b2ab-4517-aaf8-ae3b9eb401ed")))
(symbol (lib_id "Device:R") (at 110.00 105.00 90) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "63b6dcf3-9268-4ab6-b2e5-9ba1601f99a0")
(property "Reference" "R2" (at 110.00 102.50 0)
(effects (font (size 1.27 1.27))))
(property "Value" "2.2k" (at 110.00 105.00 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 110.00 105.00 0)
(effects (font (size 1.27 1.27)) hide))
(property "Datasheet" "~" (at 110.00 105.00 0)
(effects (font (size 1.27 1.27)) hide))
(pin "1" (uuid "f223134b-df60-4c41-86a6-ae8f2f445b67"))
(pin "2" (uuid "e0da1527-4401-4d94-b75c-57058201c38f")))
(symbol (lib_id "Device:R") (at 118.81 103.81 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "556e73db-10ff-48af-adbd-f022b500031b")
(property "Reference" "R3" (at 120.84 103.81 90)
(effects (font (size 1.27 1.27))))
(property "Value" "2.2k" (at 118.81 103.81 90)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 118.81 103.81 0)
(effects (font (size 1.27 1.27)) hide))
(property "Datasheet" "~" (at 118.81 103.81 0)
(effects (font (size 1.27 1.27)) hide))
(pin "1" (uuid "cc06e2f5-dc9d-4d72-ad44-885cd556d726"))
(pin "2" (uuid "3506333f-0646-4331-8f2c-955cc74f3131")))
(symbol (lib_id "power:+5V") (at 189.92 92.38 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "b2d9147c-5710-4eaf-9016-df69a395e8f7")
(property "Reference" "#PWR01" (at 189.92 92.38 0)
(effects (font (size 1.27 1.27)) hide))
(property "Value" "+5V" (at 189.92 88.57 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 189.92 92.38 0)
(effects (font (size 1.27 1.27)) hide))
(property "Datasheet" "" (at 189.92 92.38 0)
(effects (font (size 1.27 1.27)) hide))
(pin "1" (uuid "7d8d9177-ec88-48a1-aa94-3540e8dcf426")))
(symbol (lib_id "power:GND") (at 189.92 94.92 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "7133ebf9-d4f0-42a0-a10c-c1e4616cae99")
(property "Reference" "#PWR02" (at 189.92 94.92 0)
(effects (font (size 1.27 1.27)) hide))
(property "Value" "GND" (at 189.92 98.73 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 189.92 94.92 0)
(effects (font (size 1.27 1.27)) hide))
(property "Datasheet" "" (at 189.92 94.92 0)
(effects (font (size 1.27 1.27)) hide))
(pin "1" (uuid "8a3ad7c9-47e8-487d-947e-02dc8b4f1495")))
(symbol (lib_id "power:GND") (at 118.81 107.62 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "ab298083-93e7-4f57-a3d2-ac9ef37b048e")
(property "Reference" "#PWR03" (at 118.81 107.62 0)
(effects (font (size 1.27 1.27)) hide))
(property "Value" "GND" (at 118.81 111.43 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 118.81 107.62 0)
(effects (font (size 1.27 1.27)) hide))
(property "Datasheet" "" (at 118.81 107.62 0)
(effects (font (size 1.27 1.27)) hide))
(pin "1" (uuid "3efe9c60-1783-4504-8dfd-a7f448797f67")))
(symbol (lib_id "power:GND") (at 189.92 140.00 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "e5d5148f-9835-4a1a-970c-6bf37b071fa0")
(property "Reference" "#PWR04" (at 189.92 140.00 0)
(effects (font (size 1.27 1.27)) hide))
(property "Value" "GND" (at 189.92 143.81 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 189.92 140.00 0)
(effects (font (size 1.27 1.27)) hide))
(property "Datasheet" "" (at 189.92 140.00 0)
(effects (font (size 1.27 1.27)) hide))
(pin "1" (uuid "e87e5f8b-e7d9-434d-8f85-bd8e38baa2b8")))
(symbol (lib_id "power:+5V") (at 200.00 132.46 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "d9b5641a-16d0-43f5-be7b-987a9c26eb99")
(property "Reference" "#PWR05" (at 200.00 132.46 0)
(effects (font (size 1.27 1.27)) hide))
(property "Value" "+5V" (at 200.00 128.65 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 200.00 132.46 0)
(effects (font (size 1.27 1.27)) hide))
(property "Datasheet" "" (at 200.00 132.46 0)
(effects (font (size 1.27 1.27)) hide))
(pin "1" (uuid "1a93679d-b14e-449b-b763-b7769dc86ee7")))
(wire (pts (xy 103.65 95.00) (xy 106.19 95.00))
(stroke (width 0) (type default))
(uuid "ccf67b0b-ca30-4bd0-adb0-b68958741ff2"))
(wire (pts (xy 103.65 105.00) (xy 106.19 105.00))
(stroke (width 0) (type default))
(uuid "904fc78f-df99-4296-a2f9-f344c5d8a1e4"))
(wire (pts (xy 103.65 95.00) (xy 103.65 105.00))
(stroke (width 0) (type default))
(uuid "f2d85eb0-6279-437f-ad52-56c32b94adc7"))
(wire (pts (xy 113.81 95.00) (xy 118.81 95.00))
(stroke (width 0) (type default))
(uuid "21168f7b-7985-488d-a6aa-887ad0425f38"))
(wire (pts (xy 113.81 105.00) (xy 118.81 105.00))
(stroke (width 0) (type default))
(uuid "8e8637be-88bd-48fa-a83d-978638fc7c03"))
(wire (pts (xy 118.81 95.00) (xy 118.81 105.00))
(stroke (width 0) (type default))
(uuid "4ffae2ac-100d-4689-8bff-c00661e6a238"))
(junction (at 118.81 100.00) (diameter 0) (color 0 0 0 0) (uuid "487ca348-d229-4051-bd8b-69cbd1050d22"))
(wire (pts (xy 118.81 100.00) (xy 189.92 100.00))
(stroke (width 0) (type default))
(uuid "34527297-f3b1-4766-b9fc-105032e2d314"))
(junction (at 118.81 100.00) (diameter 0) (color 0 0 0 0) (uuid "fbe47895-a4dd-4760-9f99-6c5aeaf4619b"))
(wire (pts (xy 70.00 97.46) (xy 189.92 97.46))
(stroke (width 0) (type default))
(uuid "ecc9db0b-6ab8-4cf0-b0cc-71b478386373"))
(wire (pts (xy 70.00 137.46) (xy 189.92 137.46))
(stroke (width 0) (type default))
(uuid "28a4f960-8e1c-4a3c-a279-dc65a64fdfcb"))
(wire (pts (xy 70.00 95.00) (xy 103.65 95.00))
(stroke (width 0) (type default))
(uuid "71e12727-2032-4068-85e5-1b298f49077f"))
(wire (pts (xy 70.00 97.46) (xy 70.00 137.46))
(stroke (width 0) (type default))
(uuid "c03f0260-65d5-4c5b-91e8-777ebdb6f4a9"))
(label "D5/GPIO14" (at 70.00 97.46 180) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "7a250f26-5161-4c6d-a7cf-c0050c80a7ef"))
(label "D1/GPIO5" (at 70.00 137.46 180) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "4a019118-72cd-49d2-a7e6-2d997f8199e1"))
(label "D2/GPIO4" (at 70.00 95.00 180) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "3c216499-4df2-49d7-b6a0-83ae3e94f872"))
(label "D5/GPIO14" (at 189.92 97.46 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "14d916fc-d5d2-4bcd-bd40-73516a943334"))
(label "D1/GPIO5" (at 189.92 137.46 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "c2a656c7-3101-4f79-8697-0c899685a59a"))
(text "NodeMCU ESP8266" (at 35.00 77.46 0) (fields_autoplaced)
(effects (font (size 1.5 1.5) bold))
(uuid "06ced807-2d1c-4536-91d5-ed9b7990c4d9"))
(text "D5 → GPIO14" (at 35.00 83.46 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "f812cc2d-2807-46ef-b811-8d57c3cb34d5"))
(text "D2 → GPIO4" (at 35.00 87.46 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "4d4f96b8-9763-4180-a04b-5aba59e9c4f7"))
(text "D1 → GPIO5" (at 35.00 91.46 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "cb4f4dcf-b691-4edd-afb3-c00c820a6da5"))
(text "GND (común fuente ext.)" (at 35.00 99.46 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "5d3fafce-284f-4d68-bb79-294458bdc0d3"))
(text "R1 ∥ R2 = 1.1kΩ (divisor superior)" (at 90.00 86.00 0) (fields_autoplaced)
(effects (font (size 1.0 1.0)))
(uuid "19e3e427-0541-444a-b8df-a1900ea41cb4"))
(text "R3 = 2.2kΩ (divisor inferior)" (at 121.81 103.81 0) (fields_autoplaced)
(effects (font (size 1.0 1.0)))
(uuid "c3c20e39-7bf0-4b9e-86c9-7fb495125fdd"))
(text "Echo 5V → 3.3V" (at 121.81 108.81 0) (fields_autoplaced)
(effects (font (size 1.0 1.0)))
(uuid "64fcb1bd-7e9d-42c9-81ad-623850878006"))
(text "HC-SR04" (at 197.00 90.00 0) (fields_autoplaced)
(effects (font (size 1.5 1.5) bold))
(uuid "2ecd3679-4bf3-4b13-95e2-685d8069c33a"))
(text "Pin 1: VCC" (at 197.00 92.38 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "628d7cd3-9d28-4318-b8d5-210e89d8689d"))
(text "Pin 2: GND" (at 197.00 94.92 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "fe906e5d-0dae-4a46-9576-21c8139867ac"))
(text "Pin 3: Trig" (at 197.00 97.46 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "3f4c96c9-63a3-4caf-9a3a-e1ee2cb27c3e"))
(text "Pin 4: Echo" (at 197.00 100.00 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "ba970075-be03-4c31-bbe7-fa147c016ac8"))
(text "SunFounder 8 Relay" (at 197.00 130.00 0) (fields_autoplaced)
(effects (font (size 1.5 1.5) bold))
(uuid "13e7af34-24e2-461d-90eb-0cbc8a5aa2e0"))
(text "Pin 1: IN1 (lógica LOW activa)" (at 197.00 133.00 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "17a91afd-1ae6-4cb7-b5db-72389cc8719a"))
(text "Pin 2: GND" (at 197.00 136.00 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "063e1379-8481-4844-836c-881d28d19cfe"))
(text "+5V externo a VCC del relay" (at 197.00 139.00 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "0f14b1a1-3cf1-44b3-ad9b-913d4521c615"))
(sheet_instances
(path "/" (page "1")))
)

View File

@ -0,0 +1 @@
{"hostname":"f-romero-EQUIP","username":"f-romero"}

View File

@ -0,0 +1,442 @@
#!/usr/bin/env python3
"""
Genera el esquemático KiCad 9 Sistema de Riego ESP8266.
Símbolos propios correctos: NodeMCU ESP8266 v3, HC-SR04, SunFounder 8CH Relay.
"""
import uuid as _uuid, shutil
from pathlib import Path
def uid():
return str(_uuid.uuid4())
STEP = 2.54
def n_y(n_pins, idx):
"""Y del pin idx (0-based) para un símbolo con n_pins centrado en 0."""
return round(-(n_pins - 1) / 2.0 * STEP + idx * STEP, 2)
# ── Helpers de símbolo ────────────────────────────────────────────────────────
def sym_pin(num, name, ptype, at_x, at_y, angle, length=2.54):
return (f' (pin {ptype} line (at {at_x:.2f} {at_y:.2f} {angle}) (length {length:.2f})\n'
f' (name "{name}" (effects (font (size 1.27 1.27))))\n'
f' (number "{num}" (effects (font (size 1.27 1.27)))))')
def sym_rect(x1, y1, x2, y2, w=0):
return (f' (rectangle (start {x1:.2f} {y1:.2f}) (end {x2:.2f} {y2:.2f})\n'
f' (stroke (width {w}) (type default)) (fill (type background)))')
def prop(name, val, ax, ay, angle=0, hide=False):
h = '\n (hide yes)' if hide else ''
return (f' (property "{name}" "{val}" (at {ax:.2f} {ay:.2f} {angle})\n'
f' (effects (font (size 1.27 1.27)){h}))')
def symbol_block(lib_sym_name, ref_prefix, body, pins, ref_ax, ref_ay, val_ay, desc=""):
"""lib_sym_name = 'riego_lib:SymName'"""
sym_short = lib_sym_name.split(":")[1]
return (f' (symbol "{lib_sym_name}"\n'
f' (pin_names (offset 1.016))\n'
f' (exclude_from_sim no)\n'
f' (in_bom yes)\n'
f' (on_board yes)\n'
+ prop("Reference", ref_prefix, ref_ax, ref_ay) + "\n"
+ prop("Value", sym_short, ref_ax, val_ay) + "\n"
+ prop("Footprint", "", 0, 0, hide=True) + "\n"
+ prop("Datasheet", "", 0, 0, hide=True) + "\n"
+ prop("Description", desc, 0, 0, hide=True) + "\n"
+ f' (symbol "{sym_short}_0_1"\n'
+ sym_rect(*body) + "\n"
+ f' )\n'
+ f' (symbol "{sym_short}_1_1"\n'
+ "\n".join(pins) + "\n"
+ f' )\n'
+ f' )')
# ── NodeMCU ESP8266 v3 ────────────────────────────────────────────────────────
NM_BW = 10.16 # body half-width
NM_BH = 19.05 # body half-height
NM_PX_L = -(NM_BW + STEP) # = -12.70 left pin connection X
NM_PX_R = (NM_BW + STEP) # = +12.70 right pin connection X
LEFT_PINS = [
("1", "A0", "input"),
("2", "RSV", "passive"),
("3", "RSV", "passive"),
("4", "SD3", "bidirectional"),
("5", "SD2", "bidirectional"),
("6", "SD1/MOSI", "bidirectional"),
("7", "CMD/CS0", "bidirectional"),
("8", "SD0/MISO", "bidirectional"),
("9", "CLK/SCLK", "bidirectional"),
("10", "GND", "power_in"),
("11", "3V3", "power_out"),
("12", "EN", "input"),
("13", "RST", "input"),
("14", "GND", "power_in"),
("15", "VIN", "power_in"),
]
RIGHT_PINS = [
("16", "D0", "bidirectional"),
("17", "D1/SCL", "bidirectional"),
("18", "D2/SDA", "bidirectional"),
("19", "D3", "bidirectional"),
("20", "D4/LED", "bidirectional"),
("21", "3V3", "power_out"),
("22", "GND", "power_in"),
("23", "D5/SCLK", "bidirectional"),
("24", "D6/MISO", "bidirectional"),
("25", "D7/MOSI", "bidirectional"),
("26", "D8/CS", "bidirectional"),
("27", "RX", "input"),
("28", "TX", "output"),
("29", "GND", "power_in"),
("30", "RST", "input"),
]
nm_pins = (
[sym_pin(n, name, pt, NM_PX_L, n_y(15, i), 0) for i,(n,name,pt) in enumerate(LEFT_PINS)] +
[sym_pin(n, name, pt, NM_PX_R, n_y(15, i), 180) for i,(n,name,pt) in enumerate(RIGHT_PINS)]
)
SYM_NODEMCU = symbol_block(
"riego_lib:NodeMCU_ESP8266_v3", "U",
(-NM_BW, -NM_BH, NM_BW, NM_BH),
nm_pins, 0, NM_BH+1.27, NM_BH+3.81,
"NodeMCU ESP8266 v3 module")
# ── HC-SR04 ───────────────────────────────────────────────────────────────────
HC_PX = -6.35
HC_BODY = (-3.81, -5.08, 3.81, 5.08)
HC_PINS_DEF = [
("1", "VCC", "power_in", HC_PX, n_y(4,0), 0),
("2", "Trig", "input", HC_PX, n_y(4,1), 0),
("3", "Echo", "output", HC_PX, n_y(4,2), 0),
("4", "GND", "power_in", HC_PX, n_y(4,3), 0),
]
SYM_HCSR04 = symbol_block(
"riego_lib:HC_SR04", "US", HC_BODY,
[sym_pin(*p) for p in HC_PINS_DEF],
0, HC_BODY[3]+1.27, HC_BODY[3]+3.81,
"HC-SR04 ultrasonic distance sensor")
# ── SunFounder 8-channel relay module ────────────────────────────────────────
RL_BW = 5.08
RL_BH = 12.70
RL_LEFT_PX = -(RL_BW + STEP) # = -7.62
RL_RIGHT_PX = (RL_BW + STEP) # = +7.62
rl_pins = (
[sym_pin(str(i+1), f"IN{i+1}", "input", RL_LEFT_PX, n_y(8,i), 0) for i in range(8)] +
[sym_pin("9", "VCC", "power_in", RL_RIGHT_PX, n_y(2,0), 180),
sym_pin("10", "GND", "power_in", RL_RIGHT_PX, n_y(2,1), 180)]
)
SYM_RELAY = symbol_block(
"riego_lib:Relay_SunFounder_8CH", "K",
(-RL_BW, -RL_BH, RL_BW, RL_BH),
rl_pins, 0, RL_BH+1.27, RL_BH+3.81,
"SunFounder 8-channel relay module (active LOW)")
# ── Device:R (resistencia estándar KiCad) ────────────────────────────────────
SYM_R = """ (symbol "Device:R"
(pin_numbers hide)
(pin_names (offset 0))
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "R" (at 2.032 0 90) (effects (font (size 1.27 1.27))))
(property "Value" "R" (at 0 0 90) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "~" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "R_0_1"
(rectangle (start -1.016 -2.032) (end 1.016 2.032)
(stroke (width 0.254) (type default)) (fill (type none))))
(symbol "R_1_1"
(pin passive line (at 0 3.81 270) (length 1.778)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27)))))
(pin passive line (at 0 -3.81 90) (length 1.778)
(name "~" (effects (font (size 1.27 1.27)))) (number "2" (effects (font (size 1.27 1.27)))))
)
)"""
# ── Símbolos de alimentación ──────────────────────────────────────────────────
SYM_GND = """ (symbol "power:GND"
(power) (pin_names (offset 0)) (exclude_from_sim no) (in_bom no) (on_board no)
(property "Reference" "#PWR" (at 0 -6.35 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 0 -3.81 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "GND_0_1"
(polyline (pts (xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) (xy -1.27 -1.27) (xy 0 -1.27))
(stroke (width 0) (type default)) (fill (type none))))
(symbol "GND_1_1"
(pin power_in line (at 0 0 270) (length 0)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27))))))
)"""
SYM_5V = """ (symbol "power:+5V"
(power) (pin_names (offset 0)) (exclude_from_sim no) (in_bom no) (on_board no)
(property "Reference" "#PWR" (at 0 3.81 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+5V" (at 0 3.81 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "+5V_0_1"
(polyline (pts (xy -0.762 1.27) (xy 0 2.54) (xy 0.762 1.27))
(stroke (width 0) (type default)) (fill (type none)))
(polyline (pts (xy 0 0) (xy 0 2.54))
(stroke (width 0) (type default)) (fill (type none))))
(symbol "+5V_1_1"
(pin power_in line (at 0 0 270) (length 0)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27))))))
)"""
SYM_3V3 = """ (symbol "power:+3.3V"
(power) (pin_names (offset 0)) (exclude_from_sim no) (in_bom no) (on_board no)
(property "Reference" "#PWR" (at 0 3.81 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+3.3V" (at 0 3.81 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "+3.3V_0_1"
(polyline (pts (xy -0.762 1.27) (xy 0 2.54) (xy 0.762 1.27))
(stroke (width 0) (type default)) (fill (type none)))
(polyline (pts (xy 0 0) (xy 0 2.54))
(stroke (width 0) (type default)) (fill (type none))))
(symbol "+3.3V_1_1"
(pin power_in line (at 0 0 270) (length 0)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27))))))
)"""
LIB_SYMBOLS = "\n".join([SYM_NODEMCU, SYM_HCSR04, SYM_RELAY, SYM_R, SYM_GND, SYM_5V, SYM_3V3])
# ── Helpers de elementos de esquemático ───────────────────────────────────────
def wire(x1, y1, x2, y2):
return (f' (wire (pts (xy {x1:.2f} {y1:.2f}) (xy {x2:.2f} {y2:.2f}))\n'
f' (stroke (width 0) (type default)) (uuid "{uid()}"))')
def junction(x, y):
return f' (junction (at {x:.2f} {y:.2f}) (diameter 0) (color 0 0 0 0) (uuid "{uid()}"))'
def no_connect(x, y):
return f' (no_connect (at {x:.2f} {y:.2f}) (uuid "{uid()}"))'
def net_label(text, x, y, angle=0):
return (f' (label "{text}" (at {x:.2f} {y:.2f} {angle}) (fields_autoplaced)\n'
f' (effects (font (size 1.27 1.27)))\n'
f' (uuid "{uid()}"))')
_pwr_cnt = [1]
def power_sym(sym, x, y):
n = _pwr_cnt[0]; _pwr_cnt[0] += 1
vy = y - 3.81 if sym in ("+5V", "+3.3V") else y + 3.81
return (f' (symbol (lib_id "power:{sym}") (at {x:.2f} {y:.2f} 0) (unit 1)\n'
f' (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)\n'
f' (uuid "{uid()}")\n'
f' (property "Reference" "#PWR{n:02d}" (at {x:.2f} {y:.2f} 0)\n'
f' (effects (font (size 1.27 1.27)) (hide yes)))\n'
f' (property "Value" "{sym}" (at {x:.2f} {vy:.2f} 0)\n'
f' (effects (font (size 1.27 1.27))))\n'
f' (property "Footprint" "" (at {x:.2f} {y:.2f} 0)\n'
f' (effects (font (size 1.27 1.27)) (hide yes)))\n'
f' (property "Datasheet" "" (at {x:.2f} {y:.2f} 0)\n'
f' (effects (font (size 1.27 1.27)) (hide yes)))\n'
f' (pin "1" (uuid "{uid()}")))')
def place_comp(lib_id, ref, value, x, y, pin_nums, ref_dx=2, ref_dy=-2, val_dx=2, val_dy=2):
pins = "\n".join(f' (pin "{n}" (uuid "{uid()}"))' for n in pin_nums)
return (f' (symbol (lib_id "{lib_id}") (at {x:.2f} {y:.2f} 0) (unit 1)\n'
f' (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)\n'
f' (uuid "{uid()}")\n'
f' (property "Reference" "{ref}" (at {x+ref_dx:.2f} {y+ref_dy:.2f} 0)\n'
f' (effects (font (size 1.27 1.27))))\n'
f' (property "Value" "{value}" (at {x+val_dx:.2f} {y+val_dy:.2f} 0)\n'
f' (effects (font (size 1.27 1.27))))\n'
f' (property "Footprint" "" (at {x:.2f} {y:.2f} 0)\n'
f' (effects (font (size 1.27 1.27)) (hide yes)))\n'
f' (property "Datasheet" "" (at {x:.2f} {y:.2f} 0)\n'
f' (effects (font (size 1.27 1.27)) (hide yes)))\n'
f'{pins}\n )')
def place_resistor(ref, value, x, y, rotation=0):
"""rotation=0 → vertical; rotation=90 → horizontal."""
if rotation == 90:
rx, ry, ra = x, y - 2.54, 0
else:
rx, ry, ra = x + 2.032, y, 90
return (f' (symbol (lib_id "Device:R") (at {x:.2f} {y:.2f} {rotation}) (unit 1)\n'
f' (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)\n'
f' (uuid "{uid()}")\n'
f' (property "Reference" "{ref}" (at {rx:.2f} {ry:.2f} {ra})\n'
f' (effects (font (size 1.27 1.27))))\n'
f' (property "Value" "{value}" (at {rx+2.54:.2f} {ry:.2f} {ra})\n'
f' (effects (font (size 1.27 1.27))))\n'
f' (property "Footprint" "" (at {x:.2f} {y:.2f} 0)\n'
f' (effects (font (size 1.27 1.27)) (hide yes)))\n'
f' (property "Datasheet" "~" (at {x:.2f} {y:.2f} 0)\n'
f' (effects (font (size 1.27 1.27)) (hide yes)))\n'
f' (pin "1" (uuid "{uid()}"))\n'
f' (pin "2" (uuid "{uid()}"))\n )')
# ── Posiciones y coordenadas ──────────────────────────────────────────────────
#
# U1 NodeMCU center (80, 100)
# US1 HC-SR04 center (175, 80)
# K1 Relay center (175, 145)
#
# NodeMCU right-side pin X = 80 + 12.70 = 92.70
# NodeMCU left-side pin X = 80 - 12.70 = 67.30
NM_CX, NM_CY = 80.0, 100.0
HC_CX, HC_CY = 175.0, 80.0
RL_CX, RL_CY = 175.0, 145.0
NM_RPX = NM_CX + NM_PX_R # 92.70
NM_LPX = NM_CX + NM_PX_L # 67.30
def nm_ry(idx): return round(NM_CY + n_y(15, idx), 2) # right side
def nm_ly(idx): return round(NM_CY + n_y(15, idx), 2) # left side (same Y mapping)
# HC-SR04: pins on left at X = 175 + HC_PX = 175 - 6.35 = 168.65
HC_PPX = HC_CX + HC_PX
def hc_y(idx): return round(HC_CY + n_y(4, idx), 2)
# Relay: left-side pins at X = 175 - 7.62 = 167.38
# right-side pins at X = 175 + 7.62 = 182.62
RL_LPX = RL_CX + RL_LEFT_PX
RL_RPX = RL_CX + RL_RIGHT_PX
def rl_ly(idx): return round(RL_CY + n_y(8, idx), 2) # IN1-IN8
def rl_ry(idx): return round(RL_CY + n_y(2, idx), 2) # VCC, GND
# Device:R con rotation=90 (horizontal):
# pin1 conecta en (X-3.81, Y) [izquierda]
# pin2 conecta en (X+3.81, Y) [derecha]
# Device:R con rotation=0 (vertical):
# pin1 conecta en (X, Y+3.81) [abajo]
# pin2 conecta en (X, Y-3.81) [arriba]
# Divisor de tensión
# R1A y R1B en paralelo (horizontal) entre D2/GPIO4 y ECHO_DIV
# R3 vertical de ECHO_DIV a GND
R1A_CX, R1A_CY = 125.0, 83.0
R1B_CX, R1B_CY = 125.0, 85.54
R1A_LP = (R1A_CX - 3.81, R1A_CY) # (121.19, 83.0)
R1B_LP = (R1B_CX - 3.81, R1B_CY) # (121.19, 85.54)
R1A_RP = (R1A_CX + 3.81, R1A_CY) # (128.81, 83.0)
R1B_RP = (R1B_CX + 3.81, R1B_CY) # (128.81, 85.54)
R3_CX, R3_CY = 128.81, 90.0
R3_TOP = (R3_CX, R3_CY - 3.81) # (128.81, 86.19)
R3_BOT = (R3_CX, R3_CY + 3.81) # (128.81, 93.81)
# ── Ensamblado de elementos ───────────────────────────────────────────────────
E = []
# U1 — NodeMCU
E.append(place_comp(
"riego_lib:NodeMCU_ESP8266_v3", "U1", "NodeMCU_ESP8266_v3",
NM_CX, NM_CY, [str(i) for i in range(1, 31)],
ref_dx=11.5, ref_dy=-21, val_dx=0, val_dy=21))
# No-connect pines no usados del NodeMCU
# Izquierda: A0(0), RSV(1), RSV(2), SD3(3), SD2(4), SD1(5), CMD(6), SD0(7), CLK(8), EN(11)
for idx in [0,1,2,3,4,5,6,7,8,11]:
E.append(no_connect(NM_LPX, nm_ly(idx)))
# Derecha: D0(0), D3(3), D4(4), D6(8), D7(9), D8(10), RX(11), TX(12)
for idx in [0,3,4,8,9,10,11,12]:
E.append(no_connect(NM_RPX, nm_ry(idx)))
# Pines de potencia NodeMCU izquierda: GND(9), 3V3(10), RST(12→nc), GND(13), VIN(14→nc)
E.append(power_sym("GND", NM_LPX, nm_ly(9)))
E.append(power_sym("+3.3V", NM_LPX, nm_ly(10)))
E.append(no_connect(NM_LPX, nm_ly(12))) # RST
E.append(power_sym("GND", NM_LPX, nm_ly(13)))
E.append(no_connect(NM_LPX, nm_ly(14))) # VIN
# Pines de potencia NodeMCU derecha: 3V3(5), GND(6), GND(13), RST(14→nc)
E.append(power_sym("+3.3V", NM_RPX, nm_ry(5)))
E.append(power_sym("GND", NM_RPX, nm_ry(6)))
E.append(power_sym("GND", NM_RPX, nm_ry(13)))
E.append(no_connect(NM_RPX, nm_ry(14))) # RST
# Etiquetas de señal en NodeMCU (pines derecha que usamos)
# D1/SCL = idx 1, D2/SDA = idx 2, D5/SCLK = idx 7
E.append(net_label("D1/GPIO5", NM_RPX, nm_ry(1), angle=0))
E.append(net_label("D2_TRIG", NM_RPX, nm_ry(2), angle=0))
E.append(net_label("D5_ECHO", NM_RPX, nm_ry(7), angle=0))
# US1 — HC-SR04
E.append(place_comp(
"riego_lib:HC_SR04", "US1", "HC_SR04",
HC_CX, HC_CY, ["1","2","3","4"],
ref_dx=5, ref_dy=-7, val_dx=5, val_dy=-4))
E.append(power_sym("+5V", HC_PPX, hc_y(0))) # VCC
E.append(power_sym("GND", HC_PPX, hc_y(3))) # GND
E.append(net_label("D2_TRIG", HC_PPX, hc_y(1), angle=180)) # Trig ← GPIO4/D2
E.append(net_label("ECHO_DIV", HC_PPX, hc_y(2), angle=180)) # Echo → divisor → D5/GPIO14
# K1 — Relay SunFounder 8CH
E.append(place_comp(
"riego_lib:Relay_SunFounder_8CH", "K1", "Relay_SunFounder_8CH",
RL_CX, RL_CY, [str(i) for i in range(1, 11)],
ref_dx=6, ref_dy=-14, val_dx=6, val_dy=-11))
E.append(power_sym("+5V", RL_RPX, rl_ry(0))) # VCC
E.append(power_sym("GND", RL_RPX, rl_ry(1))) # GND
E.append(net_label("D1/GPIO5", RL_LPX, rl_ly(0), angle=180)) # IN1
# No-connect IN2-IN8
for idx in range(1, 8):
E.append(no_connect(RL_LPX, rl_ly(idx)))
# ── Divisor de tensión ────────────────────────────────────────────────────────
E.append(place_resistor("R1A", "2.2k", R1A_CX, R1A_CY, rotation=90))
E.append(place_resistor("R1B", "2.2k", R1B_CX, R1B_CY, rotation=90))
E.append(place_resistor("R3", "2.2k", R3_CX, R3_CY, rotation=0))
# Lado izquierdo del paralelo — net D2/GPIO4
E.append(wire(R1A_LP[0], R1A_LP[1], R1B_LP[0], R1B_LP[1])) # vertical une R1A y R1B left
E.append(net_label("ECHO_DIV", R1A_LP[0], R1A_LP[1], angle=180)) # Echo HC-SR04 → aquí
# Lado derecho del paralelo — net D5_ECHO (sale hacia GPIO14/D5)
E.append(wire(R1A_RP[0], R1A_RP[1], R1B_RP[0], R1B_RP[1])) # vertical une R1A y R1B right
E.append(wire(R1B_RP[0], R1B_RP[1], R3_TOP[0], R3_TOP[1])) # baja hasta R3 top
E.append(junction(R1B_RP[0], R1B_RP[1]))
E.append(net_label("D5_ECHO", R1A_RP[0], R1A_RP[1], angle=0)) # → GPIO14/D5
# GND en R3 bottom
E.append(power_sym("GND", R3_BOT[0], R3_BOT[1]))
# ── Generar fichero ───────────────────────────────────────────────────────────
body = "\n".join(E)
schematic = f"""(kicad_sch
(version 20250114)
(generator "eeschema")
(generator_version "9.0")
(uuid "{uid()}")
(paper "A4")
(title_block
(title "Sistema de Riego — Diagrama de cableado")
(date "2026-05-12")
(rev "2")
(company "Proyecto Riego ESP8266"))
(lib_symbols
{LIB_SYMBOLS}
)
{body}
(sheet_instances
(path "/" (page "1")))
)
"""
out = Path(__file__).parent / "riego.kicad_sch"
out.write_text(schematic, encoding="utf-8")
print(f"Generado: {out}")
dst = Path(__file__).parent / "esp8266" / "esp8266.kicad_sch"
shutil.copy(out, dst)
print(f"Copiado a: {dst}")

602
esquematico/riego.kicad_sch Normal file
View File

@ -0,0 +1,602 @@
(kicad_sch
(version 20250114)
(generator "eeschema")
(generator_version "9.0")
(uuid "2f7ed679-552b-4119-867b-1f186222309e")
(paper "A4")
(title_block
(title "Sistema de Riego — Diagrama de cableado")
(date "2026-05-12")
(rev "2")
(company "Proyecto Riego ESP8266"))
(lib_symbols
(symbol "riego_lib:NodeMCU_ESP8266_v3"
(pin_names (offset 1.016))
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "U" (at 0.00 20.32 0)
(effects (font (size 1.27 1.27))))
(property "Value" "NodeMCU_ESP8266_v3" (at 0.00 22.86 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Datasheet" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Description" "NodeMCU ESP8266 v3 module" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(symbol "NodeMCU_ESP8266_v3_0_1"
(rectangle (start -10.16 -19.05) (end 10.16 19.05)
(stroke (width 0) (type default)) (fill (type background)))
)
(symbol "NodeMCU_ESP8266_v3_1_1"
(pin input line (at -12.70 -17.78 0) (length 2.54)
(name "A0" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27)))))
(pin passive line (at -12.70 -15.24 0) (length 2.54)
(name "RSV" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27)))))
(pin passive line (at -12.70 -12.70 0) (length 2.54)
(name "RSV" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 -10.16 0) (length 2.54)
(name "SD3" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 -7.62 0) (length 2.54)
(name "SD2" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 -5.08 0) (length 2.54)
(name "SD1/MOSI" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 -2.54 0) (length 2.54)
(name "CMD/CS0" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 0.00 0) (length 2.54)
(name "SD0/MISO" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at -12.70 2.54 0) (length 2.54)
(name "CLK/SCLK" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27)))))
(pin power_in line (at -12.70 5.08 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27)))))
(pin power_out line (at -12.70 7.62 0) (length 2.54)
(name "3V3" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27)))))
(pin input line (at -12.70 10.16 0) (length 2.54)
(name "EN" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27)))))
(pin input line (at -12.70 12.70 0) (length 2.54)
(name "RST" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27)))))
(pin power_in line (at -12.70 15.24 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27)))))
(pin power_in line (at -12.70 17.78 0) (length 2.54)
(name "VIN" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 -17.78 180) (length 2.54)
(name "D0" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 -15.24 180) (length 2.54)
(name "D1/SCL" (effects (font (size 1.27 1.27))))
(number "17" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 -12.70 180) (length 2.54)
(name "D2/SDA" (effects (font (size 1.27 1.27))))
(number "18" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 -10.16 180) (length 2.54)
(name "D3" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 -7.62 180) (length 2.54)
(name "D4/LED" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27)))))
(pin power_out line (at 12.70 -5.08 180) (length 2.54)
(name "3V3" (effects (font (size 1.27 1.27))))
(number "21" (effects (font (size 1.27 1.27)))))
(pin power_in line (at 12.70 -2.54 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 0.00 180) (length 2.54)
(name "D5/SCLK" (effects (font (size 1.27 1.27))))
(number "23" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 2.54 180) (length 2.54)
(name "D6/MISO" (effects (font (size 1.27 1.27))))
(number "24" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 5.08 180) (length 2.54)
(name "D7/MOSI" (effects (font (size 1.27 1.27))))
(number "25" (effects (font (size 1.27 1.27)))))
(pin bidirectional line (at 12.70 7.62 180) (length 2.54)
(name "D8/CS" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27)))))
(pin input line (at 12.70 10.16 180) (length 2.54)
(name "RX" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27)))))
(pin output line (at 12.70 12.70 180) (length 2.54)
(name "TX" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27)))))
(pin power_in line (at 12.70 15.24 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27)))))
(pin input line (at 12.70 17.78 180) (length 2.54)
(name "RST" (effects (font (size 1.27 1.27))))
(number "30" (effects (font (size 1.27 1.27)))))
)
)
(symbol "riego_lib:HC_SR04"
(pin_names (offset 1.016))
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "US" (at 0.00 6.35 0)
(effects (font (size 1.27 1.27))))
(property "Value" "HC_SR04" (at 0.00 8.89 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Datasheet" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Description" "HC-SR04 ultrasonic distance sensor" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(symbol "HC_SR04_0_1"
(rectangle (start -3.81 -5.08) (end 3.81 5.08)
(stroke (width 0) (type default)) (fill (type background)))
)
(symbol "HC_SR04_1_1"
(pin power_in line (at -6.35 -3.81 0) (length 2.54)
(name "VCC" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27)))))
(pin input line (at -6.35 -1.27 0) (length 2.54)
(name "Trig" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27)))))
(pin output line (at -6.35 1.27 0) (length 2.54)
(name "Echo" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27)))))
(pin power_in line (at -6.35 3.81 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27)))))
)
)
(symbol "riego_lib:Relay_SunFounder_8CH"
(pin_names (offset 1.016))
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "K" (at 0.00 13.97 0)
(effects (font (size 1.27 1.27))))
(property "Value" "Relay_SunFounder_8CH" (at 0.00 16.51 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Datasheet" "" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(property "Description" "SunFounder 8-channel relay module (active LOW)" (at 0.00 0.00 0)
(effects (font (size 1.27 1.27))
(hide yes)))
(symbol "Relay_SunFounder_8CH_0_1"
(rectangle (start -5.08 -12.70) (end 5.08 12.70)
(stroke (width 0) (type default)) (fill (type background)))
)
(symbol "Relay_SunFounder_8CH_1_1"
(pin input line (at -7.62 -8.89 0) (length 2.54)
(name "IN1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 -6.35 0) (length 2.54)
(name "IN2" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 -3.81 0) (length 2.54)
(name "IN3" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 -1.27 0) (length 2.54)
(name "IN4" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 1.27 0) (length 2.54)
(name "IN5" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 3.81 0) (length 2.54)
(name "IN6" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 6.35 0) (length 2.54)
(name "IN7" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27)))))
(pin input line (at -7.62 8.89 0) (length 2.54)
(name "IN8" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27)))))
(pin power_in line (at 7.62 -1.27 180) (length 2.54)
(name "VCC" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27)))))
(pin power_in line (at 7.62 1.27 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27)))))
)
)
(symbol "Device:R"
(pin_numbers hide)
(pin_names (offset 0))
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "R" (at 2.032 0 90) (effects (font (size 1.27 1.27))))
(property "Value" "R" (at 0 0 90) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "~" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "R_0_1"
(rectangle (start -1.016 -2.032) (end 1.016 2.032)
(stroke (width 0.254) (type default)) (fill (type none))))
(symbol "R_1_1"
(pin passive line (at 0 3.81 270) (length 1.778)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27)))))
(pin passive line (at 0 -3.81 90) (length 1.778)
(name "~" (effects (font (size 1.27 1.27)))) (number "2" (effects (font (size 1.27 1.27)))))
)
)
(symbol "power:GND"
(power) (pin_names (offset 0)) (exclude_from_sim no) (in_bom no) (on_board no)
(property "Reference" "#PWR" (at 0 -6.35 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 0 -3.81 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "GND_0_1"
(polyline (pts (xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) (xy -1.27 -1.27) (xy 0 -1.27))
(stroke (width 0) (type default)) (fill (type none))))
(symbol "GND_1_1"
(pin power_in line (at 0 0 270) (length 0)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27))))))
)
(symbol "power:+5V"
(power) (pin_names (offset 0)) (exclude_from_sim no) (in_bom no) (on_board no)
(property "Reference" "#PWR" (at 0 3.81 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+5V" (at 0 3.81 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "+5V_0_1"
(polyline (pts (xy -0.762 1.27) (xy 0 2.54) (xy 0.762 1.27))
(stroke (width 0) (type default)) (fill (type none)))
(polyline (pts (xy 0 0) (xy 0 2.54))
(stroke (width 0) (type default)) (fill (type none))))
(symbol "+5V_1_1"
(pin power_in line (at 0 0 270) (length 0)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27))))))
)
(symbol "power:+3.3V"
(power) (pin_names (offset 0)) (exclude_from_sim no) (in_bom no) (on_board no)
(property "Reference" "#PWR" (at 0 3.81 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+3.3V" (at 0 3.81 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))
(symbol "+3.3V_0_1"
(polyline (pts (xy -0.762 1.27) (xy 0 2.54) (xy 0.762 1.27))
(stroke (width 0) (type default)) (fill (type none)))
(polyline (pts (xy 0 0) (xy 0 2.54))
(stroke (width 0) (type default)) (fill (type none))))
(symbol "+3.3V_1_1"
(pin power_in line (at 0 0 270) (length 0)
(name "~" (effects (font (size 1.27 1.27)))) (number "1" (effects (font (size 1.27 1.27))))))
)
)
(symbol (lib_id "riego_lib:NodeMCU_ESP8266_v3") (at 80.00 100.00 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "f4094374-2732-4014-849e-d3b4b6e6dd59")
(property "Reference" "U1" (at 91.50 79.00 0)
(effects (font (size 1.27 1.27))))
(property "Value" "NodeMCU_ESP8266_v3" (at 80.00 121.00 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 80.00 100.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 80.00 100.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "099713b1-4bd0-41b9-9772-f4e5d9482c54"))
(pin "2" (uuid "a0c66e6a-8858-4b1b-8070-fa073cd516f6"))
(pin "3" (uuid "ec938ac1-f0ac-4fb9-ba84-01113a1ac89f"))
(pin "4" (uuid "4edaedc4-8a26-40ce-835e-7e3295851139"))
(pin "5" (uuid "da99f4b4-0274-4e4c-854f-03dcfbee8630"))
(pin "6" (uuid "acbe6818-1945-402c-a740-a2e1bd07fa71"))
(pin "7" (uuid "e1d73a64-e14d-4909-bb64-47a18d7d7cd6"))
(pin "8" (uuid "dd112165-4af3-46cc-b7ea-6c1370e62a63"))
(pin "9" (uuid "1e8a2801-f81f-4a7d-81b2-6ddc116ccda1"))
(pin "10" (uuid "40966c16-d0bc-4684-ad30-7f18dd409795"))
(pin "11" (uuid "ca344cb7-3c71-464d-9e7b-47bc6dc9abf5"))
(pin "12" (uuid "fb6ee2a1-dbf0-4f8a-aed6-76c7e44ca9c4"))
(pin "13" (uuid "6c368f9f-3135-461e-9c17-c91f281266c0"))
(pin "14" (uuid "8c630361-cf42-4288-9484-de722530695a"))
(pin "15" (uuid "cba0b965-0eec-4e35-84b1-524a0a600c79"))
(pin "16" (uuid "7c06910e-d1f5-4106-ba7c-0d11395f259d"))
(pin "17" (uuid "3866a79f-0211-44d9-853e-3f15b6153304"))
(pin "18" (uuid "435afceb-caca-4beb-a55b-7a156c7b170f"))
(pin "19" (uuid "f4679bda-da52-4de3-848c-d7654eb3e37a"))
(pin "20" (uuid "b9d50250-44a5-4e63-957a-657573767174"))
(pin "21" (uuid "41b68337-a75d-4abf-873e-3c963512ccea"))
(pin "22" (uuid "65aefef6-3afb-45e9-a4ad-2d7219eceef5"))
(pin "23" (uuid "b7e509c4-ea0e-4321-8bcb-7f5ee046b1f8"))
(pin "24" (uuid "4a4046ad-5199-451e-ab31-207d1678efb8"))
(pin "25" (uuid "a605417e-38fe-4e64-b793-4aab51452f57"))
(pin "26" (uuid "6623724e-9f8a-4f84-bebf-1d0e0bedc2b1"))
(pin "27" (uuid "8a3da494-5279-44b5-97e8-2769fc9c6a94"))
(pin "28" (uuid "4527a719-8398-4693-89ce-0d53b3733aae"))
(pin "29" (uuid "43d2fda7-6c20-402c-8a42-3eca83c0fb92"))
(pin "30" (uuid "cf034968-8477-45ee-829e-c2318bfe5308"))
)
(no_connect (at 67.30 82.22) (uuid "a0b7c53e-2d8e-49fc-af67-5bd885427cd6"))
(no_connect (at 67.30 84.76) (uuid "c7ae4d58-993b-4c88-9fda-6d7748868c2b"))
(no_connect (at 67.30 87.30) (uuid "c34253f8-c646-47e6-a488-a781a8c74d5b"))
(no_connect (at 67.30 89.84) (uuid "445dddf2-568c-4fd5-8f2f-e652659ea55d"))
(no_connect (at 67.30 92.38) (uuid "e2a12a62-9dea-4c3e-b0e0-7efbc72de9c4"))
(no_connect (at 67.30 94.92) (uuid "8de157d1-90ec-4e7b-88c2-886d0a016593"))
(no_connect (at 67.30 97.46) (uuid "214a8be6-081e-42e1-8fc1-a24c2bc8b19d"))
(no_connect (at 67.30 100.00) (uuid "018f48e2-7da7-4e89-acf0-bdbf41251d7a"))
(no_connect (at 67.30 102.54) (uuid "d9bea9d3-c6cf-4b93-9392-3abf59c39536"))
(no_connect (at 67.30 110.16) (uuid "1ffdbae3-421c-4d83-8b81-b1e13744d4a5"))
(no_connect (at 92.70 82.22) (uuid "9bd783e9-c48c-46ff-87bf-e880ee86a4ae"))
(no_connect (at 92.70 89.84) (uuid "d9232796-4a85-444f-b0b7-151b57e3b15a"))
(no_connect (at 92.70 92.38) (uuid "27337b75-f6a9-43e4-8057-6a6c6a6b1497"))
(no_connect (at 92.70 102.54) (uuid "68731fe7-e8fa-478d-830a-327e396035b7"))
(no_connect (at 92.70 105.08) (uuid "ed2e67e7-f71e-4f40-9857-730c4f2aece4"))
(no_connect (at 92.70 107.62) (uuid "5fcf155e-16be-442a-ad40-dc65275e6534"))
(no_connect (at 92.70 110.16) (uuid "5bb98d7e-7fe5-4cc4-b891-fb9ac357f1bd"))
(no_connect (at 92.70 112.70) (uuid "12611750-f45c-4747-8123-850d7c7a6ef5"))
(symbol (lib_id "power:GND") (at 67.30 105.08 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "90614cc9-9200-4291-ad36-506daf5b4eae")
(property "Reference" "#PWR01" (at 67.30 105.08 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 67.30 108.89 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 67.30 105.08 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 67.30 105.08 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "4069ed1d-9be4-43b0-9552-799bc1874e59")))
(symbol (lib_id "power:+3.3V") (at 67.30 107.62 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "047670f9-4edf-40cc-893c-43449c60af04")
(property "Reference" "#PWR02" (at 67.30 107.62 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+3.3V" (at 67.30 103.81 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 67.30 107.62 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 67.30 107.62 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "9c3b1c19-cdf2-4ca1-8127-c24c40898562")))
(no_connect (at 67.30 112.70) (uuid "39689861-7dc9-4caf-bcf7-a8bbfab1a5cf"))
(symbol (lib_id "power:GND") (at 67.30 115.24 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "bf8de27f-d112-4070-8ad7-8cdb72b4c36e")
(property "Reference" "#PWR03" (at 67.30 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 67.30 119.05 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 67.30 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 67.30 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "9cd249bd-ccdd-428e-8fe2-e8ec667da17c")))
(no_connect (at 67.30 117.78) (uuid "81441dfc-f691-4702-8919-485e1e8d3cb6"))
(symbol (lib_id "power:+3.3V") (at 92.70 94.92 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "cc4e5a3d-7359-486d-91d0-45a14a3c6308")
(property "Reference" "#PWR04" (at 92.70 94.92 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+3.3V" (at 92.70 91.11 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 92.70 94.92 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 92.70 94.92 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "04ebe58b-4d3d-4185-b343-a68d4216d4b6")))
(symbol (lib_id "power:GND") (at 92.70 97.46 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "364ad1ce-3636-402b-abb9-304f2a84daa9")
(property "Reference" "#PWR05" (at 92.70 97.46 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 92.70 101.27 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 92.70 97.46 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 92.70 97.46 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "1d267a24-372b-4567-90f6-79779f866033")))
(symbol (lib_id "power:GND") (at 92.70 115.24 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "62280304-4f55-41e7-9060-3e32ba2e033e")
(property "Reference" "#PWR06" (at 92.70 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 92.70 119.05 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 92.70 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 92.70 115.24 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "fe400b25-8d95-4c06-bd4e-eac51f57bb43")))
(no_connect (at 92.70 117.78) (uuid "6414bc55-3285-4ead-87b4-a3d28824afe3"))
(label "D1/GPIO5" (at 92.70 84.76 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "9c1ee272-d8ea-428d-bbeb-40afdd49eaf2"))
(label "D2_TRIG" (at 92.70 87.30 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "1e4d5d67-85e5-4a9a-a1d0-050720ac877c"))
(label "D5_ECHO" (at 92.70 100.00 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "334aa4e8-d111-4867-8ce1-bdc338232f7c"))
(symbol (lib_id "riego_lib:HC_SR04") (at 175.00 80.00 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "941a0f07-a824-449e-b83a-257930ef58cd")
(property "Reference" "US1" (at 180.00 73.00 0)
(effects (font (size 1.27 1.27))))
(property "Value" "HC_SR04" (at 180.00 76.00 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 175.00 80.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 175.00 80.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "61170af5-f52b-4718-add5-1a294a219c44"))
(pin "2" (uuid "b4dc9900-90b8-4300-ade8-0c1971099c62"))
(pin "3" (uuid "7a90375b-7331-44f6-bd1c-b325f09e715b"))
(pin "4" (uuid "32911b37-bf7b-415e-90e2-bf0b15e86ad1"))
)
(symbol (lib_id "power:+5V") (at 168.65 76.19 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "f1713082-cf73-4678-91d0-03009d940b92")
(property "Reference" "#PWR07" (at 168.65 76.19 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+5V" (at 168.65 72.38 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 168.65 76.19 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 168.65 76.19 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "a705dfc1-296b-4309-bb36-7c4b79f54320")))
(symbol (lib_id "power:GND") (at 168.65 83.81 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "97d4e620-7256-4c68-b2f9-b7426670f0f8")
(property "Reference" "#PWR08" (at 168.65 83.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 168.65 87.62 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 168.65 83.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 168.65 83.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "00f42a51-d65a-4362-90cd-5d080ec70aa9")))
(label "D2_TRIG" (at 168.65 78.73 180) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "5bd72fcb-de2b-44bf-b81c-2bed3fcd84b2"))
(label "ECHO_DIV" (at 168.65 81.27 180) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "a3b81f76-7c80-4667-bfa2-9e8b6a3f43b7"))
(symbol (lib_id "riego_lib:Relay_SunFounder_8CH") (at 175.00 145.00 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "e749c7eb-e4a1-4545-8b54-1e3ddf8a5d0e")
(property "Reference" "K1" (at 181.00 131.00 0)
(effects (font (size 1.27 1.27))))
(property "Value" "Relay_SunFounder_8CH" (at 181.00 134.00 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 175.00 145.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 175.00 145.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "c3eeecb1-1504-442d-9048-ce0f5c3396c9"))
(pin "2" (uuid "8c2d5c0d-cbe2-47f5-80d8-d855fe5e6906"))
(pin "3" (uuid "1dab4807-3a6e-4d44-9384-47e4cbd8e01d"))
(pin "4" (uuid "0640cc33-e8d2-407a-9ded-dc6281c8f643"))
(pin "5" (uuid "4f2f6056-10af-41f1-bbcc-7dec1fb8b811"))
(pin "6" (uuid "9faa3128-9ffc-4168-8604-5c666cab31cd"))
(pin "7" (uuid "4adad661-f566-46a3-bf02-6503242fc386"))
(pin "8" (uuid "cdc73ace-ccd3-4f69-a228-e97521b9f8dc"))
(pin "9" (uuid "0bd7a1b5-4398-4ab9-90e2-4ae2a4306148"))
(pin "10" (uuid "dd3d70dc-3d54-4ab0-a9d8-3a3ef07eba7c"))
)
(symbol (lib_id "power:+5V") (at 182.62 143.73 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "ab3bbc0d-f66a-48d9-85e4-b229642cb29d")
(property "Reference" "#PWR09" (at 182.62 143.73 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "+5V" (at 182.62 139.92 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 182.62 143.73 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 182.62 143.73 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "90979a1c-a2bb-468c-9db8-233a76c2ec80")))
(symbol (lib_id "power:GND") (at 182.62 146.27 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "2bfe8a0c-8366-4f1f-983c-342518713f82")
(property "Reference" "#PWR10" (at 182.62 146.27 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 182.62 150.08 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 182.62 146.27 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 182.62 146.27 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "6766b538-ca32-4e2a-a5c7-3bbc0b9a01c0")))
(label "D1/GPIO5" (at 167.38 136.11 180) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "d28703e8-5c80-42b7-9aef-1a42be7842b4"))
(no_connect (at 167.38 138.65) (uuid "b91d7e27-dd20-4220-b56f-c5d940e8abbc"))
(no_connect (at 167.38 141.19) (uuid "925546e9-42e1-4dcb-a131-edd6dffca827"))
(no_connect (at 167.38 143.73) (uuid "810351ab-f872-486a-8777-8623fa1e822f"))
(no_connect (at 167.38 146.27) (uuid "abdac87b-d47c-44c5-bf60-d1d476001c92"))
(no_connect (at 167.38 148.81) (uuid "7cf3a7f1-4ae8-40d0-a7ad-4ee653606ee4"))
(no_connect (at 167.38 151.35) (uuid "aab02d01-3198-4592-b2e5-27de9f6af818"))
(no_connect (at 167.38 153.89) (uuid "7cd0b474-683b-4784-8765-2a8f18a21930"))
(symbol (lib_id "Device:R") (at 125.00 83.00 90) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "dbdd8488-d3bb-49c4-ad28-5e4adec358b0")
(property "Reference" "R1A" (at 125.00 80.46 0)
(effects (font (size 1.27 1.27))))
(property "Value" "2.2k" (at 127.54 80.46 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 125.00 83.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "~" (at 125.00 83.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "d1ea9a71-841c-4a70-a810-6f7847daa79a"))
(pin "2" (uuid "6d57f0f0-e524-467d-af0a-e08a133bbff6"))
)
(symbol (lib_id "Device:R") (at 125.00 85.54 90) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "ca589272-2260-4506-95d2-73e26ab5b2ca")
(property "Reference" "R1B" (at 125.00 83.00 0)
(effects (font (size 1.27 1.27))))
(property "Value" "2.2k" (at 127.54 83.00 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 125.00 85.54 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "~" (at 125.00 85.54 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "f2ea9413-2522-4221-a762-bb80d81e3d2f"))
(pin "2" (uuid "820612c8-4ab7-4e32-b63a-71c3c1a138a9"))
)
(symbol (lib_id "Device:R") (at 128.81 90.00 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "8f432cd5-747b-4d55-9fe1-3ad102cb9e79")
(property "Reference" "R3" (at 130.84 90.00 90)
(effects (font (size 1.27 1.27))))
(property "Value" "2.2k" (at 133.38 90.00 90)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 128.81 90.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "~" (at 128.81 90.00 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "a626a6fb-e2f9-41b6-ac30-5f9cf9e7748f"))
(pin "2" (uuid "c4dff62d-8b2d-443a-82ba-3e1612f498c8"))
)
(wire (pts (xy 121.19 83.00) (xy 121.19 85.54))
(stroke (width 0) (type default)) (uuid "f1944a7f-4f80-4aa6-afc3-0d36557dc963"))
(label "ECHO_DIV" (at 121.19 83.00 180) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "ebd347a1-95e1-4876-8943-1007f955da0c"))
(wire (pts (xy 128.81 83.00) (xy 128.81 85.54))
(stroke (width 0) (type default)) (uuid "f9baf9cb-83a0-4b9b-a138-c3d18c0a5185"))
(wire (pts (xy 128.81 85.54) (xy 128.81 86.19))
(stroke (width 0) (type default)) (uuid "a1305bc4-3a0c-4668-8e74-51b77d06ff9f"))
(junction (at 128.81 85.54) (diameter 0) (color 0 0 0 0) (uuid "50c908c5-de3a-4943-ba01-5ee543b9a8e8"))
(label "D5_ECHO" (at 128.81 83.00 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)))
(uuid "f3d9eb23-6538-4a2b-9380-cc8de35e65c5"))
(symbol (lib_id "power:GND") (at 128.81 93.81 0) (unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "1b67032e-6382-405e-985d-4e29b2d1b47d")
(property "Reference" "#PWR11" (at 128.81 93.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 128.81 97.62 0)
(effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 128.81 93.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 128.81 93.81 0)
(effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "308bab1e-eb13-46fe-ac0e-f47eefb95f65")))
(sheet_instances
(path "/" (page "1")))
)