Wiznet makers

Benjamin

Published December 05, 2025 © Apache License 2.0 (Apache-2.0)

68 UCC

11 WCC

8 VAR

0 Contests

0 Followers

1 Following

Original Link

micro-ROS Arduino Simpler (STM32 + W5100S HAT)

Runs micro-ROS on STM32 using W5100S SPI Ethernet. It enables ROS 2 connectivity via PlatformIO on boards lacking native LAN support.

COMPONENTS Hardware components

WIZnet - WIZnet Ethernet HAT

x 1

Software Apps and online services

platformio - PlatformIO Core

x 1


PROJECT DESCRIPTION

Original Project by Ar-Ray (NITKK-ROS-Team) This curation covers both the GitHub Library and the Technical Blog Post by Ar-Ray, a key influencer in the Japanese robotics community. He provides a complete ecosystem for micro-ROS, validating WIZnet's hardware in real-world scenarios.

1. Introduction: The "Simpler" Ecosystem

  • The Problem: Setting up micro-ROS on embedded systems is notoriously difficult, involving complex build flags and transport configurations.
  • The Solution: Ar-Ray's micro_ros_arduino_simpler library creates a unified API for Arduino users. It allows developers to switch between Wi-Fi and Ethernet with a single line of code, significantly lowering the barrier to entry for reliable robotics.

2. Reference Implementation: Hardware Hacking (STM32 + W5100S HAT)

  • Cross-Platform Versatility: In his blog post, Ar-Ray demonstrates a creative use of WIZnet hardware. He takes the WIZnet Ethernet HAT, which is form-factor compatible with Raspberry Pi Pico, and wires it to an STM32 Nucleo board via SPI.
  • Why do this?: This proves that WIZnet's W5100S is a truly universal solution. Developers don't need to wait for a specific shield for their MCU; they can use any available WIZnet SPI module to add robust TCP/IP connectivity immediately.

3. Why WIZnet? (Reliability & Future-Proofing)

  • TOE (TCP/IP Offload Engine): For micro-ROS, network stability is critical. By using W5100S, the heavy lifting of TCP/IP is offloaded from the STM32, ensuring that the MCU can focus on real-time robot control without jitter.
  • The W55RP20 Opportunity: This project lays the groundwork for W55RP20. Since the library already supports the Arduino Ethernet API and WIZnet chips, migrating to the W55RP20 (which combines the MCU and W5500 in one chip) would be seamless, offering a cleaner, single-chip solution for this exact use case.

4. Technical Deep Dive (Code & Wiring)

  • Dependency Management (platformio.ini): The library automatically handles WIZnet drivers, making setup effortless.
lib_deps =
    https://github.com/NITKK-ROS-Team/micro_ros_arduino_simpler.git
    https://github.com/WIZnet-ArduinoEthernet/Ethernet.git
  • Unified Initialization: The API abstracts the SPI driver details.
// Configuring W5100S (SPI)
// CS pin 6 is used for the HAT connection
set_microros_native_ethernet_udp_transports(mac, ip, agent_ip, agent_port, 6);
  • Wiring (from Blog):
    • SPI: SCK, MISO, MOSI connected between Nucleo and HAT.
    • Power: 3.3V/GND shared.
    • CS: Manually mapped to Pin 6.

5. How to Run

  1. Hardware: Wire the WIZnet Ethernet HAT to your STM32 board as per the blog instructions.
  2. Software: Install PlatformIO and clone the repository.
  3. Config: In platformio.ini, select the STM32 environment.
  4. Run: Build, upload, and start the micro-ROS agent on your PC.

[Korean Version]

원문 출처 (Source Mention)

Original Project by Ar-Ray (NITKK-ROS-Team) 이 큐레이션은 일본 로보틱스 커뮤니티의 핵심 인플루언서인 Ar-Ray 님의 GitHub 라이브러리기술 블로그 포스트를 모두 다룹니다. 그는 micro-ROS를 위한 완전한 생태계를 제공하며, 실제 시나리오에서 위즈네트 하드웨어를 검증했습니다.

