Skip to the content
PCBKitNew board
2 layers88 × 78 mmLan outlet, the printed circuit board in 3D

Ethernet control console

Size
88 × 78 mm
Copper layers
2
Thickness
1.6 mm
Parts
58
Nets
84
Pads
205
Tracks, vias
421, 30
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
10 Nov 2025
Updated
19 Oct 2026

Overview

Lan outlet is an open-source printed circuit board by ra0sms, from the ra0sms/ethernet-control-console repository on GitHub, published under the MIT licence. It is a 2-layer board of 88 × 78 mm with 58 parts on 84 nets, routed with 421 tracks and 30 vias.

It is built around the LM2575-3.3WU, UDN2981A-T and ULN2803A, with the SR240 among its other parts. Its parts include 16 fuses, 11 diodes, 10 resistors, 6 capacitors and 3 ICs. It belongs with the interfaces and adapters and radio and wireless boards and the STM32 boards of this library.

Main components

4

README

README.md

Ethernet control console

A device for controlling 8 outputs over Ethernet using a built-in web interface. The main outputs switch voltage, and each one is duplicated by an open-collector output.

It is built on an STM32F401 (Black Pill) and a W5500 Ethernet controller. You can configure it over USB with a console or the GUI application.

pcb

Specifications

ParameterValue
Input voltage5–45 V DC
Output current500 mA total for all 8 outputs (and 500 mA total for open-collector outputs)
InterfaceEthernet 10/100 (W5500), USB (virtual COM port)
MCUSTM32F401CCU6 / STM32F401CEU6 (Black Pill)
PCB size78 × 88 mm

Operating modes

You select the mode in the web interface. It is saved together with the other settings.

ModeBehavior
ToggleEach output toggles independently
SwitchOnly one output is on at a time; turning one on turns the others off
DualOutputs 1–4 and 5–8 form two groups, each with its own Toggle/Switch mode

Firmware

Prebuilt firmware is in firmware/:

  • w5500_outlet.hex – contains its own addresses
  • w5500_outlet.bin – write to address 0x08000000

Flashing with ST-Link

STM32CubeProgrammer:

sh
STM32_Programmer_CLI -c port=SWD -w firmware/w5500_outlet.hex -v -rst

st-flash:

sh
st-flash --reset write firmware/w5500_outlet.bin 0x08000000

Flashing over USB (DFU)

  1. Hold BOOT0, press and release NRST, then release BOOT0.
  2. Flash with STM32CubeProgrammer (-c port=USB1) or dfu-util:
sh
dfu-util -a 0 -s 0x08000000:leave -D firmware/w5500_outlet.bin

Settings are stored in flash sector 5 (0x08020000–0x0803FFFF), separately from the firmware. A normal firmware update keeps the settings. A full chip erase resets them to defaults.

Default settings

ParameterValue
IP192.168.0.250
Subnet mask255.255.255.0
Gateway192.168.0.1
DNS8.8.8.8
MAC00:08:DC:AB:CD:EF
Web login / passwordadmin / password

If you use more than one device on the same network, give each one its own IP and MAC address.

Web interface

Open http://<device IP>/ in a browser and log in (HTTP Basic Auth).

web

USB configuration

When you connect the board over USB, it appears as a virtual COM port (STM32 Virtual ComPort). Any port speed works.

You can configure it without the W5500 or the rest of the circuit: a bare Black Pill on USB is enough. The firmware detects the W5500 automatically and starts the web server when the module is connected.

Configuration software

gui/ contains a GUI application: gui.py (Python 3, pyserial, PyQt5) and a Windows build in gui-lan.zip.

gui

Console commands

CommandDescription
helpList commands
networkShow network settings
set ip <x.x.x.x>Set IP address
set subnet <x.x.x.x>Set subnet mask (alias: sn)
set gateway <x.x.x.x>Set gateway (alias: gw)
set dns <x.x.x.x>Set DNS server
set mac <xx:xx:xx:xx:xx:xx>Set MAC address
set user <name>Set web login (1–31 characters)
set pass <password>Set web password (up to 31 characters)
get <ip|mac|subnet|gateway|dns|user|pass>Show a parameter
buttonsShow output names
setbutton <0-7> <name>Rename an output (up to 15 characters)
saveSave settings to flash
loadLoad settings from flash
defaultReset to factory defaults and save
resetReboot the device

Changes take effect immediately, but they are saved only after save.

Example:

text
set ip 192.168.1.50
set gateway 192.168.1.1
setbutton 0 Antenna1
save
reset

Hardware

Schematic

schema

Pinout

FunctionSTM32 pins
Outputs 1–8PB0–PB7
W5500 SPI (SCK / MISO / MOSI)PA5 / PA6 / PA7
W5500 CSPA4
W5500 RSTPA3
Status LEDPC13

