Skip to content

Can an Open Network Protocol Fix Live Audio Control? Proteus, Virgil and W5500

Modular RP2350 live-sound controller with W5500 Ethernet, motorized faders and display modules, built to prototype the Virgil audio-control protocol.

irina

Published October 12, 2026

Original author: da-penguin-guyOriginal source (new tab)

Can an Open Network Protocol Fix Live Audio Control? Proteus, Virgil and W5500

Components

Hardware components

WIZnet parts

Project description

๐Ÿ“Œ ์˜ค๋””์˜ค ์ „์†ก ๋‹ค์Œ์˜ ๋ฌธ์ œ, โ€œ์žฅ๋น„ ์ œ์–ดโ€

Proteus๋Š” live-sound ํ™˜๊ฒฝ์„ ์œ„ํ•œ ๋ชจ๋“ˆํ˜• ์ปจํŠธ๋กค๋Ÿฌ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์˜ ๋ชฉ์ ์€ ๋‹จ์ˆœํ•œ MIDI controller๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณ„๋„๋กœ ์„ค๊ณ„ํ•˜๊ณ  ์žˆ๋Š” Virgil protocol์„ ์‹ค์ œ hardware์—์„œ ๊ฐœ๋ฐœํ•˜๊ณ  ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•œ prototype์„ ๋งŒ๋“œ๋Š” ๋ฐ ์žˆ์Šต๋‹ˆ๋‹ค. README๋Š” Behringer X-Touch ๊ฐ™์€ MIDI controller์— ๋น„์œ ํ•˜๋ฉด์„œ, ์™„์ „ํ•œ ์˜คํ”ˆ์†Œ์Šคยท๋ชจ๋“ˆํ˜•์ด๊ณ  MIDI๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด ๋‹ค๋ฅด๋‹ค๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Virgil์€ Dante ๊ธฐ๋ฐ˜ audio system์—์„œ gain, phantom power, channel state ๊ฐ™์€ audio device control information์„ ์„œ๋กœ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ companion protocol์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. Dante๋Š” ์˜ค๋””์˜ค ์ „์†ก๋งŒ ๋‹ค๋ฃจ๊ณ  ์ œ์–ด packet์„ ๋‹ด์ง€ ๋ชปํ•ด์„œ, ์˜ค๋””์˜ค ํšŒ์‚ฌ๋งˆ๋‹ค ๋…์ž ์ œ์–ด protocol์„ ๋งŒ๋“ค์–ด ์™”๋‹ค๋Š” ๊ฒƒ์ด ์ €์ž๊ฐ€ ์งš๋Š” ๊ณต๋ฐฑ์ž…๋‹ˆ๋‹ค.

๋ณ„๋„์˜ Virgil repository์—์„œ๋Š” ํ˜„์žฌ protocol์„ TCP ์œ„์˜ JSON message๋กœ ์ •์˜ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, controller discovery์—๋Š” mDNS๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ „์ฒด ๊ฐœ๋…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Audio Transport โ†’ Dante
Device Control โ†’ Virgil
Hardware Prototype โ†’ Proteus

๐Ÿ“Œ ์˜ค๋””์˜ค ์ „์†ก ๋‹ค์Œ์˜ ๋ฌธ์ œ, โ€œ์žฅ๋น„ ์ œ์–ดโ€

๐Ÿงฉ 16๊ฐœ์˜ Module Slot์„ ๊ฐ€์ง„ Controller

Proteus๋Š” ๊ณ ์ •๋œ ํ•˜๋‚˜์˜ control surface๊ฐ€ ์•„๋‹ˆ๋ผ module์„ ๋ฐ”๊ฟ” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. Controller์—๋Š” ์ด 16๊ฐœ์˜ module slot์ด ์žˆ๊ณ , ์ „๊ธฐ์ ์œผ๋กœ ์Šฌ๋กฏ์€ ๋™์ผํ•˜๋ฉฐ ๊ธธ์ด๋งŒ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์œ„์น˜Slotํ˜„์žฌ Module
Upper8Speculum display/control module
Lower8Cursor motorized fader module

Speculum

1.14-inch TFT display์™€ NeoPixel push button, NeoPixel continuous encoder๋ฅผ ํฌํ•จํ•˜๋Š” ์‚ฌ์šฉ์ž interface module์ž…๋‹ˆ๋‹ค.

Cursor

B103 motorized fader๋ฅผ ์‚ฌ์šฉํ•˜๋Š” motor fader module์ž…๋‹ˆ๋‹ค.

๊ฐ module์€ RP2040 ๋˜๋Š” RP2350 ๊ณ„์—ด MCU๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ Motherboard์™€๋Š” SPI๋กœ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค. README์—๋Š” ๋ฒ„ํŠผ module์ธ Ordo๋„ ์ด๋ฆ„์ด ์˜ฌ๋ผ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ํ•˜๋‚˜์˜ ์ค‘์•™ MCU๊ฐ€ ๋ชจ๋“  fader์™€ display GPIO๋ฅผ ์ง์ ‘ ์ œ์–ดํ•˜๋Š” ๊ตฌ์กฐ๊ฐ€ ์•„๋‹ˆ๋ผ:

Motherboard โ†’ SPI Backplane โ†’ Intelligent Modules

ํ˜•ํƒœ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

๐Ÿง  Motherboard: RP2350 + W5500 + Wireless

Proteus์˜ ์ค‘์‹ฌ์€ RP2350 ๊ธฐ๋ฐ˜ Motherboard์ž…๋‹ˆ๋‹ค.

