Wiznet makers

matthew

Published August 18, 2026 ©

181 UCC

9 WCC

47 VAR

0 Contests

1 Followers

1 Following

Original Link

ETH_CANable Firmware

ETH_CANable is an open-source robotics networking tool from IRIS-ITS that uses an STM32G474 and W5500 to expose 2 CAN buses over Ethernet using UDP-based SLCAN.

COMPONENTS
PROJECT DESCRIPTION

ETH_CANable: IRIS-ITS’s W5500-Based Dual CAN-to-Ethernet Bridge


Overview

CAN is widely used inside robots for communication between motor controllers, actuators, sensors, and embedded control boards. Development PCs and higher-level control systems, however, are often connected through Ethernet.

ETH_CANable bridges these two environments.

Instead of connecting a USB-to-CAN adapter directly beside a PC, ETH_CANable uses the W5500 to make two CAN buses accessible as an Ethernet endpoint. A host computer can configure CAN bitrates, transmit frames, and receive bus traffic over UDP.

Development PC / Robot Computer
              │
              │ UDP + SLCAN
              ▼
        WIZnet W5500
              │ SPI
              ▼
       STM32G474CBT6
         ┌────┴────┐
         ▼         ▼
      CAN 0      CAN 1

ETH_CANable is not an application gateway that interprets motor commands or sensor values. Its main purpose is to act as a transparent bridge that moves raw CAN frames between Ethernet and two CAN buses.


About IRIS-ITS

Source: IRIS-ITS https://iris.its.ac.id/ 

IRIS — ITS Robot with Intelligent System is a student robotics team representing Institut Teknologi Sepuluh Nopember (ITS) in Surabaya, Indonesia.

Founded in 2017, IRIS develops autonomous wheeled soccer robots and has participated in competitions including the RoboCup Middle Size League, FIRA RoboWorld Cup, and Kontes Robot Indonesia. The team is organized into four main divisions: Programming, Electrical, Mechanical, and Non-Technical. (iris.its.ac.id)

DivisionMain Role
ProgrammingAI, computer vision, navigation, motion planning, and strategy
ElectricalPower systems, sensors, motor controllers, and communication networks
MechanicalChassis, drivetrain, and kicking mechanisms
Non-TechnicalSponsorship, media, events, and public relations

The Electrical Division is particularly relevant to ETH_CANable because it works on motor controllers and communication networks. The current IRIS team page also lists Ari Rangga Prasetio, whose name corresponds to the author of the repository’s initial commit, as a member of the Electrical Division. The repository itself, however, is published as an IRIS-ITS organization project rather than as an individual project.

IRIS’s GitHub organization also reflects its broader system-level development. Public repositories cover ROS development environments, robot base stations, referee-box integration, STM32 utilities, neural-network experiments, UDP communication libraries, and embedded firmware such as ETH_CANable.


IRIS-ITS on Social Media

IRIS-ITS is notable not only for its engineering work but also for its organized public communication and social-media activity.

The team has a dedicated Non-Technical Division responsible for sponsorship, media, event management, and public relations, showing that outreach is an intentional part of team operations. (iris.its.ac.id)

Instagram — Competition and Team Storytelling

source: https://www.instagram.com/iris.itsrobotic/ 

Instagram: @iris.itsrobotic

IRIS uses Instagram to document international competitions, robot development, and team activities through a consistent visual style.

During RoboCup 2026, for example, the team published a continuing series covering match days, robot preparation, field activities, the final result, and post-event reflections. Rather than showing only finished robots, the feed also includes the students working on, testing, and maintaining them.

This gives Instagram the role of a more polished public record of IRIS’s competition journey, engineering process, and official team achievements.

 

TikTok — Workshop Culture and Informal Engineering Content

source: https://www.tiktok.com/@iris.itsrobotic 

TikTok: @iris.itsrobotic

TikTok presents a more casual side of the same robotics team.

Reviewed posts include soldering, programming challenges, robot assembly, workshop activities, competition scenes, and team-life moments. The videos often use Indonesian-language humor and short-form storytelling to make engineering work more approachable.

While Instagram presents competitions and achievements in a more structured format, TikTok gives viewers a closer look at how the students actually work, solve problems, and spend time in the robotics workshop.

LinkedIn — Research, Education, and Industry Collaboration Collaboration

