

A NET
ArchiNet para conectividad WiFi/BLE/Ethernet mediante Archi
- Size
- 100 × 60 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 106
- Nets
- 113
- Pads
- 399
- Tracks, vias
- 841, 51
- Pours
- 129
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 21 Oct 2024
- Updated
- 25 Sep 2025
Overview
A NET is an open-source printed circuit board by NewsanLab, from the NewsanLab/ARCHINET repository on GitHub. It is a 2-layer board of 100 × 60 mm with 106 parts on 113 nets, routed with 841 tracks and 51 vias.
It is built around the 74AHC1G125GW, ESP32-S3-WROOM-1-N8 and DSS14U, with the RJ45 and W5500 among its other parts. Its parts include 30 resistors, 28 capacitors, 11 diodes, 7 connectors and 6 ICs. It belongs with the radio and wireless boards and the ESP32 boards of this library.
Main components
574AHC1G125GW
SOT-353-40℃~+125℃ 1 1 2V~5.5V 4.8ns@5.5V,50pF 40uA 74AHC 8mA 8mA Tri-State Unidirectional SOT-353 Buffers, Drivers, Receivers, Transceivers ROHSNexperiaBuffers, Drivers, Receivers, TransceiversESP32-S3-WROOM-1-N8
SMD,25.5x18mm-40℃~+85℃ -98.2dBm 2.4GHz 20.5dBm 355mA 3V~3.6V 95mA Bluetooth5.0 ESP32-S3 Chip On-board PCB Antenna UART、SPI、I2C、I2S、USB SMD,25.5x18mm WiFi Modules ROHSEspressif SystemsWiFi ModulesDSS14U
SOD-123FL-55℃~+150℃ 1 Independent 100uA@40V 1A 40A 40V 500mV@1A SOD-123FL Schottky Diodes ROHSSMCSchottky DiodesRJ45
TH-12PTH-12P SMT ROHSJLCPCB AssemblyUncategorisedW5500
LQFP-48_7x7-40℃~+85℃ 10BASE-T、100BASE-TX 3.3V 32KB SPI SPI Wake-up function、Programmable LED indication、Low-power mode Yes LQFP-48(7x7) Ethernet Controllers ROHSWIZNETEthernet Controllers
README
README.mdARCHINET
Archi Net es una placa de desarrollo diseñada para facilitar la conectividad mediante WiFi, Ethernet y Bluetooth Low Energy (BLE). Cuenta con 4 entradas analógicas y 8 entradas/salidas digitales.
El diseño está pensado para que todas las funciones puedan ser programadas y controladas directamente desde el microcontrolador ARCHI (basado en RP2040), sin necesidad de programar el ESP32 por separado. Este actúa como un coprocesador de comunicaciones, operando mediante comandos enviados en formato Json.