FunctionHardware
Main MCURP2350 (ํ”Œ๋ž˜์‹œ 16 MB)
Wired NetworkWIZnet W5500
WirelessRaspberry Pi Radio Module 2
External Network PortEtherCON
StoragemicroSD via SDIO
Module InterfaceSPI
ProgrammingUSB-C / SWD

์—ฌ๊ธฐ์„œ WIZnet ๊ด€์ ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด W5500์ž…๋‹ˆ๋‹ค. ํšŒ๋กœ๋„ Networking.kicad_sch์—๋Š” W5500(LQFP-48), 25 MHz ํฌ๋ฆฌ์Šคํ„ธ, Neutrik NE8FAH EtherCON ์žญ, PT61018PEL ๋งˆ๊ทธ๋„คํ‹ฑ์Šค, LINKยทDUPยทACT LED๊ฐ€ ์žˆ๊ณ , PCB์—๋Š” W5500_~{CS}, W5500_~{INT}, W5500_~{RESET} net์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Proteus.h์˜ board definition์—์„œ๋Š” W5500์šฉ pin์ด ๋ช…ํ™•ํ•˜๊ฒŒ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

// Networking SPI
#define PICO_DEFAULT_SPI             spi0
#define PICO_DEFAULT_SPI_RX_PIN      0   // NET_MISO
#define PICO_DEFAULT_SPI_TX_PIN      3   // NET_MOSI
#define PICO_DEFAULT_SPI_SCK_PIN     2   // NET_CLK
 #define W5500_CS_PIN                 45
#define W5500_INT_PIN                46
#define W5500_RST_PIN                47

Network SPI(spi0)์™€ W5500 CS, INT, RESET line์€ firmware์˜ GPIO setup ๊ณผ์ •์—์„œ ์ดˆ๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค. module ์ชฝ์€ ๋ณ„๋„์˜ spi1์„ ์“ฐ๋ฏ€๋กœ ์ด๋”๋„ท traffic์ด faderยทdisplay์™€ bus๋ฅผ ๊ณต์œ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌด์„  module๋„ ์ž์ฒด CS(GPIO 42), ์ธํ„ฐ๋ŸฝํŠธ(43), ์ธ์—์ด๋ธ”(44)์„ ๊ฐ€์ ธ ๋‘ network path๋Š” ์„œ๋กœ ๋…๋ฆฝ์ ์ž…๋‹ˆ๋‹ค.

์ฆ‰ W5500์€ ๋‹จ์ˆœํžˆ future option์œผ๋กœ schematic์—๋งŒ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ Motherboard hardware architecture์™€ firmware pin definition์— ์ด๋ฏธ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒ W5500์€ Virgil์˜ Wired Network Path๋ฅผ ์œ„ํ•œ Hardware

Virgil protocol์€ TCP connection์„ ์ด์šฉํ•˜๋„๋ก ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Message๋Š” UTF-8 JSON ํ˜•ํƒœ์ด๋ฉฐ, ๊ฐ message ์•ž์—๋Š” payload length๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 4-byte unsigned big-endian value๋ฅผ ๋‘ก๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Virgil์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ message type์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

Message์—ญํ• 
parameterCommandParameter ๋ณ€๊ฒฝ
statusUpdateParameter ์ƒํƒœ ๋ณ€๊ฒฝ ์ „๋‹ฌ
statusRequestํ˜„์žฌ ์ƒํƒœ ์š”์ฒญ
channelLinkAudio channel ์—ฐ๊ฒฐ
channelUnlinkChannel ์—ฐ๊ฒฐ ํ•ด์ œ
deviceInfoRequestDevice information ์š”์ฒญ
subscribeMessageParameter update subscription

์ด ๊ตฌ์กฐ๊ฐ€ Proteus์—์„œ ๊ตฌํ˜„๋  ๊ฒฝ์šฐ wired network path๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Proteus UI Modules โ†’ RP2350 Motherboard โ†’ Virgil Application โ†’ TCP โ†’ W5500 Ethernet โ†’ EtherCON / Network

๐ŸŒ W5500์€ Virgil์˜ Wired Network Path๋ฅผ ์œ„ํ•œ Hardware