LinkedIn: IRIS ITS

IRIS uses LinkedIn for more professional and institutional activities, including robotics education, school visits, research exhibitions, technical events, sponsor activities, and industry collaboration.

This channel presents IRIS not only as a competition team, but also as a university robotics group involved in education, research, and external partnerships.

YouTube — Team Profile and Qualification Content

IRIS also publishes longer-form video content through YouTube.

IRIS’s official website highlights:

The RoboCup Qualification Video is also linked from the official Research & Publications page alongside Team Description Papers and engineering documentation. (iris.its.ac.id)

YouTube therefore provides a longer-form view of the team, its robots, and its competition preparation.

GitHub and Publications — Technical Evidence

GitHub: github.com/IRIS-ITS
Publications: iris.its.ac.id/publications

Behind its public-facing social media, IRIS also publishes firmware, robotics software, Team Description Papers, qualification materials, and engineering documentation.

The channels serve different but complementary roles:

ChannelMain Role
InstagramCompetitions, engineering process, official achievements
TikTokWorkshop culture, informal engineering, team life
LinkedInResearch, education, sponsors, industry collaboration
YouTubeTeam profiles and qualification videos
GitHubFirmware and software source
WebsiteTeam, achievements, activities, and sponsors
PublicationsTechnical papers and engineering documentation

Rather than posting the same material everywhere, IRIS appears to adapt its communication to each platform: Instagram for competition storytelling, TikTok for workshop and team culture, LinkedIn for professional outreach, and YouTube for longer-form team and technical content.

This broader public activity is relevant to ETH_CANable because it shows that the repository is part of the engineering ecosystem of an active autonomous-robotics team, rather than an isolated personal prototype.


What Is ETH_CANable?

ETH_CANable is a dual-channel CAN-to-Ethernet bridge firmware that extends the concept of the open-source CANable adapter.

Original CANable ConceptETH_CANable
USB connectionW5500 Ethernet
Single CAN interfaceDual CAN interfaces
Serial SLCANSLCAN over UDP
Local PC adapterNetwork-accessible CAN endpoint

Each SLCAN command is prefixed with 0 or 1 to select one of the two CAN channels.

0S6\r  → Set CAN 0 to 500 Kbit/s
0O\r   → Open CAN 0
1O\r   → Open CAN 1

The repository documents bitrates from 10 Kbit/s to 1 Mbit/s, as well as normal, silent-monitoring, and internal-loopback modes.


How It Works

PC Application
      │
      │ UDP / SLCAN
      ▼
 WIZnet W5500
      │ SPI
      ▼
 STM32G474
      │
  SLCAN Parser
    ┌─┴─┐
    ▼   ▼
 CAN 0 CAN 1

A host PC sends SLCAN commands to UDP port 5001. The STM32 then parses the command and its channel prefix.

When a CAN frame is received, the firmware converts it back into SLCAN ASCII format and sends it to the UDP client over Ethernet.

Standard and extended CAN identifiers, data frames, and remote frames are supported.


Role of the WIZnet W5500

W5500 use can be verified not only in the README but also directly in the firmware source code.

Core/Src/eth.c includes WIZnet ioLibrary and directly calls its hardware-socket APIs:

  • socket()
  • recvfrom()
  • sendto()

The firmware opens a W5500 UDP socket, receives SLCAN commands, and sends CAN responses back through the same Ethernet path.

w5500_stm32_hal.c connects WIZnet ioLibrary to STM32 SPI1 and implements chip-select, reset, byte transfer, and burst transfer callbacks.

WIZnet ioLibrary
      │
      │ UDP Hardware Socket
      ▼
    W5500
      │ SPI1
      ▼
 STM32G474
      │
      ▼
 Dual CAN

The responsibilities are divided clearly:

ResponsibilityMain Component
Ethernet MAC / PHYW5500
Hardware UDP socketW5500
SPI and network configurationSTM32 firmware
SLCAN parsingSTM32 firmware
CAN TX/RXSTM32 FDCAN
Application-specific CAN meaningHost / Robot software

W5500 turns the two CAN buses into a standalone network-accessible endpoint and carries SLCAN data through ioLibrary hardware UDP sockets.


Why This Project Matters

From USB-to-CAN to Network CAN

A conventional USB-to-CAN adapter must normally remain physically close to its host computer.

