Skip to content

How Does W55RP20 Ethernet Control Ocupoint RF Frontends?

Ocupoint rf-control uses W55RP20 Ethernet and Go protobuf tools to configure Black Canyon, STRAPS, and Whalepod RF frontends.

Benjamin

Published July 09, 2026 ยท ยฉ MIT license (MIT)

Original author: Ocupoint Inc ยท United States of AmericaOriginal source (new tab)

How Does W55RP20 Ethernet Control Ocupoint RF Frontends?

Components

Hardware components

Project description

๐Ÿ“Œ Overview

Ocupoint Inc is a US RF engineering company whose public site describes work around high-performance Electronic Warfare systems and RF front-end/tuner hardware. Its public GitHub repository rf-control was created on May 12, 2026 and was still active in early July 2026.

Direct answer: rf-control is a Go command-line tool and Go client library for configuring Ocupoint Ethernet-controlled RF frontends: Black Canyon, STRAPS, Whalepod, and related RF switch hardware.

The WIZnet point is unusually concrete. The repository's firmware guide states that the Ocupoint eval boards run on a WIZnet W55RP20-EVB-Pico, described there as RP2040 plus W5500 Ethernet. The host tool can talk to that board over TCP port 5000, or over the second USB CDC interface when the network side is not reachable yet.

In plain terms, a PC can send typed control messages to a small WIZnet-based board, and that board acts as the control plane for RF hardware settings such as attenuation, calibration source, channels, switches, PLL frequency, RF band presets, and network configuration.

Whalepod test setup with WIZnet W55RP20-EVB-Pico mounted on the board and Ethernet connected Repository photo: Whalepod test setup with the WIZnet W55RP20-EVB-Pico visible on the lower-left side of the board.

Project Context and Key Terms

An RF frontend is the hardware near the antenna or RF signal path: filters, switches, attenuators, mixers, amplifiers, calibration paths, and local oscillator circuits. In this repository, the host software does not process RF samples. It configures the RF path.

rf-control uses Protocol Buffers, or protobuf, as the message format. Instead of sending loose strings, the host sends typed packets such as SetAttenuationRequest, SetCalSourceRequest, SetPllFrequencyRequest, SetRfBandRequest, and GetStatusRequest. That makes the tool useful both as a human CLI and as a scriptable automation interface.

Generated illustration of a laptop controlling an RF frontend through a WIZnet Ethernet board Generated illustration: host-side Ethernet control of an RF frontend through a compact WIZnet-based controller.

What the Host Tool Controls

The README presents rf-control as a single-binary CLI with no runtime dependencies. Release assets are provided for Linux, macOS, and Windows on both amd64 and arm64. The latest public release observed on July 9, 2026 was v0.2.0, published on June 16, 2026, while commits after that release add more STRAPS host-side controls.

The tool has three important operating modes:

  • USB discovery and USB control, useful when a fresh board has an unknown address.
  • TCP control over port 5000, used when the W55RP20 board is reachable over Ethernet.
  • JSON batch apply, designed so Python or other automation scripts can call one binary and parse clean JSON from stdout.

Generated technical diagram showing the command scope of rf-control Generated technical diagram: network setup, Whalepod calibration, STRAPS RF tuning, and automation hooks exposed by the host tool.

The RF-specific commands are not just cosmetic toggles. The README and source code show Whalepod calibration source selection, calibration mode, frontend and calibration-path attenuation, STRAPS PLL frequency, RF band presets, and SP8T RF switch channel control. The Whalepod helper in client/whalepod.go also shows a higher-level pattern: read current state, change a few fields, then write the sequence back safely.

Architecture and Data Flow

The system is easiest to read as a host-to-control-board-to-RF-front-end chain:

  1. A host computer runs rf-control or imports the Go client package.
  2. The host chooses TCP or USB.
  3. The transport carries protobuf Packet messages.
  4. The W55RP20-EVB-Pico control board receives the request.
  5. Firmware applies the request to the appropriate RF board behavior.
  6. The host receives a typed status, config, or error response.

Generated technical diagram showing host, transport, W55RP20-EVB-Pico, and RF frontend blocks Generated technical diagram: rf-control connects a host tool to Ocupoint RF frontend hardware through the W55RP20-EVB-Pico control board.

The repository supports multiple board personalities. docs/firmware/README.md lists Black Canyon, STRAPS, and Whalepod UF2 files, each with an mDNS hostname. The protocol adds status fields such as board_type so tools can know which values are meaningful for a given hardware variant.