W5500์˜ Hardwired TCP/IP socket architecture๋Š” ์ด๋Ÿฐ embedded TCP control endpoint๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ์— ์ž์—ฐ์Šค๋Ÿฌ์šด hardware ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ €์ž๊ฐ€ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋ฏ€๋กœ ์•„๋ž˜๋Š” ์šฐ๋ฆฌ์˜ ํ•ด์„์ž…๋‹ˆ๋‹ค.

  • RP2350์—๋Š” ์ด๋”๋„ท MAC์ด ์—†์–ด ์œ ์„  ๋„คํŠธ์›Œํฌ์—๋Š” ์™ธ๋ถ€ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ•„์š”ํ•˜๊ณ , W5500์€ SPI๋กœ MAC/PHY์™€ TCP/IP ์Šคํƒ์„ ํ•จ๊ป˜ ๋งก์•„ ์ค๋‹ˆ๋‹ค.
  • ์ปจํŠธ๋กค ์„œํ”ผ์Šค๋Š” ์—ฌ๋Ÿฌ ์žฅ์น˜์™€ ์˜ค๋ž˜ ์œ ์ง€๋˜๋Š” TCP ์—ฐ๊ฒฐ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. ํ–ฅํ›„ W5500์˜ hardware socket์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด TCP/IP ์ฒ˜๋ฆฌ๋ฅผ W5500์— ๋งก๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ํ˜„์žฌ repository์—์„œ๋Š” ํ•ด๋‹น software architecture๊ฐ€ ์•„์ง ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค
  • W5500 INT๊ฐ€ GPIO46์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด firmware์—์„œ ์ง€์†์ ์ธ polling ๋Œ€์‹  interrupt ๊ธฐ๋ฐ˜์œผ๋กœ network event๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋งŒ ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ณต๊ฐœ๋œ Proteus firmware์—์„œ๋Š” Virgil-over-W5500 TCP implementation๊นŒ์ง€๋Š” ํ™•์ธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ code์—์„œ๋Š” network SPI ๋ฐ W5500 control pin ์„ค์ •์ด ํ™•์ธ๋˜์ง€๋งŒ TCP socket ๋˜๋Š” Virgil message processing ๋‹จ๊ณ„๋Š” ์•„์ง ๊ตฌํ˜„ ์ค‘์ธ ๊ฒƒ์œผ๋กœ ๋ณด๋Š” ๊ฒƒ์ด ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค. ๋˜ ์ €์žฅ์†Œ๋Š” ํ•˜๋“œ์›จ์–ด socket์„ ์“ธ์ง€, MACRAW + lwIP๋กœ ๊ฐˆ์ง€๋„ ์ •ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. (์•„๋ž˜ ๊ด€๋ จ ํ”„๋กœ์ ํŠธ์—์„œ ๋‘ ๋ฐฉ์‹์˜ ์‚ฌ๋ก€๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.)

 

๐ŸŽš๏ธ Virgil์€ ๋ฌด์—‡์„ ์ œ์–ดํ•˜๋ ค ํ•˜๋Š”๊ฐ€?

Virgil์€ ๋‹จ์ˆœํ•œ button command protocol๋ณด๋‹ค ๋ฒ”์œ„๊ฐ€ ๋„“์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ protocol์—๋Š” audio equipment์—์„œ ํ•„์š”ํ•œ ์—ฌ๋Ÿฌ parameter๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Gain / Phantom Power / Pad / Polarity / Low-cut / RF Level / Audio Level / Battery State

๋“ฑ์ž…๋‹ˆ๋‹ค. ๋˜ Dante์˜ TX/RX channel์— ๋Œ€์‘๋˜๋Š” channel model๊ณผ ๋ณ„๋„๋กœ aux channel ๊ฐœ๋…๋„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด Proteus์™€ ๊ฐ™์€ control surface๊ฐ€ ํ–ฅํ›„ ์—ฌ๋Ÿฌ audio device์˜ parameter๋ฅผ ํ•˜๋‚˜์˜ interface์—์„œ ์กฐ์ž‘ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๋ชฉํ‘œ๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ”Œ Backplane: 16๊ฐœ Module์„ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐํ• ๊นŒ?

Proteus Backplane์€ 16๊ฐœ์˜ module slot๊ณผ Motherboard ์‚ฌ์ด๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ํ•ต์‹ฌ ๊ตฌ์„ฑ์€ SPI + Power + Reset + Detect + SWD์ž…๋‹ˆ๋‹ค. ๊ทธ ์™ธ์— GPIO 1๊ฐœ๊ฐ€ SPI interrupt์šฉ์œผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ์— ์ง๊ฒฐ๋˜์–ด ์žˆ์ง€๋งŒ, ํ™•์žฅ์„ฑ์„ ์œ„ํ•ด ์ดํ›„ ๋ฒ„์ „์—์„œ ์ œ๊ฑฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ํฌ๋‹ค๊ณ  README๊ฐ€ ์ ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

16๊ฐœ์˜ module chip-select๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด CD74HC154M96 demultiplexer๊ฐ€ ์ปจํŠธ๋กค๋Ÿฌ์˜ CS mux 4์„ ์„ 16์„ ์œผ๋กœ ๋‚˜๋ˆ„๊ณ , module reset/detect์—๋Š” MCP23017T I/O expander 2๊ฐœ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํŠนํžˆ ์žฌ๋ฏธ์žˆ๋Š” ๋ถ€๋ถ„์€ SWD์ž…๋‹ˆ๋‹ค. ๊ฐ module์˜ SWD line์„ switchํ•  ์ˆ˜ ์žˆ๋„๋ก module๋งˆ๋‹ค SN74CBTLV1G125 buffer๋ฅผ ๋‘๊ณ  CS line์„ ์ œ์–ด ์‹ ํ˜ธ๋กœ ์จ์„œ, Motherboard์—์„œ ๊ฐ module MCU๋ฅผ ์ž๋™์œผ๋กœ programํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๊นŒ์ง€ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. module ๊ต์ฒด๋ฟ ์•„๋‹ˆ๋ผ firmware management๊นŒ์ง€ ์ค‘์•™ controller์—์„œ ์ฒ˜๋ฆฌํ•˜๋ ค๋Š” architecture์ž…๋‹ˆ๋‹ค.

โšก PoE๊นŒ์ง€ ๊ณ ๋ คํ•œ Power Architecture