ETH_CANable moves the CAN interface onto Ethernet, creating an architecture that can be useful for:

  • Robot development benches
  • Remote diagnostics
  • Motor-controller testing
  • CAN logging
  • Distributed test equipment
  • Autonomous-system laboratories

Two CAN Buses, One Ethernet Connection

One STM32 and one W5500 expose two independent CAN buses through a single Ethernet interface.

This can be useful in robots that separate drive motors, actuators, sensors, or other embedded subsystems across different CAN segments.

Direct WIZnet ioLibrary Integration

ETH_CANable does more than simply list W5500 in its hardware description.

The application source directly uses WIZnet ioLibrary hardware-socket APIs, making the project a useful reference for:

  • STM32 + W5500
  • CAN-to-Ethernet gateways
  • UDP embedded gateways
  • Robotics diagnostics
  • Distributed test equipment

Built Inside a Complete Robotics Ecosystem

IRIS-ITS develops AI, vision, motion planning, embedded electronics, mechanical systems, and competition operations as part of one autonomous-robot platform.

ETH_CANable therefore illustrates how W5500 can fit into the actual development workflow of a competitive robotics team, rather than serving only as a standalone Ethernet demonstration.


Testing and Current Status

The repository includes working firmware and test code rather than only a concept description.

Publicly available material includes:

  • STM32CubeIDE project
  • Dual FDCAN firmware
  • W5500 ioLibrary integration
  • SLCAN parser
  • UDP transport
  • Error tracking
  • Basic connectivity tests
  • Internal and physical loopback tests
  • Robot motor-control frame tests

test_loopback.py documents a physical CAN1-to-CAN2 test using 120-ohm termination at both ends and verifies frame transfer in both directions.

The README also describes an application-level loopback test using CAN frame formats from the Hitam robot motor-control system, including CANopen SYNC frames, motor commands, and simulated TPDO feedback frames.


Current Limitations

Based on the currently available public material:

  • The repository currently contains only the initial commit reviewed here.
  • There is no tagged release.
  • No completed ETH_CANable hardware photograph or schematic is included.
  • The firmware uses a default static IP and MAC configuration.
  • Responses are returned to the most recently active UDP client.
  • UDP itself does not guarantee delivery or ordering.
  • Authentication and encryption are not implemented.
  • The STM32 uses FDCAN peripherals, but the published frame format is based on Classic CAN.
  • No independent latency, throughput, or packet-loss benchmark is published.
  • The README references LICENSE.md, but that license file was not found in the reviewed repository root.

ETH_CANable is therefore best understood as a working firmware reference and robotics development tool, rather than a finished commercial CAN-to-Ethernet appliance.


Related WIZnet Maker Projects

1. Osaka Univ. RoboHan Gaku-Robo 2025 Circuit Board & Motor Driver

View on WIZnet Maker

Osaka University’s RoboHan 2025 robot main board also combines STM32 + W5500 + dual FDCAN.

The difference is architectural: ETH_CANable is a dedicated bridge for raw CAN access, while the RoboHan board integrates Ethernet, CAN, encoders, and robot I/O into a main robot controller.

ETH_CANable
Ethernet ↔ CAN diagnostic bridge

RoboHan Board
Ethernet + CAN + Robot Main Control

2. Controlling Xiaomi CyberGear via CAN with M5Stack

View on WIZnet Maker

This project uses an ESP32-based M5Stack system to control Xiaomi CyberGear actuators over CAN, with a W5500 + PoE LAN module available for network integration.

ETH_CANable differs by remaining application-neutral: it transports raw CAN frames instead of interpreting a specific motor protocol.

3. W5500Ethernet for STM32

View on WIZnet Maker

W5500Ethernet is a general STM32 networking reference for W5500.

ETH_CANable goes one step further at the application level by using WIZnet ioLibrary UDP sockets in a complete dual-channel CAN gateway.

ProjectW5500 RoleMain Difference
ETH_CANableConnects dual CAN to Ethernet over UDPTransparent CAN gateway
RoboHan Main BoardRobot main-controller networkingFull robot controller
CyberGear CAN ControlNetwork integration for CAN actuator controlApplication-specific motor control
W5500EthernetSTM32 Ethernet connectivityGeneral networking reference

Conclusion