For Whalepod specifically, the setup guide shows a physical Ethernet cable, 12 V bench power, RF cable assemblies, and TCP port 5000. The RF cable map below shows why a structured host-side control path matters: the board is not a tiny demo circuit, but part of a multi-channel RF signal path.

Whalepod RF cable map from the repository showing input cables, frontends, and output cables Repository diagram: Whalepod RF cable map connecting input channels, frontend slots, and UHF/VHF outputs.

โš™๏ธ Role of the WIZnet Chip

WIZnet role: The W55RP20-EVB-Pico is the shared Ethernet control board for Ocupoint eval boards, and the W5500 Ethernet path carries raw protobuf packets over TCP port 5000.

The repository gives three independent pieces of WIZnet evidence:

  • docs/firmware/README.md names the control board as WIZnet W55RP20-EVB-Pico and describes it as RP2040 plus W5500 Ethernet.
  • README.md says TCP transport uses raw protobuf without the USB frame header, with the W5500 TCP socket boundary acting as the message boundary.
  • main.go describes the program as a WIZnet Pico RF control tool, and client/transport.go implements the TCP and USB transport choices.

This is more interesting than a generic Ethernet example because the WIZnet device is not just serving a web page. It is the network boundary for a test and control instrument. The host can set IP configuration, ask for status, change RF attenuation, select calibration paths, and drive STRAPS tuning commands through a typed API.

Generated technical diagram comparing USB CDC1 framing and TCP transport through W5500 Generated technical diagram: the same protobuf control protocol travels over USB CDC1 framing or over the W5500 TCP socket path.

Evidence from the Repository Timeline

The commit history shows the project moving from a unified control library into a more reusable host-side tool:

  • May 12, 2026: initial unified control library, Whalepod setup docs, firmware reflash guide, and Whalepod test images.
  • May 19, 2026: the project was converted into a single-binary Go control tool and v0.1.0 was published.
  • June 16, 2026: v0.2.0 was published, with calibration-source work and Whalepod RF diagram/test artifacts in the same period.
  • July 1-2, 2026: an importable Go client package, Whalepod library example, EEPROM/RF-switch methods, typed ErrorResponse, and JSON apply command were added.
  • July 7, 2026: STRAPS PLL/band controls and host-side clock-source selection were added.

The latest clock-source feature is a useful example of source boundaries. control.proto and the README say the host-side SetClockSource API exists, but the firmware handler is still pending. Until the firmware supports it, the device can return an unsupported error.

Source limit: This public repository includes host-side code, documentation, images, and UF2 firmware binaries. It does not include the firmware source, and at least one newest host-side command is documented as pending firmware support.

Whalepod validation plot from the repository showing a 2026-06-10 pre-ship validation session Repository image: Whalepod baseboard pre-ship validation plot from the public test data folder.

Where It Fits: Value and Limits

For WIZnet readers, the reusable pattern is Ethernet as the control plane for RF test hardware. A compact W55RP20 board sits between a host application and the RF frontend, so the RF board can be controlled from a bench PC, an automated test script, or another lab system without building a custom network stack in each host application.

The Go library angle is also valuable. A future test harness can import github.com/OcupointInc/rf-control/client, choose NewTCPTransport(host, 5000), call typed methods, and distinguish transport failure from a device-level error. That is the kind of structure that turns a board demo into a repeatable engineering workflow.

The limits are important. This is not a general consumer product page, and the repository does not prove field deployment, production certification, or complete RF specifications. It is best read as a public host-control reference for Ocupoint RF evaluation hardware, with strong WIZnet evidence and a clear W55RP20/W5500 data path.

Related WIZnet Maker Reading Path

If you want another W55RP20 control example, start with How W55RP20 Can Add Industrial Ethernet Control to an Automated Variac and Stepper System. That article is about motorized voltage-control hardware, not RF frontends, but it shares the same idea of using W55RP20 as the Ethernet control point for bench or industrial equipment.

For the TCP-server side of the story, How to Build a Reliable Industrial TCP Server with WIZnet W5500 on an MCU Platform? pairs well with this post. The Ocupoint repo focuses on a specific RF command protocol, while that post helps readers think about robust W5500 TCP behavior on MCU hardware.

For a different RF-domain use of W5500, see How Does W5500 Stream 8-Channel RF Data for Drone Detection?. That patent-oriented article uses W5500 for RF data movement into an AI detection flow. This Ocupoint post uses W55RP20/W5500 for command and control of RF frontends, so the two articles show different roles for wired Ethernet in RF systems.