Proteus๋Š” power board๋„ Motherboard์—์„œ ๋ถ„๋ฆฌํ•˜๊ณ  ์ ˆ์—ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ๋ฐฐํ„ฐ๋ฆฌ ์˜ต์…˜์„ ๋„ฃ๊ณ  ์‹ถ์ง€๋งŒ ์•„์ง BMS๋Š” ๋‹ค๋ฃจ๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ prototype power board๋Š” PoE + 12 V barrel input์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋ฉฐ 3.3 V, 5 V์™€ motorized fader์šฉ motor voltage(์•ฝ 9โ€“12 V, ์ •ํ™•ํ•œ ์ „๋ฅ˜๋Š” ํ…Œ์ŠคํŠธ ํ›„ ๊ฒฐ์ •)๋ฅผ ๊ณต๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ณด๋“œ๋Š” ์ž์ฒด RP2350๊ณผ ๋ชจ๋“  ๋ ˆ์ผ์˜ ์ „๋ฅ˜ยท์ „์•• ์„ผ์‹ฑ, ๋ชจํ„ฐ ๋ ˆ์ผ์˜ smart power fuse, ์ „์•• ์กฐ์ •์šฉ digital potentiometer๋„ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Motherboard์™€ Power board ์‚ฌ์ด์—๋Š” PoE ๋ฐ USB-C PD(CC line ํฌํ•จ) ๊ด€๋ จ signal์ด ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ์ด ์—ญ์‹œ ์•„์ง ์ตœ์ข… production power design์ด๋ผ๊ธฐ๋ณด๋‹ค๋Š” future battery / PoE / different power module์„ ๊ณ ๋ คํ•œ modular architecture๋ผ๊ณ  ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ „์›์„ ๋„ฃ์–ด ๋ณธ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋Š” ์ €์žฅ์†Œ์— ๋ณด๊ณ ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๐Ÿ“ก Wired + Wireless๋ฅผ ๋ชจ๋‘ ๊ณ ๋ ค

Motherboard์—๋Š” W5500๋ฟ ์•„๋‹ˆ๋ผ Raspberry Pi Radio Module 2๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

W5500 โ†’ Wired Ethernet
Radio Module 2 โ†’ Wireless

๋‘ network path๊ฐ€ ๋ชจ๋‘ ๊ณ ๋ ค๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ˜„์žฌ repository์—์„œ automatic failover๋‚˜ simultaneous hybrid networking ๊ฐ™์€ ๋™์ž‘๊นŒ์ง€ ๊ตฌํ˜„๋˜์—ˆ๋‹ค๋Š” ๊ทผ๊ฑฐ๋Š” ํ™•์ธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Maker ๊ธ€์—์„œ๋Š”:

The motherboard includes both wired W5500 Ethernet and a wireless radio option.

์ •๋„๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

โš ๏ธ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ์ƒํƒœ

Proteus๋Š” ํ˜„์žฌ ์™„์„ฑ๋œ commercial audio controller๋ผ๊ธฐ๋ณด๋‹ค ๊ฐœ๋ฐœ ์ค‘์ธ hardware/protocol prototype์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. README๋„ ์Šค์Šค๋กœ hardware prototype์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

PCB(KiCad), enclosure STEP, ๋ Œ๋”๋ง, BOM, Motherboard pin architecture ๋“ฑ์€ ์ƒ๋‹นํžˆ ๊ตฌ์ฒด์ ์œผ๋กœ ๊ณต๊ฐœ๋˜์–ด ์žˆ์ง€๋งŒ, Code/Motherboard/Motherboard.cpp๋Š” 50์ค„์งœ๋ฆฌ Pico ์˜ˆ์ œ template(1 MHz SPI, I2C, "Hello, world!" ๋ฃจํ”„)์ด๊ณ  build๋Š” hardware_spi, hardware_i2c, hardware_pio์™€ SD library๋งŒ linkํ•ฉ๋‹ˆ๋‹ค. W5500 driver๋‚˜ ioLibrary, Virgil ๊ตฌํ˜„์€ ์ด ์ €์žฅ์†Œ์— ์—†์Šต๋‹ˆ๋‹ค. Virgil protocol repository์—๋„ ์ฐธ์กฐ firmware๋Š” ์—†์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค์Œ์€ ๊ตฌ๋ถ„ํ•ด์„œ ๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ™•์ธ ๊ฐ€๋Šฅ์•„์ง ๋‹จ์ •ํ•˜๋ฉด ์•ˆ ๋˜๋Š” ๋ถ€๋ถ„
RP2350 MotherboardVirgil fully running on Proteus
W5500 hardware (ํšŒ๋กœ๋„ยทPCB net)Complete TCP networking
W5500 CS/INT/RST pin definitionProduction-ready W5500 firmware
EtherCONWired/Wireless automatic failover
Radio Module 2Finished Hybrid networking
PoE-oriented power designFinal production PoE implementation

์ด ์ ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด ์˜คํžˆ๋ ค ํ”„๋กœ์ ํŠธ ์„ฑ๊ฒฉ์ด ๋” ์ž˜ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค. Proteus๋Š” ์™„์ œํ’ˆ ์‚ฌ๋ก€๋ณด๋‹ค๋Š” W5500์ด ํฌํ•จ๋œ ์ฐจ์„ธ๋Œ€ modular audio-control platform์„ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” development project์ž…๋‹ˆ๋‹ค. ๊ฐœ์ธ ํ•œ ์‚ฌ๋žŒ์ด ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ผ๋Š” ์ ๋„ ๊ฐ์•ˆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”— ๋น„์Šทํ•œ WIZnet Maker ํ”„๋กœ์ ํŠธ์™€ ๋น„๊ต