1. 소개: "Simpler" 생태계 (The "Simpler" Ecosystem)

  • 문제: 임베디드 시스템에서 micro-ROS를 설정하는 것은 복잡한 빌드 플래그와 전송 설정 때문에 악명 높을 정도로 어렵습니다.
  • 해결책: Ar-Ray 님의 micro_ros_arduino_simpler 라이브러리는 아두이노 사용자를 위한 통합 API를 생성합니다. 개발자는 코드 한 줄로 Wi-Fi와 이더넷 간을 전환할 수 있어, 신뢰성 있는 로봇 개발의 진입 장벽을 획기적으로 낮춥니다.

2. 레퍼런스 구현: 하드웨어 해킹 (STM32 + W5100S HAT)

  • 크로스 플랫폼 범용성: 블로그 포스트에서 Ar-Ray 님은 위즈네트 하드웨어의 창의적인 활용법을 보여줍니다. 그는 라즈베리 파이 피코용으로 설계된 WIZnet Ethernet HATSTM32 Nucleo 보드에 SPI로 배선하여 연결했습니다.
  • 왜 이렇게 했는가?: 이는 위즈네트의 W5100S가 진정으로 범용적인 솔루션임을 증명합니다. 개발자는 자신의 MCU를 위한 전용 쉴드를 기다릴 필요 없이, 사용 가능한 아무 위즈네트 SPI 모듈이나 사용하여 즉시 견고한 TCP/IP 연결을 추가할 수 있습니다.

3. 왜 WIZnet인가? (신뢰성 & 미래 대비)

  • TOE (TCP/IP Offload Engine): micro-ROS에서 네트워크 안정성은 매우 중요합니다. W5100S를 사용함으로써 TCP/IP의 무거운 부하를 STM32에서 분리(Offload)하여, MCU가 지터 없이 실시간 로봇 제어에 집중할 수 있게 합니다.
  • W55RP20의 기회: 이 프로젝트는 W55RP20을 위한 기반을 마련합니다. 라이브러리가 이미 아두이노 이더넷 API와 위즈네트 칩을 지원하므로, MCU와 W5500을 하나의 칩으로 결합한 W55RP20으로의 마이그레이션은 매우 매끄러울 것이며, 이와 동일한 사용 사례에 대해 훨씬 깔끔한 원칩 솔루션을 제공할 것입니다.

4. 기술적 심층 분석 (Code & Wiring)

  • 의존성 관리 (platformio.ini): 라이브러리는 위즈네트 드라이버를 자동으로 처리하여 설정을 간편하게 만듭니다.
lib_deps =
    https://github.com/NITKK-ROS-Team/micro_ros_arduino_simpler.git
    https://github.com/WIZnet-ArduinoEthernet/Ethernet.git
  • 통합 초기화: API는 SPI 드라이버의 세부 사항을 추상화합니다.
// W5100S (SPI) 설정
// HAT 연결을 위해 CS 핀 6번 사용
set_microros_native_ethernet_udp_transports(mac, ip, agent_ip, agent_port, 6);
  • 배선 (블로그 참조):
    • SPI: Nucleo와 HAT 사이의 SCK, MISO, MOSI 연결.
    • 전원: 3.3V/GND 공유.
    • CS: 핀 6번에 수동 매핑.

5. 실행 방법 (How to Run)

  1. 하드웨어: 블로그 지침에 따라 WIZnet Ethernet HAT을 STM32 보드에 배선합니다.
  2. 소프트웨어: PlatformIO를 설치하고 리포지토리를 복제합니다.
  3. 설정: platformio.ini에서 STM32 환경을 선택합니다.
  4. 실행: 빌드 및 업로드 후, PC에서 micro-ROS 에이전트를 시작합니다.
Documents
Comments Write