Especificaciones
- Voltaje de Entrada del Shield: 5V a 12V.
- Conectividad Wi-Fi: Estándar 802.11 b/g/n (2.4 GHz) con soporte para modos de estación, Punto de Acceso (AP) y Wi-Fi Direct (ESP32-S3).
- Conectividad Bluetooth: Bluetooth LE 5.0 (Bluetooth Low Energy).
- Conectividad Ethernet: Compatible con 10Base-T/100Base-TX Ethernet (WIZnet W5500).
- Voltaje de Operación Interno: Los módulos internos (ESP32-S3 y W5500) operan típicamente a 3.3V, provistos por reguladores a bordo del shield.
- Pines de Entrada/Salida (I/O):
- 4 Entradas/Salidas Analógicas.
- 8 Entradas/Salidas Digitales.
- Programación/Depuración: Incluye un puerto USB JTAG integrado para la programación y depuración directa del ESP32-S3.
Diagrama en Bloques
El shield ArchiNET se divide en 4 bloques funcionales principales:
- Fuente de Alimentación: Este bloque garantiza la alimentación estable a los bloques de conectividad.
- Archi: Es el microcontrolador principal que controla la comunicación y funcionalidad de los bloques de conectividad (ESP32 y Ethernet WIZNET W5500).
- ESP32-S3: Funciona como un coprocesador dedicado a la conectividad inalámbrica, comunicándose con Archi mediante interfaces como UART o SPI.
- Ethernet (WIZNET W5500): Proporciona la conexión de red cableada a través de un puerto RJ45, permitiendo una comunicación Ethernet.
Fuente de alimentación
El siguiente diagrama en bloque muestra la distribución de voltaje.
El shield ArchiNet tiene una entrada para una fuente externa de +5V con una capacidad de hasta 2A.
Este voltaje de +5V se utiliza para la alimentación principal de la placa. La placa ArchiNet, a su vez, regula este voltaje para obtener una salida de +3.3V.
Esta salida de +3.3V es la que se utiliza para alimentar los módulos de bajo voltaje, como el Wiznet 5500 , el ESP32S3 y sensores
💻 Software
Conexión a Ethernet
Para realizar una conexión por medio de Ethernet se deben tener cargadas las siguientes librerías en la carpeta CIRCUITPY/lib:
Adafruit_Bus_DeviceAdafruit_Wiznet5KAdafruit_Connection_ManagerAdafruit_RequestsAdafruit_Ticks
⚙️ Configuración de pines
- SPI:
SCK→GP10MOSI→GP11MISO→GP12Chip Select (CS)→GP9
Prueba de conexión inicial con ETHERNET
Este script permite comprobar que el dispositivo se conecta correctamente a la red mediante Ethernet.
¿Qué hace el script?
- Configura el bus SPI y el pin CS.
- Inicializa el módulo Ethernet
WIZNET5K. - Crea una sesión HTTP con
adafruit_requests. - Muestra:
- Versión del chip
- Dirección MAC
- Dirección IP asignada
Ejemplo: Consulta de IP por Ethernet
Fragmento del código
import board
import busio
import digitalio
import adafruit_connection_manager
import adafruit_requests
from adafruit_wiznet5k.adafruit_wiznet5k import WIZNET5K
spi = busio.SPI(board.GP10, MOSI=board.GP11, MISO=board.GP12)
cs = digitalio.DigitalInOut(board.GP9)
eth = WIZNET5K(spi, cs)
pool = adafruit_connection_manager.get_radio_socketpool(eth)
ssl_context = adafruit_connection_manager.get_radio_ssl_context(eth)
requests = adafruit_requests.Session(pool, ssl_context)
print("Chip Version:", eth.chip)
print("MAC Address:", [hex(i) for i in eth.mac_address])
print("My IP address is:", eth.pretty_ip(eth.ip_address))ESP32 como Coprocesador (modo UART)
El ESP32 se utiliza como coprocesador encargado de gestionar la conexión WiFi. La comunicación entre el microcontrolador principal (ej. RP2040, Archi u otros) y el ESP32 se realiza mediante UART o SPI, mediante el envío de comandos en formato JSON.
Modos de operación
- UART: Se comunica a través de pines TX/RX, usando comandos y respuestas JSON.
- SPI: Alternativamente, se puede implementar una versión basada en SPI (no cubierta en este ejemplo, pero compatible).
Conexión WiFi / BLE vía UART
Este ejemplo muestra cómo controlar el ESP32 como coprocesador para conectarse a una red WiFi/BLE mediante UART.
Conceptos clave
- Comunicación UART entre el microcontrolador principal y el ESP32.
- El pin
readyindica cuándo el ESP32 está disponible para recibir comandos. - Uso de JSON para enviar comandos como
CONNECT,SCAN,STATUS, etc. - Reset físico al ESP32 para asegurar un arranque limpio.
⚙️ Configuración de pines
-
UART y pines de control:
UART TX→GP12UART RX→GP13Pin ready→GP14Pin reset→GP15
¿Qué hace el script?
- Reinicia el ESP32 con un pulso en el pin
reset. - Espera la señal
readydel ESP32. - Envía el comando
CONNECTcon SSID y contraseña. - Recibe las respuestas en formato JSON.
- Finaliza cuando se recibe
{"end": true}desde el ESP32.
Ejemplo: Primera conexión a la red
Fragmento del código
esp = ESP32UART(tx_pin=board.GP12, rx_pin=board.GP13, ready_pin=board.GP14)
if esp.esperar_ready(timeout=10):
esp.solicitar_comando({"cmd": "CONNECT", "ssid": "tu_ssid", "pass": "tu_password"})
esp.leer_respuesta(timeout=20)
else:
print("ESP32 no está listo.")Ejemplo: Primera conexión mediante BLE
Para iniciar comunicación BLE se realiza mediante la misma manera por comandos:
#Inicia BLE->Con el siguiente comando por defecto tiene el nombre de ARCHINET_BLEXX
print("\n--- TEST: CONNECT BLE---")
esp.solicitar_comando({"cmd": "BLEINIT"})
esp.leer_respuesta(timeout=20) #respuesta el nombre del dispositivo
while True:
esp.solicitar_comando({"cmd": "BLETX","data": "{pcb:archinet, version:v2}"})#tx
esp.solicitar_comando({"cmd": "BLERX"})
esp.leer_respuesta(timeout=15) #respuesta del ble rx
time.sleep(2) Una vez que tienes la conexión hecha, puedes realizar una app escritorio/celular para obtener datos.
Ejemplo de APP recepción y transmisión
📋 Lista de comandos
| Comando | Parámetros | Descripción | 📄 Código de ejemplo |
|---|---|---|---|
SCAN | (ninguno) | Escanea y lista redes WiFi disponibles. | 🔗 Ver ejemplo |
CONNECT | ssid, pass | Conecta a una red WiFi específica. | 🔗 Ver ejemplo |
DISCONNECT | target ("WiFi" o "AP") | Desconecta de la red o cierra el punto de acceso. | 🔗 Ver ejemplo |
AP | ssid, pass | Crea un punto de acceso (Access Point). | 🔗 Ver ejemplo |
PING | (ninguno) | Verifica si el ESP32 está activo y responde con su IP. | 🔗 Ver ejemplo |
INFO | (ninguno) | Devuelve información del sistema: IP, RSSI y memoria disponible. | 🔗 Ver ejemplo |
GET | url | Realiza una petición HTTP GET a la URL indicada. | 🔗 Ver ejemplo |
POST | url, data | Envía datos mediante HTTP POST (JSON) a la URL especificada. | 🔗 Ver ejemplo |
WebServer | label, data | Crea o actualiza un endpoint en el servidor embebido del ESP32. | 🔗 Ver ejemplo |
HTML | html | Inyecta HTML personalizado en el servidor web embebido. | 🔗 Ver ejemplo |
UART_OFF | UART_OFF | Apaga el UART para utilizar el Ethernet, para volver utilzar reiniciar esp32. | 🔗 Ver ejemplo |
BLEINIT | (ninguno o name) | Inicia BLE por defecto crea el nombre del dispositivo | 🔗 Ver ejemplo |
BLETX | data | Realiza la transmisión de datos de BLE , se debe mandar los datos en el parametro data en formato json | 🔗 Ver ejemplo |
BLERX | (ninguno) | Realiza la recepción de datos de BLE | 🔗 Ver ejemplo |
BLEOFF | (ninguno o name) | Desactiva el BLE | 🔗 Ver ejemplo |
Parts
106| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | Conn_01x03 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | A0, A1, A2, A3, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6, GPIO16, GPIO17, GPIO18 |
| 10 | 10uF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C7, C9, C10, C11, C12, C14, C18, C23 |
| 7 | 0.1uF | Capacitor_SMD:C_0603_1608Metric | C8, C16, C17, C19, C20, C21, C22 |
| 7 | 10K | Resistor_SMD:R_0603_1608Metric | R4, R16, R17, R20, R21, R22, R23 |
| 6 | 1K | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R7, R10, R11, R12, R13, R14 |
| 4 | 49.9 | Resistor_SMD:R_0603_1608Metric | R25, R26, R27, R28 |
| 4 | MountingHole_3.2mm | Arduino_MountingHole:MountingHole_3.2mm | MH1, MH2, MH3, MH4 |
| 3 | D_TVS_Filled | Diode_SMD:D_0402_1005Metric | D5, D6, D7 |
| 3 | LED_POW | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D9, D10, D11 |
| 3 | SOLDERJUMPERREFLOW_NOPASTE | anetLib:Jumper | SJ1, SJ2, SJ3 |
| 3 | SWITCH | Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A | U3, U4, U5 |
| 2 | 100nF | Capacitor_SMD:C_0603_1608Metric | C3, C6 |
| 2 | 10nF | Capacitor_SMD:C_0603_1608Metric | C24, C26 |
| 2 | 22pF | Capacitor_SMD:C_0603_1608Metric | C13, C15 |
| 2 | 470 | Resistor_SMD:R_0603_1608Metric | R18, R19 |
| 2 | 5k1 | Resistor_SMD:R_0402_1005Metric | R8, R9 |
| 2 | 6.8nF | Capacitor_SMD:C_0603_1608Metric | C25, C27 |
| 2 | DSS14U | Diode_SMD:D_SOD-123F | D1, D3 |
| 1 | 10 | Resistor_SMD:R_0603_1608Metric | R29 |
| 1 | 100K | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 10K | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R30 |
| 1 | 12.4K | Resistor_SMD:R_0603_1608Metric | R24 |
| 1 | 135K | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | 1K | Resistor_SMD:R_0603_1608Metric | R6 |
| 1 | 1M | Resistor_SMD:R_0603_1608Metric | R15 |
| 1 | 1N5819 | Diode_SMD:Nexperia_CFP3_SOD-123W | D8 |
| 1 | 1nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C28 |
| 1 | 2.2uH | anetLib:IND_PA4332.222NLT | L1 |
| 1 | 22uF | Capacitor_SMD:C_0603_1608Metric | C5 |
| 1 | 25MHz | Crystal:Crystal_SMD_TXC_7M-4Pin_3.2x2.5mm | Y1 |
| 1 | 30K | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 47K | Resistor_SMD:R_0603_1608Metric | R2 |
| 1 | 56pF | Capacitor_SMD:C_0603_1608Metric | C4 |
| 1 | 74AHC1G125 | Package_TO_SOT_SMD:SOT-353_SC-70-5 | IC1 |
| 1 | Analog | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J5 |
| 1 | BAT | TerminalBlock_RND:TerminalBlock_RND_205-00287_1x02_P5.08mm_Horizontal | J1 |
| 1 | Digital/PWM | Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_Vertical | J6 |
| 1 | Digital/PWM | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J7 |
| 1 | ESP32-S3-WROOM-1 | RF_Module:ESP32-S3-WROOM-1 | U2 |
| 1 | LED_POW | LED_SMD:LED_0603_1608Metric | D4 |
| 1 | Power | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J4 |
| 1 | RJ45 | anetLib:CONN12_ARJM11B1-009-AB-EW2_ABR | J3 |
| 1 | SD12C-7 | Diode_SMD:D_SOD-323_HandSoldering | D2 |
| 1 | TPS563252DRLR | anetLib:SOT6_DRL_TEX-L | U1 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J2 |
| 1 | W5500 | anetLib:W5500 | U$1 |
| 1 | ferrite | Resistor_SMD:R_0603_1608Metric | FB2 |
| 1 | ferrite | Inductor_SMD:L_0603_1608Metric | FB1 |
Questions
How big is the A NET PCB?
It measures 100 × 60 mm and has 2 copper layers, 1.6 mm thick.
What parts does the A NET use?
106 parts, built around the 74AHC1G125GW, ESP32-S3-WROOM-1-N8, DSS14U and RJ45. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the A NET KiCad files?
From the NewsanLab/ARCHINET repository on GitHub, at the commit this page was made from: the board is Hardware/A-NET.kicad_pcb and its schematic Hardware/A-NET.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the A NET design in my own project?
Its repository states no licence, so its author keeps all rights: ask NewsanLab before reusing the design.
Similar boards
- 4 layers84.8 × 67 mm

- 4 layers40 × 40 mm

- 2 layers222 × 142 mm

- 4 layers74.8 × 74.8 mm

A1-FlightComputer
UVicRocketry/CoreSTM
This is the Core STM32 PCB with several of the commonly used sensors on it.
88 partsMIT - 6 layers116 × 126 mm

- 2 layers

- 2 layers53.6 × 44.8 mm

- 2 layers100.1 × 56 mm

M302N
mhorimoto/M302N
New hardware that improves on the M302K to make it smaller, more dedicated and no-code.
33 parts