ETH_CANable extends the familiar USB-to-CAN adapter concept into a dual-channel Ethernet CAN interface.

Its architecture combines:

UDP / SLCAN
     │
   W5500
     │
 STM32G474
   ┌─┴─┐
 CAN0 CAN1

The role of W5500 is particularly clear because WIZnet ioLibrary’s socket(), recvfrom(), and sendto() APIs are directly used in the firmware data path.

IRIS-ITS is also an important part of the story. The team uses Instagram to share competitions and development activities, LinkedIn for research, education, and industry collaboration, YouTube for team profiles and qualification videos, and GitHub and its Publications page for source code and deeper technical documentation.

ETH_CANable is both a W5500-based CAN-to-Ethernet bridge and a useful example of how an active university robotics team integrates open-source engineering, competition, and public technical communication.


FAQ

Q. What is ETH_CANable?
A. It is firmware that uses an STM32G474 and W5500 to expose two CAN buses over Ethernet using UDP-based SLCAN.

Q. How is it different from the original CANable?
A. It replaces the USB serial connection with Ethernet/UDP and expands the design from one CAN interface to two independent CAN channels.

Q. Is W5500 actually used in the firmware source?
A. Yes. eth.c directly uses WIZnet ioLibrary functions such as socket(), recvfrom(), and sendto(), while a separate STM32 HAL layer controls W5500 over SPI.

Q. Does it support CAN FD?
A. The STM32 uses FDCAN peripherals, but the currently documented SLCAN protocol and frame formats are based on Classic CAN with payloads of up to eight bytes.

Q. Is it ready to use as a commercial CAN-to-Ethernet gateway?
A. It is currently closer to an open development reference. A tagged release, complete hardware package, independent network benchmarks, and a clearly available project license would still need to be confirmed.


Key Links


Source Snapshot

ItemDetails
ProjectIRIS-ITS/ETH_CANable_Firmware
DeveloperIRIS ITS Robotics Team
Main MCUSTM32G474CBT6
WIZnet productW5500
CAN interfacesFDCAN1 + FDCAN2
CAN modeClassic CAN
Network transportUDP
Application protocolChannel-extended SLCAN
Default IP192.168.3.100
Default UDP port5001
Development environmentSTM32CubeIDE
Reviewed revision3d623df94f0d6ab2f45a6ad9679ae1e9eb76782b
Current source statusFirmware and test scripts published; no tagged release
Review dateAugust 18, 2026

The repository defines ETH_CANable as a transparent dual-channel CAN-to-Ethernet bridge based on STM32G474CBT6 + W5500. It moves the SLCAN concept of the original USB-based CANable onto Ethernet and extends the interface from one CAN channel to two independent FDCAN channels.

Key Sources

 

 

 

ETH_CANable: IRIS-ITS의 W5500 기반 Dual CAN-to-Ethernet Bridge

Summary

ETH_CANable은 STM32G474와 W5500을 이용해 두 개의 CAN 버스를 UDP 기반 SLCAN으로 Ethernet에 연결하는 IRIS-ITS의 오픈소스 로봇 네트워크 도구입니다.


Source Snapshot

항목확인 내용
ProjectIRIS-ITS/ETH_CANable_Firmware
DeveloperIRIS ITS Robotics Team
Main MCUSTM32G474CBT6
WIZnet productW5500
CAN interfacesFDCAN1 + FDCAN2
CAN modeClassic CAN
Network transportUDP
Application protocolChannel-extended SLCAN
Default IP192.168.3.100
Default UDP port5001
Development environmentSTM32CubeIDE
Reviewed revision3d623df94f0d6ab2f45a6ad9679ae1e9eb76782b
Current source statusFirmware와 test scripts 공개, tagged release 없음
Review dateAugust 18, 2026

Repository는 ETH_CANable을 STM32G474CBT6 + W5500 기반 transparent dual-channel CAN-to-Ethernet bridge로 정의합니다. 기존 USB CANable의 SLCAN 개념을 Ethernet으로 옮기고, 하나의 CAN interface를 두 개의 독립 FDCAN channel로 확장했습니다.

Key Sources

ETH_CANable GitHub Repository

README — Hardware, Protocol and Architecture

eth.c — WIZnet ioLibrary UDP implementation

w5500_stm32_hal.c — STM32/W5500 SPI interface

