본문 바로가기

RaspberryPi/W55RP20

W55RP20 을 이용한 PoE 기반 네트웍 스피커 제작

 

 

RP2040과 이더넷 컨트롤러 W5500이 결합된 W55RP20 SIP(System-in-Package) 칩을 활용하여, 실시간 스트리밍이 가능한 네트웍 스피커를 제작할 수 있다.
W55RP20은 저렴한 가격에 고성능 네트웍 기능을 구현 할 수 있는 칩으로 PoE 기반 네트웍 스피커를 제작하기에 아주 적합한 솔루션 이다. PoE(Power over Ethernet) 시스템 과 W55RP20 + 오디오앰프로 네트웍 스피커 시스템 구축을 위한 핵심 로직과 하드웨어 검증 진행해 보았다.

 


W55RP20은 저렴한 가격에 강력한 네트웍 솔루션을 제공하는 칩셋이다. 이를 활용해 실제 프로젝트에 즉시 적용할 수 있도록 [W55RP20-4032] 표준 핀맵 보드를 설계하였다.

  • MCU: W55RP20 (RP2040 + W5500 + Flash).
  • Audio Amp: TAS5825P (Class-D, Hybrid-Pro 알고리즘 적용으로 고효율/저발열 실현).
  • Interface: I2S (오디오 데이터), I2C (앰프 설정 및 제어).
  • Debug/Display: NeoPixel(SK6812) 2구, SSD1306 OLED (상태 표시용).

 

 

 


개발 환경: Arduino vs C/C++ SDK

초기에는 생산성이 좋은 Arduino lwIP 환경에서 테스트를 진행했다. 하지만 lwIP는 소프트웨어 스택을 사용하기 때문에 TCP 전송률이 약 2Mbps에 머무르는 한계가 있었다.

CD 음질(44.1kHz, 16bit) 수준은 커버 가능하지만, 향후 고음질(96khz, 24bit 이상) 확장을 위해 Pi Pico C/C++ SDK 환경으로 전환하여 하드웨어 TCP 스택을 직접 제어함으로써 안정적인 대역폭을 확보다.

이후 하드웨어 스택을 적용할수 있는Arduino 라이브러리 W55RP20_Ethernet3를 적용하고 개선하여 전송률을 6Mpbs 까지 확보 할수 있었다.
향후 96khz, 192khz 의 무손실 고음질의 오디오 데이터를 전송할수 있도록 하기 위해 Pi Pico SDK 환경에서 테스트 했고  UDP 전송률은 17Mbps 로 측정이 되었다.

 


통합 대시보드 및 스트리밍 기능

단순한 재생을 넘어, 실시간 제어가 가능한 Python 기반 오디오 스트리밍 대시보드를 제작했다.

  • 실시간 송출: PC의 음원을 선택하여 네트웍 스피커로 즉시 전송.
  • TTS(Text-to-Speech): 텍스트를 입력하면 WAV로 변환하여 네트웍 방송 송출.
  • YouTube 스트리밍: 유튜브 링크 입력 시 실시간 음원 추출 및 송출 가능.
  • 시각화: 실시간 출력 WAV 파일의 웨이브폼 그래프 표시.

 


최종 결과물

 


테스트 동영상

 

https://youtu.be/Gyevo880WJ8

 

 

https://youtu.be/xJB1qWJWgZg