Source-backed Summary

rf-control is a current Ocupoint host-control repository for Ethernet-controlled RF frontends. Its most important Maker value is that the source directly connects the WIZnet W55RP20-EVB-Pico and W5500 TCP path to a real RF control workflow: protobuf packets, TCP port 5000, USB fallback, Go client methods, JSON automation, and Whalepod/STRAPS-specific commands. The public limits are also clear: firmware source is not included, and some latest host APIs are ahead of firmware support.

โ“ FAQ

Q. What is Ocupoint rf-control? rf-control is a Go CLI and Go client library for configuring Ocupoint Ethernet-controlled RF frontends such as Black Canyon, STRAPS, and Whalepod.

Q. Which WIZnet product is used? The repository's firmware guide names the shared control board as WIZnet W55RP20-EVB-Pico, described there as RP2040 plus W5500 Ethernet.

Q. What does W5500 do in this project? The W5500 Ethernet path carries raw protobuf control messages over TCP port 5000. USB CDC1 is available as a local fallback when Ethernet is not reachable.

Q. Is this only a command-line utility? No. The CLI wraps an importable Go client package, so test tools can use typed methods such as GetConfig, GetStatus, SetAttenuation, SetCalSource, SetPllFrequency, and SetRfBand.

Q. What should readers be careful about? The public repo includes host code, docs, images, and UF2 firmware binaries, but not the firmware source. The newest STRAPS clock-source command is documented as host-side only until firmware support lands.

ํ•œ๊ตญ์–ด (Korean)

๐Ÿ“Œ ๊ฐœ์š”

Ocupoint Inc๋Š” ๋ฏธ๊ตญ์˜ RF ์—”์ง€๋‹ˆ์–ด๋ง ํšŒ์‚ฌ๋กœ, ๊ณต์‹ ์‚ฌ์ดํŠธ์—์„œ ๊ณ ์„ฑ๋Šฅ Electronic Warfare ์‹œ์Šคํ…œ๊ณผ RF front-end/tuner ํ•˜๋“œ์›จ์–ด๋ฅผ ๋‹ค๋ฃฌ๋‹ค๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐœ GitHub ์ €์žฅ์†Œ rf-control์€ 2026๋…„ 5์›” 12์ผ ์ƒ์„ฑ๋˜์—ˆ๊ณ , 2026๋…„ 7์›” ์ดˆ๊นŒ์ง€๋„ ์ปค๋ฐ‹์ด ์ด์–ด์ง„ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

ํ•œ ์ค„๋กœ ๋งํ•˜๋ฉด: rf-control์€ Black Canyon, STRAPS, Whalepod ๊ฐ™์€ Ocupoint RF ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ Go ๊ธฐ๋ฐ˜ CLI์ด์ž Go client library์ž…๋‹ˆ๋‹ค.

WIZnet ๊ด€์ ์˜ ๊ทผ๊ฑฐ๋Š” ๊ฝค ์ง์ ‘์ ์ž…๋‹ˆ๋‹ค. ์ €์žฅ์†Œ์˜ firmware guide๋Š” Ocupoint eval board๋“ค์ด WIZnet W55RP20-EVB-Pico, ์ฆ‰ RP2040 + W5500 Ethernet ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ๋„๊ตฌ๋Š” ์ด ๋ณด๋“œ์™€ TCP 5000๋ฒˆ ํฌํŠธ๋กœ ํ†ต์‹ ํ•˜๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ๊ฐ€ ์•„์ง ์žกํžˆ์ง€ ์•Š์•˜์„ ๋•Œ ๋‘ ๋ฒˆ์งธ USB CDC ์ธํ„ฐํŽ˜์ด์Šค๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•ด PC๊ฐ€ WIZnet ๊ธฐ๋ฐ˜ ์†Œํ˜• ์ œ์–ด ๋ณด๋“œ์— ์ •ํ˜•ํ™”๋œ control message๋ฅผ ๋ณด๋‚ด๊ณ , ์ด ๋ณด๋“œ๊ฐ€ RF ํ•˜๋“œ์›จ์–ด์˜ attenuation, calibration source, channel, switch, PLL frequency, RF band preset, network configuration ๊ฐ™์€ ์„ค์ •์„ ๋ฐ”๊พธ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