IRIS-ITS Official Website

IRIS-ITS GitHub


Overview

Robot 내부에서는 motor controller, actuator, sensor와 embedded board 사이의 통신에 CAN이 널리 사용됩니다. 반면 개발 PC나 상위 제어시스템은 Ethernet을 사용하는 경우가 많습니다.

ETH_CANable은 이 두 영역을 연결합니다.

기존 USB-to-CAN adapter처럼 PC에 직접 연결하는 대신 W5500을 이용해 두 개의 CAN bus를 Ethernet endpoint로 만들고, PC에서는 UDP를 통해 CAN bitrate 설정, frame 전송 및 bus traffic 수신을 수행합니다.

Development PC / Robot Computer
              │
              │ UDP + SLCAN
              ▼
        WIZnet W5500
              │ SPI
              ▼
       STM32G474CBT6
         ┌────┴────┐
         ▼         ▼
      CAN 0      CAN 1

ETH_CANable은 motor command나 sensor value 자체를 해석하는 application gateway가 아닙니다. Raw CAN frame을 Ethernet과 두 CAN bus 사이에서 전달하는 transparent bridge라는 점이 핵심입니다.


About IRIS-ITS

IRIS — ITS Robot with Intelligent System은 인도네시아 수라바야의 Institut Teknologi Sepuluh Nopember(ITS)를 대표하는 학생 robotics team입니다.

2017년부터 autonomous soccer robot을 개발하며 RoboCup Middle Size League, FIRA RoboWorld Cup, Kontes Robot Indonesia 등의 대회에서 활동해 왔습니다. 팀은 Programming, Electrical, Mechanical, Non-Technical의 네 division으로 구성됩니다.

Division주요 역할
ProgrammingAI, computer vision, navigation, motion planning, strategy
ElectricalPower, sensors, motor controllers, communication networks
MechanicalChassis, drivetrain, kicking mechanism
Non-TechnicalSponsorship, media, events, public relations

특히 ETH_CANable과 직접적으로 연결되는 Electrical Division은 motor controller와 communication network를 개발합니다. IRIS 공식 팀 페이지에는 현재 ETH_CANable repository의 initial commit author와 이름이 대응되는 Ari Rangga Prasetio도 Electrical Division 구성원으로 소개돼 있습니다. 다만 repository 자체는 프로젝트를 개인 소유가 아니라 IRIS-ITS organization project로 공개하고 있습니다.

IRIS GitHub에는 ETH_CANable 외에도 ROS 개발환경, robot base station, referee-box integration, STM32 utility, neural-network 관련 프로젝트 등이 공개돼 있어 하나의 robot을 mechanical·electrical·software layer 전체에서 개발하는 팀이라는 점을 확인할 수 있습니다.


IRIS-ITS on Social Media

IRIS-ITS는 기술개발뿐 아니라 SNS와 대외 커뮤니케이션도 조직적으로 운영하는 팀입니다.

공식 조직에 별도의 Non-Technical Division을 두고 sponsorship, media, event management와 public relations를 담당하게 하고 있다는 점이 특징입니다.

Instagram — Competition, Lab and Team Story

Instagram: @iris.itsrobotic

Instagram은 IRIS가 team activity와 robotics journey를 대중에게 보여주는 대표적인 community channel입니다. 공식 website도 신규 멤버 모집 CTA로 Instagram follow를 직접 연결하고 있습니다.

IRIS의 공개 visual content는 다음 네 범주를 중심으로 구성됩니다.

Competitions

Lab Work

Workshops

Team Life

Robot match만 보여주는 것이 아니라 assembly, soldering, workshop, competition과 team celebration을 함께 보여줍니다.

즉 콘텐츠 흐름은 다음과 같습니다.

Design → Build → Test → Competition → Achievement → Team

완성된 robot만 홍보하기보다 로봇을 만드는 사람과 과정까지 하나의 story로 보여주는 방식입니다.

LinkedIn — Research, Education and Industry Collaboration

LinkedIn: IRIS ITS

LinkedIn은 보다 professional한 communication channel로 활용됩니다.

공개 게시물에서는 다음과 같은 활동을 확인할 수 있습니다.

Student and school visits

Robotics education

Research exhibitions

Robotics Open House

Technical talks

Alumni engagement

Sponsor guest lectures