Proteus์™€ ์ •ํ™•ํžˆ ๊ฐ™์€ Virgil/Dante controller๋Š” ์•„๋‹ˆ์ง€๋งŒ, RP2040/RP2350 ๊ณ„์—ด + W5500์„ ์ด์šฉํ•ด real-time media/control network๋ฅผ ๊ตฌ์„ฑํ•œ Maker ํ”„๋กœ์ ํŠธ๋“ค๊ณผ ๋น„๊ตํ•˜๋ฉด ํŠน์ง•์ด ๋” ์ž˜ ๋ณด์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๊ฐ ํ”„๋กœ์ ํŠธ๊ฐ€ W5500์„ ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”์ง€(ํ•˜๋“œ์›จ์–ด TCP/UDP vs MACRAW + lwIP)์— ์ฃผ๋ชฉํ•ด ๋ณผ ๋งŒํ•ฉ๋‹ˆ๋‹ค.

Project๋ถ„์•ผW5500 ์—ญํ• Proteus์™€ ์ฐจ์ด
ProteusLive Audio ControlVirgil์šฉ wired Ethernet ๋ชฉํ‘œ (firmware ๋ฏธ๊ตฌํ˜„)Modular control surface + ์ž์ฒด protocol
Network MIDI 2.0 Bridge with W5500 on RP2040Network MIDIMACRAW + lwIP (TOE ๋ฏธ์‚ฌ์šฉ)MIDI transport์— ์ง‘์ค‘
Core-MicroLive Lighting ControlArt-Net EthernetDMX/lighting console์— ์ง‘์ค‘
SqueezeAMP PoENetwork AudioSPI Ethernet + PoE++ (lwIP, TOE ๋ฏธ์‚ฌ์šฉ)Audio playback endpoint
3D Joystick ControllerWired Control SurfaceESP32 + W5500๋กœ OSC ์ „์†ก๋™์ž‘ํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ; ๊ธฐ์„ฑ W5500 ๋ณด๋“œ ์‚ฌ์šฉ
w5500_mesaxyzRP2040 NetworkingPico W์— wired Ethernet ์ถ”๊ฐ€ (ioLibrary)General-purpose Ethernet example

Network MIDI 2.0 Bridge

Maker Project ๋ณด๊ธฐ

์ด ํ”„๋กœ์ ํŠธ ์—ญ์‹œ RP2040๊ณผ W5500์„ ์ด์šฉํ•ด ์Œ์•… ๊ด€๋ จ network protocol์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํŠน์ดํ•˜๊ฒŒ W5500์˜ TCP/UDP hardware socket์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  MACRAW โ†’ lwIP โ†’ UDP โ†’ Network MIDI 2.0 ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ํŽ˜์ด์ง€๋Š” W5500์„ "Ethernet MAC/PHY-facing hardware interface and frame buffer"๋กœ ์“ด๋‹ค๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Proteus๋Š” MIDI transport๊ฐ€ ์•„๋‹ˆ๋ผ live-audio equipment parameter control์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค๋Š” ์ ์ด ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ž…๋‹ˆ๋‹ค. Proteus๊ฐ€ ์–ด๋А ๋ฐฉ์‹์„ ํƒํ• ์ง€๋Š” ์•„์ง ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

Core-Micro

Maker Project ๋ณด๊ธฐ

Core-Micro๋Š” RP2040 + W5500 ๊ธฐ๋ฐ˜์˜ ๊ณต์—ฐ ์กฐ๋ช… controller๋กœ Art-Net, DMX, physical fader/encoder ๋“ฑ์„ ํ•˜๋‚˜์˜ device์— ํ†ตํ•ฉํ•˜๋ ค๋Š” ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ ํŽ˜์ด์ง€๋Š” fader 5๊ฐœ์™€ encoder 2๊ฐœ๊ฐ€ "๊ณ„ํš" ๋‹จ๊ณ„์ด๊ณ  firmware๋„ DMXยทArt-Net ๊ฒ€์ฆ์šฉ ์ตœ์†Œ ๊ตฌํ˜„์ด๋ผ๊ณ  ๋ฐํž™๋‹ˆ๋‹ค. Logic/Surface/DMX/Power 4๊ฐœ board๋กœ ๋‚˜๋ˆˆ modular ํ•˜๋“œ์›จ์–ด๋ผ๋Š” ์ ๋„ Proteus์™€ ๋‹ฎ์•˜์Šต๋‹ˆ๋‹ค.

Physical control surface + W5500์ด๋ผ๋Š” ์ ์€ Proteus์™€ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ:

Core-Micro โ†’ Lighting / Art-Net / DMX
Proteus โ†’ Live Audio / Virgil / Dante companion control

์ด๋ผ๋Š” ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

SqueezeAMP PoE

Maker Project ๋ณด๊ธฐ

SqueezeAMP PoE๋Š” ESP32์™€ W5500, PoE++(IEEE 802.3bt, ์ตœ๋Œ€ 60 W)๋ฅผ ์ด์šฉํ•œ network audio amplifier์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ Ethernet cable์„ ํ†ตํ•ด network์™€ power๋ฅผ ํ•จ๊ป˜ ๊ณต๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๋Š” TCP/IP๋ฅผ W5500 offload๊ฐ€ ์•„๋‹ˆ๋ผ ESP32์˜ lwIP๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๊ณ  ๋ฐํž™๋‹ˆ๋‹ค.

Proteus ์—ญ์‹œ Ethernet๊ณผ PoE๋ฅผ ๊ณ ๋ คํ•˜์ง€๋งŒ ์—ญํ• ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