Whalepod ํ…Œ์ŠคํŠธ ๋ณด๋“œ์— WIZnet W55RP20-EVB-Pico๊ฐ€ ์žฅ์ฐฉ๋˜๊ณ  Ethernet์ด ์—ฐ๊ฒฐ๋œ ์‚ฌ์ง„ ์ €์žฅ์†Œ ์‚ฌ์ง„: Whalepod ํ…Œ์ŠคํŠธ ๋ณด๋“œ ์ขŒ์ธก ํ•˜๋‹จ์— WIZnet W55RP20-EVB-Pico๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ๋งฅ๋ฝ๊ณผ ํ•ต์‹ฌ ์šฉ์–ด

RF frontend๋Š” ์•ˆํ…Œ๋‚˜๋‚˜ RF ์‹ ํ˜ธ ๊ฒฝ๋กœ ๊ฐ€๊นŒ์ด์— ์žˆ๋Š” ํ•˜๋“œ์›จ์–ด๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ํ•„ํ„ฐ, ์Šค์œ„์น˜, attenuator, mixer, amplifier, calibration path, local oscillator ๊ฐ™์€ ๋ถ€ํ’ˆ๋“ค์ด ์—ฌ๊ธฐ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์ด ์ €์žฅ์†Œ๋Š” RF ์ƒ˜ํ”Œ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ, RF ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

rf-control์€ ๋ฉ”์‹œ์ง€ ํฌ๋งท์œผ๋กœ Protocol Buffers, ์ฆ‰ protobuf๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœ ๋ฌธ์ž์—ด ๋ช…๋ น์„ ๋ณด๋‚ด๋Š” ๋Œ€์‹  SetAttenuationRequest, SetCalSourceRequest, SetPllFrequencyRequest, SetRfBandRequest, GetStatusRequest ๊ฐ™์€ typed packet์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‚ฌ๋žŒ์ด ์“ฐ๋Š” CLI์ด๋ฉด์„œ ๋™์‹œ์— ์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ์—์„œ ์“ฐ๊ธฐ ์ข‹์€ ์ œ์–ด ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋…ธํŠธ๋ถ์ด WIZnet Ethernet ๋ณด๋“œ๋ฅผ ํ†ตํ•ด RF frontend๋ฅผ ์ œ์–ดํ•˜๋Š” ์ƒ์„ฑ ์ผ๋Ÿฌ์ŠคํŠธ Generated illustration: WIZnet ๊ธฐ๋ฐ˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด RF frontend๋ฅผ Ethernet์œผ๋กœ ์ œ์–ดํ•˜๋Š” ๊ฐœ๋… ์ด๋ฏธ์ง€.

ํ˜ธ์ŠคํŠธ ๋„๊ตฌ๊ฐ€ ์ œ์–ดํ•˜๋Š” ๊ฒƒ

README๋Š” rf-control์„ ๋Ÿฐํƒ€์ž„ ์˜์กด์„ฑ์ด ์—†๋Š” single-binary CLI๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Linux, macOS, Windows์šฉ amd64/arm64 ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ๋ฆด๋ฆฌ์ฆˆ ์ž์‚ฐ์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. 2026๋…„ 7์›” 9์ผ ํ™•์ธ ๊ธฐ์ค€ ์ตœ์‹  ๊ณต๊ฐœ ๋ฆด๋ฆฌ์ฆˆ๋Š” 2026๋…„ 6์›” 16์ผ ๊ณต๊ฐœ๋œ v0.2.0์ด๊ณ , ๊ทธ ์ดํ›„ ์ปค๋ฐ‹์—์„œ๋Š” STRAPS ๊ด€๋ จ host-side ์ œ์–ด ๊ธฐ๋Šฅ์ด ๋” ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋™์ž‘ ๋ชจ๋“œ๋Š” ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

  • USB discovery์™€ USB ์ œ์–ด: ์ƒˆ ๋ณด๋“œ์˜ ์ฃผ์†Œ๋ฅผ ๋ชจ๋ฅผ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • TCP 5000๋ฒˆ ํฌํŠธ ์ œ์–ด: W55RP20 ๋ณด๋“œ๊ฐ€ Ethernet์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • JSON batch apply: Python ๋“ฑ ์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  stdout์˜ JSON๋งŒ ์•ˆ์ •์ ์œผ๋กœ ํŒŒ์‹ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

rf-control์ด ์ œ๊ณตํ•˜๋Š” ๋ช…๋ น ๋ฒ”์œ„๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์ƒ์„ฑ ๊ธฐ์ˆ  ๋‹ค์ด์–ด๊ทธ๋žจ Generated technical diagram: ๋„คํŠธ์›Œํฌ ์„ค์ •, Whalepod calibration, STRAPS RF tuning, ์ž๋™ํ™” hook์„ ์ •๋ฆฌํ•œ ์ด๋ฏธ์ง€.