예를 들어 sponsor인 PT Igus Indonesia와의 guest lecture에서는 sponsor logo만 노출한 것이 아니라 Energy Chain System이라는 실제 산업기술을 교육 콘텐츠와 연결했습니다.

따라서 LinkedIn은 IRIS를 university robotics research와 industry collaboration을 연결하는 팀으로 보여주는 역할을 합니다.

YouTube — Team Profile and Technical Proof

YouTube는 Instagram처럼 일상적인 short-form communication보다는 team profile과 competition qualification을 보여주는 long-form channel에 가깝습니다.

IRIS 공식 사이트에서는 다음 영상을 별도의 media asset으로 소개합니다.

IRIS ITS Team Profile 2026

RoboCup 2026 Qualification Video

RoboCup Qualification Video는 일반 promotional video와 달리 Team Description Paper, Software Flowchart, Mechanical/Electrical documentation과 함께 공식 Research & Publications page에 배치돼 있습니다.

GitHub and Publications — Technical Evidence

GitHub: github.com/IRIS-ITS
Publications: iris.its.ac.id/publications

IRIS는 SNS에서 활동 모습을 보여주는 것에 그치지 않고 qualification video, Team Description Paper, software architecture, mechanical/electrical documentation과 academic publications까지 별도로 공개합니다.

채널별 역할을 정리하면 다음과 같습니다.

Channel주요 역할
InstagramCompetition, lab, team culture, community
LinkedInResearch, education, sponsor and industry relations
YouTubeTeam profile, qualification, long-form evidence
GitHubFirmware and software source
WebsiteTeam, achievements, activities and sponsors
PublicationsTechnical papers and engineering documentation

ETH_CANable이 단순한 개인 prototype이 아니라 실제 autonomous-robot team의 engineering ecosystem에서 나온 프로젝트라는 점을 이해하는 데 이 활동들이 중요한 배경이 됩니다.


What Is ETH_CANable?

ETH_CANable은 기존 open-source CANable adapter의 개념을 Ethernet으로 확장한 dual-channel CAN-to-Ethernet bridge firmware입니다.

Original CANable conceptETH_CANable
USB connectionW5500 Ethernet
Single CAN interfaceDual CAN interfaces
Serial SLCANSLCAN over UDP
Local PC adapterNetwork-accessible CAN endpoint

각 SLCAN command 앞에는 0 또는 1을 붙여 두 CAN channel 중 하나를 선택합니다.

0S6\r  → CAN 0을 500 Kbit/s로 설정
0O\r   → CAN 0 Open
1O\r   → CAN 1 Open

Repository는 10 Kbit/s부터 1 Mbit/s까지의 bitrate와 normal, silent monitoring, internal loopback mode 등을 문서화하고 있습니다.


How It Works

PC Application
      │
      │ UDP / SLCAN
      ▼
 WIZnet W5500
      │ SPI
      ▼
 STM32G474
      │
  SLCAN Parser
    ┌─┴─┐
    ▼   ▼
 CAN 0 CAN 1

Host PC가 UDP port 5001로 SLCAN command를 보내면 STM32가 command와 channel prefix를 해석합니다.

CAN에서 frame이 수신되면 반대로 SLCAN ASCII 형식으로 변환한 뒤 Ethernet을 통해 client에게 전달합니다.

Standard CAN ID와 extended CAN ID, data frame과 remote frame을 지원합니다.


Role of the WIZnet W5500

이 프로젝트에서는 W5500 사용을 README뿐 아니라 실제 firmware source에서 직접 확인할 수 있습니다.

Core/Src/eth.c는 WIZnet ioLibrary를 포함하고 다음 hardware-socket API를 직접 호출합니다.

socket()

recvfrom()

sendto()

Firmware는 W5500 UDP socket을 열고 SLCAN command를 수신한 뒤, CAN에서 돌아온 데이터를 동일한 Ethernet path로 전송합니다.

w5500_stm32_hal.c에서는 SPI1 read/write, chip-select, reset callback을 WIZnet ioLibrary와 연결합니다.

WIZnet ioLibrary
      │
      │ UDP Hardware Socket
      ▼
    W5500
      │ SPI1
      ▼
 STM32G474
      │
      ▼
 Dual CAN

역할을 구분하면 다음과 같습니다.