pinout

Boxed version

boxed

Building from source

The project is in code/ and is built with STM32CubeIDE (open code/ as an existing project). PCB files are in KiCad/.

To build from the command line, use the toolchain bundled with STM32CubeIDE (the generic arm-none-eabi-gcc does not support the -fcyclomatic-complexity flag):

sh
export PATH=/opt/st/stm32cubeide_<version>/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.<version>/tools/bin:$PATH
cd code/Debug && make -j8 all

License

See LICENSE.

Parts

58
QtyValueFootprintReferences
16FuseResistor_SMD:R_1206_3216MetricF1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16
91kResistor_SMD:R_1206_3216MetricR2, R3, R4, R5, R6, R7, R8, R9, R10
8A1Diode_SMD:D_1206_3216MetricD4, D5, D6, D7, D8, D9, D10, D11
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_PadH1, H2, H3, H4
2100nCapacitor_SMD:C_1206_3216MetricC1, C3
2Conn_01x06_PinConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalW5500_left1, W5500_right1
2Conn_01x20_PinConnector_PinHeader_2.54mm:PinHeader_1x20_P2.54mm_VerticalBlack_pill_left1, Black_pill_right1
2SR240Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1, D2
11000uFCapacitor_THT:CP_Radial_D8.0mm_P3.80mmC6
110kResistor_SMD:R_1206_3216MetricR1
110nCapacitor_SMD:C_1206_3216MetricC4
110uCapacitor_SMD:C_1206_3216MetricC5
1470uFCapacitor_THT:CP_Radial_D10.0mm_P5.00mmC2
1470uHInductor_THT:L_Radial_D10.0mm_P5.00mm_Neosid_SD12_style3L1
1INPUT_VDCTerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type055_RT01502HDWU_1x02_P5.00mm_HorizontalJ1
1LM2575-3.3Package_TO_SOT_THT:TO-220-5_VerticalU1
1OUPUTSTerminalBlock:TerminalBlock_MaiXu_MX126-5.0-09P_1x09_P5.00mmJ2
1OUPUTS_OCTerminalBlock:TerminalBlock_MaiXu_MX126-5.0-09P_1x09_P5.00mmJ3
1PWRDiode_SMD:D_1206_3216MetricD3
1UDN2981Package_DIP:DIP-18_W7.62mm_LongPadsU2
1ULN2803APackage_DIP:DIP-18_W7.62mm_LongPadsU3

Questions

How big is the Lan outlet PCB?

It measures 88 × 78 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Lan outlet use?

58 parts, built around the LM2575-3.3WU, UDN2981A-T, ULN2803A and SR240. 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 Lan outlet KiCad files?

From the ra0sms/ethernet-control-console repository on GitHub, at the commit this page was made from: the board is KiCad/lan_outlet/lan_outlet.kicad_pcb and its schematic KiCad/lan_outlet/lan_outlet.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Lan outlet design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers50.1 × 16.8 mmPS-5V1.4A-7W EE13-Demo board, the printed circuit board in 3D

    PS-5V1.4A-7W EE13-Demo board

    TDLOGY/HW_AC-DC-Flyback-5W-5V1A-Reference-Design

    AC DC Flyback 5W 5V1A Reference Design

    24 parts4
  • 2 layers87.6 × 83.8 mmENEL200Group01, the printed circuit board in 3D

    ENEL200Group01

    cva68/ESPBreadboardRobot

    Peripheral and breakout board for the ESP-32, with firmware designed for use with Microsoft MakeCode

    88 parts2MIT
  • 2 layers68.6 × 53.3 mmENEL200ShieldGroup01, the printed circuit board in 3D

    ENEL200ShieldGroup01

    TheBroKendrick/Arduino-Turtle-Robot-

    A project made in my First Professional Year of Electrical Engineering. This was made in collaboration with two other people and focussed on the basics of PCB design, 3D modelling, and basic embedded software…

    41 parts
  • 2 layers100 × 100 mmFlipdot Controller, the printed circuit board in 3D

    Flipdot Controller

    Qeteshpony/Flipdot-Controller

    Replacement controller for a Lawo Luminator Flipdot Display

    58 parts2BSD-2-Clause
  • 2 layers224 × 78 mmVFD Clock, the printed circuit board in 3D

    VFD Clock

    AronASzucs/IV-11-VFD-Clock

    6-digit Soviet IV-11 VFD tube clock — custom PCB, mixed 25V/1.5V power system, 7-state FSM firmware

    41 parts43
  • 2 layers225 × 80 mmVFD, the printed circuit board in 3D

    VFD

    davidmpye/VFD

    This repository contains a design for an IV-11 based Vacuum Fluorescent Display (VFD) display unit.

    72 parts9