RF ๊ด€๋ จ ๋ช…๋ น์€ ๋‹จ์ˆœ ํ† ๊ธ€ ์ˆ˜์ค€์ด ์•„๋‹™๋‹ˆ๋‹ค. README์™€ ์†Œ์Šค ์ฝ”๋“œ๋Š” Whalepod calibration source, calibration mode, frontend ๋ฐ calibration-path attenuation, STRAPS PLL frequency, RF band preset, SP8T RF switch channel ์ œ์–ด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. client/whalepod.go์˜ helper๋Š” ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์ฝ๊ณ , ํ•„์š”ํ•œ ํ•„๋“œ๋งŒ ๋ฐ”๊พผ ๋’ค, ์•ˆ์ „ํ•œ ์ˆœ์„œ๋กœ ๋‹ค์‹œ ์“ฐ๋Š” ํŒจํ„ด๋„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ ํ๋ฆ„

์ „์ฒด ๊ตฌ์กฐ๋Š” host-to-control-board-to-RF-front-end ์ฒด์ธ์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ์‰ฝ์Šต๋‹ˆ๋‹ค.

  1. PC์—์„œ rf-control์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ Go client package๋ฅผ importํ•ฉ๋‹ˆ๋‹ค.
  2. ํ˜ธ์ŠคํŠธ๊ฐ€ TCP ๋˜๋Š” USB ์ „์†ก ๋ฐฉ์‹์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ์ „์†ก ๊ฒฝ๋กœ๋Š” protobuf Packet ๋ฉ”์‹œ์ง€๋ฅผ ์šด๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค.
  4. W55RP20-EVB-Pico ์ œ์–ด ๋ณด๋“œ๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
  5. firmware๊ฐ€ ๋ณด๋“œ ์ข…๋ฅ˜์— ๋งž๋Š” RF ์„ค์ •์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  6. ํ˜ธ์ŠคํŠธ๋Š” typed status, config, error response๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

host, transport, W55RP20-EVB-Pico, RF frontend ๋ธ”๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” ์ƒ์„ฑ ๊ธฐ์ˆ  ๋‹ค์ด์–ด๊ทธ๋žจ Generated technical diagram: rf-control์ด W55RP20-EVB-Pico ์ œ์–ด ๋ณด๋“œ๋ฅผ ํ†ตํ•ด Ocupoint RF frontend์™€ ์—ฐ๊ฒฐ๋˜๋Š” ๊ตฌ์กฐ.

์ €์žฅ์†Œ๋Š” ์—ฌ๋Ÿฌ board personality๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. docs/firmware/README.md๋Š” Black Canyon, STRAPS, Whalepod UF2 ํŒŒ์ผ๊ณผ ๊ฐ๊ฐ์˜ mDNS hostname์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. protocol์—๋Š” board_type ๊ฐ™์€ status field๊ฐ€ ์žˆ์–ด, host tool์ด ํ˜„์žฌ ๋ณด๋“œ์—์„œ ์–ด๋–ค ๊ฐ’์ด ์˜๋ฏธ ์žˆ๋Š”์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Whalepod ๊ธฐ์ค€์œผ๋กœ ๋ณด๋ฉด setup guide์—๋Š” ์‹ค์ œ Ethernet cable, 12 V bench power, RF cable assembly, TCP 5000๋ฒˆ ํฌํŠธ๊ฐ€ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ RF cable map์„ ๋ณด๋ฉด ๊ตฌ์กฐํ™”๋œ host-side control path๊ฐ€ ์™œ ์ค‘์š”ํ•œ์ง€ ๋” ์ž˜ ๋ณด์ž…๋‹ˆ๋‹ค. ์ด ๋ณด๋“œ๋Š” ์ž‘์€ ๋ฐ๋ชจ ํšŒ๋กœ๊ฐ€ ์•„๋‹ˆ๋ผ multi-channel RF signal path์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

์ €์žฅ์†Œ์˜ Whalepod RF cable map: input cable, frontend, output cable ์—ฐ๊ฒฐ ๊ตฌ์กฐ ์ €์žฅ์†Œ ๋‹ค์ด์–ด๊ทธ๋žจ: Whalepod input channel, frontend slot, UHF/VHF output ์—ฐ๊ฒฐ ๋งต.

โš™๏ธ WIZnet ์นฉ์˜ ์—ญํ• 