역할담당
Ethernet MAC / PHYW5500
Hardware UDP socketW5500
SPI 및 network configurationSTM32 firmware
SLCAN parsingSTM32 firmware
CAN TX/RXSTM32 FDCAN
CAN message의 실제 application 의미Host / Robot software

W5500은 두 개의 CAN bus를 Ethernet에서 접근 가능한 standalone network endpoint로 만들고, ioLibrary hardware UDP socket을 통해 SLCAN 데이터를 전달합니다.


Why This Project Matters

From USB-to-CAN to Network CAN

일반 USB-to-CAN adapter는 host computer와 물리적으로 가까운 곳에 연결해야 합니다.

ETH_CANable은 CAN interface를 Ethernet endpoint로 만들어 robot development bench, remote diagnostics, motor-controller testing, CAN logging과 distributed test equipment 같은 환경으로 사용범위를 확장할 수 있는 구조를 제공합니다.

Two CAN Buses, One Ethernet Connection

하나의 STM32와 하나의 W5500을 통해 두 개의 독립 CAN bus를 관리할 수 있다는 점도 특징입니다.

Drive motors, actuator network 또는 별도의 embedded subsystem처럼 여러 CAN segment를 가진 robot에서 하나의 Ethernet endpoint를 진단창구로 활용할 수 있습니다.

Direct WIZnet ioLibrary Integration

ETH_CANable은 W5500을 단순히 hardware list에 올린 프로젝트가 아닙니다.

실제 application source에서 WIZnet ioLibrary의 socket API를 직접 사용하기 때문에 다음 분야에서 명확한 reference가 됩니다.

STM32 + W5500

CAN-to-Ethernet gateway

UDP embedded gateway

Robotics diagnostics

Distributed test equipment

Built Inside a Complete Robotics Ecosystem

IRIS-ITS는 CAN firmware만 개발하는 팀이 아니라 AI, vision, motion planning, embedded electronics, mechanical design과 competition operation을 함께 수행합니다.

따라서 ETH_CANable은 W5500이 실제 autonomous-robot development workflow의 network tool로 적용된 사례라는 점에서 의미가 있습니다.


Testing and Current Status

Repository에는 concept 설명뿐 아니라 실제 firmware와 test code가 포함돼 있습니다.

공개된 주요 자료는 다음과 같습니다.

STM32CubeIDE project

Dual FDCAN firmware

W5500 ioLibrary integration

SLCAN parser

UDP transport

Error tracking

Basic connectivity test

Internal/physical loopback tests

Robot motor-control frame test

test_loopback.py는 CAN1과 CAN2를 연결하고 양쪽에 120Ω termination을 구성한 뒤 CAN 0 → CAN 1, CAN 1 → CAN 0 양방향 frame 전달을 확인하도록 작성돼 있습니다.

README에는 실제 Hitam robot motor-control format을 이용하는 application-level loopback test도 설명되어 있습니다. CANopen SYNC, motor command, simulated TPDO feedback frame 등을 시험 대상으로 사용합니다.


Current Limitations

현재 공개자료 기준으로 다음 사항은 고려해야 합니다.

Repository에는 현재 initial commit 한 개만 확인됨

Tagged release 없음

완성된 ETH_CANable hardware 사진과 schematic 없음

Default static IP와 MAC configuration 사용

마지막으로 통신한 UDP client를 대상으로 response 전송

UDP 자체에는 delivery와 ordering 보장이 없음

Authentication과 encryption 없음

STM32 FDCAN peripheral을 사용하지만 공개 frame format은 Classic CAN 기준

Independent latency, throughput 또는 packet-loss benchmark 없음

README는 LICENSE.md를 언급하지만 검토한 repository root에서는 해당 license file을 확인하지 못함

따라서 현재 ETH_CANable은 finished commercial appliance라기보다 실제 robotics 환경을 위해 구현되고 test code까지 공개된 firmware reference / development tool로 보는 것이 적절합니다.


Related WIZnet Maker Projects

1. Osaka Univ. RoboHan Gaku-Robo 2025 Circuit Board & Motor Driver

View on WIZnet Maker

Osaka University RoboHan의 2025 robot main board 역시 STM32 + W5500 + dual FDCAN이라는 유사한 hardware 구성을 사용합니다. 하지만 ETH_CANable이 raw CAN access를 위한 dedicated bridge인 데 비해 RoboHan board는 encoder와 robot I/O까지 통합한 main controller입니다.