SqueezeAMP โ†’ Audio Endpoint
Proteus โ†’ Audio Control Surface

๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3D Joystick Controller

Maker Project ๋ณด๊ธฐ

ESP32์™€ W5500์œผ๋กœ ์กฐ์ด์Šคํ‹ฑ ์ž…๋ ฅ์„ ์ฝ์–ด OSC ๋ฉ”์‹œ์ง€๋กœ ์œ ์„  ์ด๋”๋„ท์— ์ „์†กํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅ โ†’ ๋„คํŠธ์›Œํฌ ๋ฉ”์‹œ์ง€ โ†’ ์™ธ๋ถ€ ์žฅ์น˜๋ผ๋Š” ํ๋ฆ„์€ Proteus์˜ control surface ์—ญํ• ๊ณผ ๊ฐ€์žฅ ๊ฐ€๊น์ง€๋งŒ, ์ด์ชฝ์€ ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜๋Š” firmware๊ฐ€ ์žˆ๊ณ  ๊ธฐ์„ฑ W5500 board๋ฅผ ์”๋‹ˆ๋‹ค. Proteus๋Š” W5500์„ ์ปค์Šคํ…€ Motherboard์— ์ง์ ‘ ๋ฐฐ์น˜ํ•œ ์„ค๊ณ„๋ผ๋Š” ์ ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

w5500_mesaxyz

Maker Project ๋ณด๊ธฐ

Pico W์— W5500์„ ์—ฐ๊ฒฐํ•ด Wi-Fi์™€ ๋ณ„๋„๋กœ wired Ethernet์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋ณธ RP2040 networking project๋กœ, WIZnet์˜ ioLibrary_Driver๋ฅผ ์”๋‹ˆ๋‹ค. Proteus ์—ญ์‹œ wireless module๊ณผ W5500์„ ํ•œ Motherboard์—์„œ ๊ณ ๋ คํ•˜์ง€๋งŒ, ๋‹จ์ˆœ connectivity demonstration์ด ์•„๋‹ˆ๋ผ modular live-sound controller๋ผ๋Š” application ๋ชฉ์ ์ด ๋ถ„๋ช…ํ•˜๋‹ค๋Š” ์ ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

 

โ“ FAQ

Q. Proteus์—์„œ W5500์ด ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋˜๋‚˜์š”?
Motherboard hardware(ํšŒ๋กœ๋„ยทPCB)์™€ firmware pin definition์— W5500์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ํ˜„์žฌ ๊ณต๊ฐœ firmware์—์„œ๋Š” ์‹ค์ œ TCP/Virgil networking๊นŒ์ง€ ๊ตฌํ˜„๋œ ๊ฒƒ์€ ํ™•์ธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Q. Virgil์€ audio streaming protocol์ธ๊ฐ€์š”?
์•„๋‹™๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋Š” Virgil์„ Dante์˜ companion control protocol๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. Audio transport ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ gain, phantom power, channel linking, device status ๊ฐ™์€ control information์„ TCP/JSON์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ž…๋‹ˆ๋‹ค.

Q. MIDI controller์ธ๊ฐ€์š”?
Physical form์€ motorized fader์™€ display/encoder๋ฅผ ์‚ฌ์šฉํ•˜๋Š” control surface์™€ ๋น„์Šทํ•˜์ง€๋งŒ, ํ”„๋กœ์ ํŠธ๋Š” MIDI ๋Œ€์‹  ์ž์ฒด Virgil protocol์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ platform์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Q. W5500๊ณผ Wi-Fi๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋‚˜์š”?
Motherboard์—๋Š” W5500๊ณผ Raspberry Pi Radio Module 2๊ฐ€ ๋ชจ๋‘ ์„ค๊ณ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ˜„์žฌ source์—์„œ automatic failover๋‚˜ simultaneous network operation๊นŒ์ง€ ํ™•์ธ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

Q. PoE๋ฅผ ์ง€์›ํ•˜๋‚˜์š”?
Power architecture์—์„œ PoE๋ฅผ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ดˆ๊ธฐ power module๋„ PoE์™€ 12 V input์„ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ๋Š” final production PoE implementation์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ๋ณด๋‹ค prototype design์œผ๋กœ ๋ณด๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

Q. ์ง์ ‘ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‚˜์š”?
KiCad ํ”„๋กœ์ ํŠธ, STEP ํŒŒ์ผ, BOM์ด ๊ณต๊ฐœ๋˜์–ด ์žˆ์ง€๋งŒ ์ €์ž๋Š” ์ด๊ฒƒ์„ prototype์ด๋ผ๊ณ  ์„ค๋ช…ํ•˜๊ณ  firmware๋Š” ๋ฏธ์™„์„ฑ์ž…๋‹ˆ๋‹ค.


๐Ÿ“Œ Building the Control Layer Around Network Audio

Proteus is a modular hardware platform being developed as a prototype for the Virgil live-sound control protocol. The README compares it to a MIDI controller such as the Behringer X-Touch, with two differences: it is fully open source and modular, and it does not use MIDI.

The project is not intended to replace network audio transport itself. The gap the author points to is that Dante moves the audio but has no room for control messages, so each audio vendor ships its own proprietary control protocol. Virgil is designed as a companion control protocol for exchanging device parameters such as gain, phantom power, channel state, and status information.

The Virgil specification currently defines JSON-formatted messages over TCP, with mDNS used for controller discovery. The overall concept can therefore be summarized as:

Audio Transport โ†’ Dante
Device Control โ†’ Virgil
Hardware Prototype โ†’ Proteus

๐Ÿ“Œ Building the Control Layer Around Network Audio

Generated diagram from the README, Proteus.h pin definitions and the Networking schematic sheet.

๐Ÿงฉ Modular Control Surface

Proteus provides sixteen module slots, eight on the upper section and eight on the lower section. The slots are electrically identical and differ only in length. Current modules include:

Speculum โ€” 1.14" TFT display, illuminated (NeoPixel) button and rotary encoder.

Cursor โ€” B103 motorized fader module.

Every module must carry an RP2040/RP2350-class controller and communicates with the main system through SPI. The README also names a button module, Ordo. The result is a distributed architecture rather than one central MCU directly controlling every display, encoder and motor.

 

๐Ÿง  RP2350 Motherboard with W5500

The Proteus Motherboard is based on an RP2350 (16 MB flash). It includes:

  • WIZnet W5500 Ethernet
  • Raspberry Pi Radio Module 2
  • EtherCON network connector
  • USB-C and SWD for programming
  • microSD over SDIO
  • Backplane interfaces

The Networking.kicad_sch sheet contains the W5500 (LQFP-48) with a 25 MHz crystal, a Neutrik NE8FAH EtherCON jack, PT61018PEL magnetics, and LINK, DUP and ACT LEDs. The PCB carries nets named W5500_~{CS}, W5500_~{INT} and W5500_~{RESET}. The firmware board definition Proteus.h assigns the pins:

 
// Networking SPI
#define PICO_DEFAULT_SPI             spi0
#define PICO_DEFAULT_SPI_RX_PIN      0   // NET_MISO
#define PICO_DEFAULT_SPI_TX_PIN      3   // NET_MOSI
#define PICO_DEFAULT_SPI_SCK_PIN     2   // NET_CLK
 #define W5500_CS_PIN                 45
#define W5500_INT_PIN                46
#define W5500_RST_PIN                47

The network SPI and the W5500 control pins are configured during hardware setup. The module bus is a separate spi1, so Ethernet traffic does not share a bus with the faders and screens, and the radio module has its own chip-select (GPIO 42), interrupt (43) and enable (44). This confirms that W5500 is part of the intended motherboard architecture rather than only a conceptual network option.

๐ŸŒ W5500 as the Wired Path for Virgil

Virgil defines persistent TCP communication with UTF-8 JSON messages, each prefixed by a 4-byte unsigned big-endian length. Its documented message types include parameterCommand, statusUpdate, statusRequest, channelLink, channelUnlink, deviceInfoRequest, and subscribeMessage.

A future Proteus implementation can therefore follow a path such as:

Control Modules โ†’ RP2350 โ†’ Virgil โ†’ TCP โ†’ W5500 โ†’ EtherCON

๐ŸŒ W5500 as the Wired Path for Virgil

Generated diagram of the control path described in the Virgil README. The Proteus firmware does not implement it yet.

The author does not explain the choice of W5500, so the following is our reading of the design:

  • The RP2350 has no Ethernet MAC, so wired networking needs an external controller; the W5500 attaches over SPI and takes the MAC/PHY side and the TCP/IP stack with it.
  • A control surface keeps long-lived TCP connections to several devices.  If Proteus later uses the W5500 hardware sockets, they could offload TCP/IP processing from the RP2350. The current repository does not yet define that software architecture.
  • W5500 INT is connected to GPIO46, allowing firmware to handle network events through interrupts instead of continuous polling.

However, the current public Proteus firmware should be described carefully.

W5500 hardware and pin-level initialization are present, but a complete Virgil-over-W5500 TCP implementation is not yet visible in the repository. The repository also does not say whether it will use the W5500's hardware sockets or MACRAW with lwIP; the related projects below show both approaches.

Proteus is therefore best presented as a platform being developed for Virgil, rather than a finished Virgil Ethernet controller.

 

๐ŸŽš๏ธ What Virgil Aims to Control

The protocol defines parameters such as gain, phantom power, pad, polarity, low-cut, RF level, audio level and battery state, plus a channel model matching Dante TX/RX channels and a separate aux channel concept. A control surface like Proteus could eventually operate several devices' parameters from one interface.


๐Ÿ”Œ A Backplane Designed for Intelligent Modules

The Backplane distributes SPI, power, reset, detection and SWD signals to the sixteen module slots. A CD74HC154M96 demultiplexer expands the Motherboard's four CS mux lines into sixteen module chip-selects, while two MCP23017T expanders provide reset and detection I/O. One GPIO goes straight to the controller as an SPI interrupt, which the README says will likely be removed to scale across more modules.

A SN74CBTLV1G125 per module switches that module's SWD lines, using the CS line as the control signal, so the central controller can program every module automatically.

 

โšก Power and PoE

Power is separated onto its own isolated board so that different power architectures can be developed independently. The author wants a battery option later without taking on a BMS yet.

The current prototype power module is designed around PoE and 12 V input and supplies 3.3 V, 5 V and a motor rail of roughly 9โ€“12 V, with the exact current to be determined by testing. It carries its own RP2350 with current and voltage sensing on every rail, a smart power fuse on the motor rail and a digital potentiometer to adjust it. PoE and USB-C PD signals, including the CC lines, are passed from the Motherboard to the power board. The repository reports no powered test results.

 

๐Ÿ“ก Wired and Wireless Hardware