WIZnet ์—ญํ• : W55RP20-EVB-Pico๋Š” Ocupoint eval board๋“ค์˜ ๊ณตํ†ต Ethernet control board์ด๋ฉฐ, W5500 Ethernet ๊ฒฝ๋กœ๋Š” TCP 5000๋ฒˆ ํฌํŠธ๋กœ raw protobuf packet์„ ์šด๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค.

์ €์žฅ์†Œ์—๋Š” WIZnet ๊ทผ๊ฑฐ๊ฐ€ ์„ธ ๊ฐ€์ง€๋กœ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค.

  • docs/firmware/README.md๋Š” control board๋ฅผ WIZnet W55RP20-EVB-Pico๋ผ๊ณ  ๋ถ€๋ฅด๊ณ , RP2040 + W5500 Ethernet ๊ตฌ์กฐ๋ผ๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
  • README.md๋Š” TCP transport๊ฐ€ USB frame header ์—†์ด raw protobuf๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, W5500 TCP socket boundary๊ฐ€ message boundary๋ผ๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
  • main.go๋Š” ์ด ํ”„๋กœ๊ทธ๋žจ์„ WIZnet Pico RF control tool๋กœ ์„ค๋ช…ํ•˜๊ณ , client/transport.go๋Š” TCP์™€ USB ์ „์†ก ๋ฐฉ์‹์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ ์ด ์ผ๋ฐ˜ Ethernet ์˜ˆ์ œ๋ณด๋‹ค ๋” ํฅ๋ฏธ๋กญ์Šต๋‹ˆ๋‹ค. WIZnet ์žฅ์น˜๊ฐ€ ๋‹จ์ˆœํžˆ ์›น ํŽ˜์ด์ง€๋ฅผ ๋„์šฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ…Œ์ŠคํŠธ ์žฅ๋น„์™€ RF ์ œ์–ด ์žฅ๋น„์˜ network boundary๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ๋Š” IP ์„ค์ •, ์ƒํƒœ ์กฐํšŒ, RF attenuation ๋ณ€๊ฒฝ, calibration path ์„ ํƒ, STRAPS tuning ๋ช…๋ น์„ typed API๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

USB CDC1 framing๊ณผ W5500 TCP transport๋ฅผ ๋น„๊ตํ•˜๋Š” ์ƒ์„ฑ ๊ธฐ์ˆ  ๋‹ค์ด์–ด๊ทธ๋žจ Generated technical diagram: ๊ฐ™์€ protobuf control protocol์ด USB CDC1 framing ๋˜๋Š” W5500 TCP socket ๊ฒฝ๋กœ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

์ €์žฅ์†Œ ํƒ€์ž„๋ผ์ธ์—์„œ ํ™•์ธ๋˜๋Š” ๊ทผ๊ฑฐ

์ปค๋ฐ‹ ํ๋ฆ„์„ ๋ณด๋ฉด ์ด ํ”„๋กœ์ ํŠธ๋Š” ๋‹จ์ˆœํ•œ ์ดˆ์•ˆ์—์„œ reusable host-side tool๋กœ ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • 2026๋…„ 5์›” 12์ผ: ์ดˆ๊ธฐ unified control library, Whalepod setup docs, firmware reflash guide, Whalepod test image๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 2026๋…„ 5์›” 19์ผ: single-binary Go control tool๋กœ ์ „ํ™˜๋˜์—ˆ๊ณ  v0.1.0์ด ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 2026๋…„ 6์›” 16์ผ: v0.2.0์ด ๊ณต๊ฐœ๋˜์—ˆ๊ณ , ๊ฐ™์€ ์‹œ๊ธฐ calibration-source ์ž‘์—…๊ณผ Whalepod RF diagram/test artifact๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 2026๋…„ 7์›” 1-2์ผ: import ๊ฐ€๋Šฅํ•œ Go client package, Whalepod library example, EEPROM/RF-switch method, typed ErrorResponse, JSON apply command๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 2026๋…„ 7์›” 7์ผ: STRAPS PLL/band ์ œ์–ด์™€ host-side clock-source selection์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  clock-source ๊ธฐ๋Šฅ์€ source boundary๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์ข‹์€ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค. control.proto์™€ README์—๋Š” host-side SetClockSource API๊ฐ€ ์žˆ์ง€๋งŒ, firmware handler๋Š” ์•„์ง pending์ด๋ผ๊ณ  ๊ธฐ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ firmware๊ฐ€ ์ง€์›ํ•˜๊ธฐ ์ „์—๋Š” device๊ฐ€ unsupported error๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๋ฃŒ ํ•œ๊ณ„: ์ด ๊ณต๊ฐœ ์ €์žฅ์†Œ์—๋Š” host-side code, ๋ฌธ์„œ, ์ด๋ฏธ์ง€, UF2 firmware binary๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ firmware source๋Š” ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๊ณ , ์ผ๋ถ€ ์ตœ์‹  host-side ๋ช…๋ น์€ ์•„์ง firmware support pending์œผ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ €์žฅ์†Œ์˜ 2026-06-10 Whalepod pre-ship validation plot ์ €์žฅ์†Œ ์ด๋ฏธ์ง€: public test data ํด๋”์— ํฌํ•จ๋œ Whalepod baseboard pre-ship validation plot.