ETH_CANable
Ethernet ↔ CAN diagnostic bridge

RoboHan Board
Ethernet + CAN + Robot Main Control

2. Controlling Xiaomi CyberGear via CAN with M5Stack

View on WIZnet Maker

이 프로젝트는 ESP32 기반 M5Stack으로 Xiaomi CyberGear actuator를 CAN으로 제어하고, W5500 + PoE LAN module을 network integration option으로 활용합니다.

ETH_CANable은 특정 motor를 제어하지 않고 raw CAN frame을 전달한다는 차이가 있습니다.

3. W5500Ethernet for STM32

View on WIZnet Maker

W5500Ethernet은 STM32 환경에서 W5500을 사용하기 위한 범용 Ethernet software reference입니다. ETH_CANable은 그보다 application layer가 구체적이며 WIZnet ioLibrary UDP socket을 dual-CAN gateway에 직접 적용합니다.

ProjectW5500 역할주요 차이
ETH_CANableDual CAN을 UDP로 Ethernet에 연결Transparent CAN gateway
RoboHan Main BoardRobot main-controller networkingFull robot controller
CyberGear CAN ControlCAN actuator의 network integrationApplication-specific motor control
W5500EthernetSTM32 Ethernet connectivityGeneral networking reference

Conclusion

ETH_CANable은 기존 USB-to-CAN adapter의 개념을 dual-channel Ethernet CAN interface로 확장한 IRIS-ITS의 robotics project입니다.

구성은 명확합니다.

UDP / SLCAN
     │
   W5500
     │
 STM32G474
   ┌─┴─┐
 CAN0 CAN1

특히 WIZnet ioLibrary의 socket(), recvfrom(), sendto()가 실제 data path에서 사용되기 때문에 W5500의 역할을 source 수준에서 직접 확인할 수 있습니다.

프로젝트를 만든 IRIS-ITS 역시 중요한 부분입니다. IRIS는 autonomous soccer robot을 개발하는 student robotics team으로, Instagram에서는 competition과 team development를 보여주고, LinkedIn에서는 research·education·industry collaboration을 소개하며, YouTube에서는 qualification과 team-profile 영상을 제공하고, GitHub와 Publications에서는 source code와 technical documentation을 공개합니다.

ETH_CANable은 W5500을 이용한 CAN-to-Ethernet bridge인 동시에, 연구·대회·오픈소스·대외 커뮤니케이션을 함께 운영하는 IRIS-ITS의 robotics development ecosystem을 보여주는 좋은 UCC 사례입니다.


FAQ

Q. ETH_CANable은 무엇인가요?
A. STM32G474와 W5500을 이용해 두 개의 CAN bus를 UDP 기반 SLCAN으로 Ethernet에 연결하는 firmware입니다.

Q. 기존 CANable과 무엇이 다른가요?
A. 기존 USB serial connection을 Ethernet/UDP로 바꾸고, 하나의 CAN interface를 두 개의 독립 CAN channel로 확장했습니다.

Q. W5500이 실제 firmware에서 사용되나요?
A. 네. eth.c에서 WIZnet ioLibrary의 socket(), recvfrom(), sendto()를 직접 사용하고 있으며, 별도의 STM32 HAL layer에서 W5500 SPI와 reset을 제어합니다.

Q. CAN FD를 지원하나요?
A. STM32의 FDCAN peripheral을 사용하지만 현재 공개된 SLCAN protocol과 frame 형식은 최대 8-byte payload의 Classic CAN을 기준으로 합니다.

Q. 상용 CAN-Ethernet gateway로 바로 사용할 수 있나요?
A. 현재는 firmware와 test scripts가 공개된 development reference에 가깝습니다. Tagged release, hardware package, independent network benchmark와 명확한 license file은 추가 확인이 필요합니다.


Key Links

Project: ETH_CANable Firmware

IRIS GitHub: github.com/IRIS-ITS

Official Website: iris.its.ac.id

Instagram: @iris.itsrobotic

LinkedIn: IRIS ITS

Research & Publications: iris.its.ac.id/publications

YouTube – Team Profile 2026: Watch

YouTube – RoboCup 2026 Qualification: Watch

Documents
Comments Write