The motherboard includes both W5500 wired Ethernet and a Raspberry Pi Radio Module 2. This gives the platform hardware support for both wired and wireless networking. However, the current repository does not yet demonstrate automatic failover or simultaneous hybrid networking, so those behaviors should not be assumed.

 

โš ๏ธ Development Status

Proteus is currently a development platform rather than a finished commercial controller; the README itself calls it a hardware prototype.

The KiCad projects, enclosure STEP files, renderings, BOM and motherboard pin architecture are published. The public Motherboard firmware, however, is still at an early bring-up stage: Code/Motherboard/Motherboard.cpp is the 50-line Pico example template (1 MHz SPI, I2C, a "Hello, world!" loop), and the build links only hardware_spi, hardware_i2c, hardware_pio and an SD library. There is no W5500 driver, ioLibrary or Virgil implementation in this repository, and the Virgil repository describes no reference firmware. It is also a single-maintainer project.

Confirmed in the repositoryNot yet established
RP2350 MotherboardVirgil fully running on Proteus
W5500 hardware (schematic, PCB nets)Complete TCP networking
W5500 CS/INT/RST pin definitionsProduction-ready W5500 firmware
EtherCONWired/wireless automatic failover
Radio Module 2Finished hybrid networking
PoE-oriented power designFinal production PoE implementation

That makes Proteus particularly interesting as a design-in-progress reference for combining RP2350, W5500, modular control hardware and a new network control protocol.

๐Ÿ”— Related WIZnet Maker Projects

ProjectAreaW5500 RoleDifference from Proteus
ProteusLive Audio ControlPlanned wired path for Virgil (firmware not yet written)Modular control surface + custom protocol
Network MIDI 2.0 Bridge with W5500 on RP2040Network MIDIMACRAW + lwIP (no TOE)Focused on MIDI transport
Core-MicroLive Lighting ControlArt-Net EthernetFocused on DMX/lighting console control
SqueezeAMP PoENetwork AudioSPI Ethernet + PoE++ (lwIP, no TOE)Audio playback endpoint
3D Joystick ControllerWired Control SurfaceESP32 + W5500 sending OSCWorking controller on a ready-made W5500 board
w5500_mesaxyzRP2040 NetworkingAdds wired Ethernet to Pico W (ioLibrary)General-purpose Ethernet example

Network MIDI 2.0 Bridge

View Maker Project

This project also combines RP2040 and W5500 for a music-related network protocol. Instead of the W5500's hardware TCP/UDP sockets it runs MACRAW โ†’ lwIP โ†’ UDP โ†’ Network MIDI 2.0, using the W5500 as the Ethernet MAC/PHY-facing interface and frame buffer.

Its focus is network MIDI transport, while Proteus targets live-audio equipment parameter control through Virgil. Which of the two W5500 modes Proteus will use is still open.

Core-Micro

View Maker Project

Core-Micro combines RP2040, W5500, physical faders and encoders for Art-Net/DMX lighting control. Its page describes five faders and two encoders as planned and the firmware as a minimal DMX/Art-Net verification build, and the hardware is split into Logic, Surface, DMX and Power boards, much as Proteus separates its boards.

Its physical control-surface concept is close to Proteus, but the application domains differ:

Core-Micro โ†’ Lighting / Art-Net / DMX
Proteus โ†’ Live Audio / Virgil / Dante companion control

SqueezeAMP PoE

View Maker Project

SqueezeAMP PoE uses ESP32, W5500 and IEEE 802.3bt PoE++ (up to 60 W) for a network audio amplifier, and its page states that TCP/IP runs on the ESP32's lwIP rather than the W5500 offload. Proteus also considers Ethernet and PoE, but serves a different role:

SqueezeAMP โ†’ Audio Endpoint
Proteus โ†’ Audio Control Surface

3D Joystick Controller

View Maker Project

An ESP32 reads two 3D joysticks and sends the values as OSC messages over a W5500 wired link. The input-to-network-message flow is the closest to Proteus's control-surface role, but it has working firmware on a ready-made W5500 board, while Proteus places the W5500 on its own custom motherboard.

w5500_mesaxyz

View Maker Project

This project adds W5500 wired Ethernet to a Pico W using WIZnet's ioLibrary_Driver. Proteus also combines wireless capability with W5500 Ethernet, but uses them within a larger modular live-sound control architecture rather than as a general connectivity demonstration.

 

โ“ FAQ

Is W5500 actually part of Proteus?
Yes. It is included in the Motherboard hardware design (schematic and PCB nets) and firmware pin definitions. A complete TCP/Virgil implementation, however, is not yet visible in the public firmware.

Is Virgil an audio-streaming protocol?
No. Virgil is described as a companion control protocol for Dante-based systems, carrying device-control information such as gain, phantom power, channel linking and status over TCP/JSON.

Is Proteus a MIDI controller?
Its physical form resembles a modular control surface with faders, displays and encoders, but the project is intended to prototype the Virgil protocol instead of MIDI.

Does it already use W5500 and Wi-Fi together?
The Motherboard includes both W5500 and a Raspberry Pi Radio Module 2, but the current source does not demonstrate automatic failover or simultaneous hybrid networking.

Is PoE finished?
PoE is part of the power architecture and the current prototype power module is designed for PoE and 12 V input, but it should still be described as a development-stage power design.

Can I build one?
The KiCad projects, STEP files and a BOM are published, but the author describes it as a prototype and the firmware is incomplete.

Comments

Similar projects you might like

Comments