์ ์šฉ ๊ฐ€์น˜์™€ ํ•œ๊ณ„

WIZnet ๋…์ž์—๊ฒŒ ์ด ํ”„๋กœ์ ํŠธ์˜ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŒจํ„ด์€ RF test hardware๋ฅผ ์œ„ํ•œ Ethernet control plane์ž…๋‹ˆ๋‹ค. ์ž‘์€ W55RP20 ๋ณด๋“œ๊ฐ€ host application๊ณผ RF frontend ์‚ฌ์ด์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, bench PC, ์ž๋™ํ™” test script, lab system์ด ๋ณ„๋„์˜ ๋„คํŠธ์›Œํฌ ์Šคํƒ์„ ๋งค๋ฒˆ ๋งŒ๋“ค์ง€ ์•Š๊ณ  RF ์žฅ๋น„๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Go library ๊ด€์ ๋„ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ–ฅํ›„ test harness๋Š” github.com/OcupointInc/rf-control/client๋ฅผ importํ•˜๊ณ , NewTCPTransport(host, 5000)์„ ์„ ํƒํ•œ ๋’ค, typed method๋ฅผ ํ˜ธ์ถœํ•˜๊ณ , transport failure์™€ device-level error๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ๋ณด๋“œ ๋ฐ๋ชจ๋ฅผ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ engineering workflow๋กœ ๋ฐ”๊พธ๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋งŒ ํ•œ๊ณ„๋„ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ €์žฅ์†Œ๋Š” ์ผ๋ฐ˜ ์†Œ๋น„์ž์šฉ ์ œํ’ˆ ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹ˆ๋ฉฐ, field deployment, production certification, ์™„์ „ํ•œ RF specification์„ ์ฆ๋ช…ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ ์ ˆํ•œ ํ•ด์„์€ Ocupoint RF evaluation hardware๋ฅผ ์œ„ํ•œ ๊ณต๊ฐœ host-control reference์ด๋ฉฐ, W55RP20/W5500 data path๊ฐ€ ๋ช…ํ™•ํ•œ ์‚ฌ๋ก€๋ผ๋Š” ์ ์ž…๋‹ˆ๋‹ค.

๊ด€๋ จ WIZnet Maker ์ฝ๊ธฐ ๊ฒฝ๋กœ

๋‹ค๋ฅธ W55RP20 ์ œ์–ด ์‚ฌ๋ก€๋ฅผ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด How W55RP20 Can Add Industrial Ethernet Control to an Automated Variac and Stepper System์„ ๋จผ์ € ๋ณด๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ธ€์€ RF frontend๊ฐ€ ์•„๋‹ˆ๋ผ ์ „์•• ์ œ์–ด ์žฅ๋น„๋ฅผ ๋‹ค๋ฃจ์ง€๋งŒ, W55RP20์„ bench ๋˜๋Š” industrial equipment์˜ Ethernet control point๋กœ ์“ฐ๋Š” ๊ด€์ ์€ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค.

TCP server ์ธก๋ฉด์„ ๋” ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด How to Build a Reliable Industrial TCP Server with WIZnet W5500 on an MCU Platform?๊ฐ€ ์ž˜ ๋งž์Šต๋‹ˆ๋‹ค. Ocupoint ์ €์žฅ์†Œ๋Š” ํŠน์ • RF command protocol์— ์ง‘์ค‘ํ•˜๊ณ , ์ด ๊ธ€์€ MCU์—์„œ W5500 TCP ๋™์ž‘์„ ์•ˆ์ •์ ์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ด€์ ์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RF ๋„๋ฉ”์ธ์—์„œ W5500์ด ๋‹ค๋ฅธ ์—ญํ• ์„ ํ•˜๋Š” ์‚ฌ๋ก€๋กœ๋Š” How Does W5500 Stream 8-Channel RF Data for Drone Detection?์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ธ€์€ RF data๋ฅผ AI detection flow๋กœ ์ด๋™์‹œํ‚ค๋Š” ๊ตฌ์กฐ์ด๊ณ , ์ด๋ฒˆ Ocupoint ๊ธ€์€ RF frontend๋ฅผ command/controlํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค RF ์‹œ์Šคํ…œ์—์„œ wired Ethernet์ด ๋งก์„ ์ˆ˜ ์žˆ๋Š” ์—ญํ• ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๊ทผ๊ฑฐ ๊ธฐ๋ฐ˜ ์š”์•ฝ

rf-control์€ Ocupoint์˜ Ethernet-controlled RF frontend๋ฅผ ์œ„ํ•œ ์ตœ์‹  host-control ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. Maker ๊ด€์ ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ ์€ WIZnet W55RP20-EVB-Pico์™€ W5500 TCP ๊ฒฝ๋กœ๊ฐ€ ์‹ค์ œ RF control workflow์— ์ง์ ‘ ์—ฐ๊ฒฐ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. protobuf packet, TCP 5000๋ฒˆ ํฌํŠธ, USB fallback, Go client method, JSON automation, Whalepod/STRAPS-specific command๊ฐ€ ๋ชจ๋‘ ๊ณต๊ฐœ ์†Œ์Šค์—์„œ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— firmware source ๋ฏธ๊ณต๊ฐœ์™€ ์ผ๋ถ€ host API์˜ firmware support pending์ด๋ผ๋Š” ํ•œ๊ณ„๋„ ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค.

โ“ FAQ

Ocupoint rf-control์€ ๋ฌด์—‡์ธ๊ฐ€์š”? Black Canyon, STRAPS, Whalepod ๊ฐ™์€ Ocupoint Ethernet-controlled RF frontend๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ Go CLI์ด์ž Go client library์ž…๋‹ˆ๋‹ค.

์–ด๋–ค WIZnet ์ œํ’ˆ์„ ์“ฐ๋‚˜์š”? ์ €์žฅ์†Œ์˜ firmware guide๋Š” ๊ณตํ†ต control board๋ฅผ WIZnet W55RP20-EVB-Pico๋ผ๊ณ  ๋ช…์‹œํ•˜๋ฉฐ, ์ด๋ฅผ RP2040 + W5500 Ethernet ๊ตฌ์กฐ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ์—์„œ W5500์€ ๋ฌด์—‡์„ ํ•˜๋‚˜์š”? W5500 Ethernet ๊ฒฝ๋กœ๋Š” TCP 5000๋ฒˆ ํฌํŠธ๋กœ raw protobuf control message๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. Ethernet์ด ์žกํžˆ์ง€ ์•Š์„ ๋•Œ๋Š” USB CDC1์ด local fallback์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋‹จ์ˆœ command-line utility์ธ๊ฐ€์š”? ์•„๋‹™๋‹ˆ๋‹ค. CLI๋Š” import ๊ฐ€๋Šฅํ•œ Go client package๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ์œผ๋ฉฐ, test tool์€ GetConfig, GetStatus, SetAttenuation, SetCalSource, SetPllFrequency, SetRfBand ๊ฐ™์€ typed method๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ์„ ๋•Œ ์ฃผ์˜ํ•  ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ณต๊ฐœ ์ €์žฅ์†Œ์—๋Š” host code, ๋ฌธ์„œ, ์ด๋ฏธ์ง€, UF2 firmware binary๊ฐ€ ์žˆ์ง€๋งŒ firmware source๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ตœ์‹  STRAPS clock-source command๋„ firmware support๊ฐ€ ๋“ค์–ด๊ฐ€๊ธฐ ์ „๊นŒ์ง€๋Š” host-side ๊ธฐ๋Šฅ์œผ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Documents

  • Ocupoint rf-control GitHub repository

    Original source repository

  • rf-control latest release

    Prebuilt CLI assets for Linux, macOS, and Windows

  • rf-control firmware guide

    Names WIZnet W55RP20-EVB-Pico as the shared control board

  • Whalepod eval board setup guide

    Ethernet TCP port 5000 and Whalepod setup details

  • rf-control control.proto

    Protobuf control schema for RF requests and responses

  • Whalepod Go library example

    Example of using the Go client package directly

  • Ocupoint About

    Company context

  • WIZnet W55RP20 product page

    WIZnet product reference

Comments

Similar projects you might like

Comments