Skip to content
Hardware Modules Electronics & Microcontrollers

PoE32 Lite

By Romi Fadli, S.Kom. 6 min read v1 Embedded Hardware
On this page

PoE32 Lite is a small microcontroller board that takes both its data and its power from a single Ethernet cable. It is called Lite because its chip, the CH32V203, supports Ethernet at 10 Mbit/s only; a later board built on another chip will do Fast Ethernet, 100 Mbit/s. This page is about its first revision, v1, ordered in April 2025: the board where I put everything together for the first time, and which showed me what the base board should and should not carry.

Later revisions have their own pages. This one stays with v1: what it was, why it looked the way it did, and what it taught me.

At a glance

BoardPoE32 Lite, the base board of the PoE32 family
Revisionv1, ordered on 14 April 2025
MCUWCH CH32V203RBT6, RISC-V, with the Ethernet MAC and a 10BASE-T PHY on the chip
PowerA ready-made Power over Ethernet module, soldered straight onto the board
On the boardThe microcontroller and two H-bridge drivers for a fire alarm line
Ethernet portNot on the board: the RJ45 sat on a separate small breakout board
StatusA first concept; replaced by v2
FilesComponent values and the bill of materials are not published
What v1 was.

Why it exists

The board most people reach for in a small connected device today is an ESP32, and it talks over WiFi. But the word wireless in WiFi only describes the data. The power still arrives over a wire, unless the device runs on a battery, and a battery runs out sooner or later. So in practice one cable ends up plugged into the board anyway. If there is going to be one cable regardless, I would rather it be an Ethernet cable: with Power over Ethernet, that single cable carries the data and the power together.

Most of these devices also never move. A sensor on a wall, a controller in a panel, a node of a fire alarm: they stay where they were installed for years. Mobility is the one thing WiFi gives that a cable cannot, and a stationary device does not need it. What a stationary device does need is a link that stays up, and a cable is more stable than radio.

Speed is not a reason to avoid a cable either. Ten megabits per second is plenty for telemetry and MQTT, which is what these devices exchange. And there is security. A WiFi device can be reached by anyone within radio range, so its attack surface extends past the walls of the building. A device on a cable can only be reached by someone who has, at the very least, physical access to the same network.

The size follows from where such a board ends up: tucked behind a ceiling, inside a junction box, next to a detector. So it has to be as small as I can make it, and it has no DC jack at all. Power comes only from the Ethernet port. When a device has to run from a separate supply, a PoE injector does the job, and the power still arrives over the Ethernet cable.

What v1 was

The first board put everything in one place. The CH32V203 sat next to two H-bridge drivers that drive a fire alarm detector line, so the microcontroller and the application shared one board. Power came from a ready-made PoE module, soldered straight onto the board through rows of through-hole pins along both long edges. There was no Ethernet port on the board itself: the RJ45 lived on a separate small breakout board that I ordered together with it.

The first PoE32 board: a green PCB with the CH32V203 in the middle, two driver chips on the left, and rows of through-hole pins along both long edges.
v1 as ordered in April 2025. The pin rows along both edges are where the PoE module was soldered on; the two chips on the left are the H-bridge drivers for the fire alarm line.

Design decisions

A microcontroller with Ethernet inside. The CH32V203RBT6 is the cheapest chip I could find with both the Ethernet MAC and the PHY integrated, at around 1.8 USD. The only other candidate I found, the CH32V317WCU6, costs about a dollar more. Because the MAC and a 10 Mbit/s PHY are on the chip, it connects straight to Ethernet magnetics, without an external Ethernet chip such as the W5500, ENC28J60, or LAN8720 adding to the parts, the assembly cost, and the space. Every later revision keeps this chip.

A ready-made PoE module. For a first board I did not design the PoE power stage myself. A finished module, soldered on, gave the board its power and let me concentrate on the microcontroller side.

The application on the same board. The fire alarm drivers sat right next to the microcontroller. For a first concept, one board that does one job was the quickest way to see the whole thing work.

The firmware is the Embassy-Rust firmware I measured in the paper Where the SRAM Goes. It runs on v1 as well, since every revision uses the same chip; only the GPIO configuration differs from board to board.

What it taught me

The application does not belong on the base board. The next device will need a different application circuit. A base board with the fire alarm drivers built in can only ever be a fire alarm board.

The network port does belong on it. A board that depends on a second board for its own Ethernet is not really one board. The RJ45 had to come onto the main board.

Both lessons became v2: the fire alarm circuit moved off the board, and the RJ45 moved on.

The tool I read the board's serial output with while developing it.

Terms

Power over Ethernet (PoE)
Delivering power over the same Ethernet cable that carries the data.
MAC and PHY
The two halves of an Ethernet interface: the MAC handles frames, and the PHY turns them into signals on the cable.
H-bridge
A driver of four switches that can drive a load in either direction, or turn it off.
Breakout board
A small board that carries one part, such as a connector, and brings its pins out to wires or headers.

Technologies covered

  • Altium Designer
  • CH32V203
  • Microcontrollers
  • PCB Design
  • RISC-V
  • Ethernet
  • Power over Ethernet

About the author

Photo of Romi Fadli

Romi Fadli, S.Kom.

Solution Architect · Backend Engineer · Embedded Systems

In my day job I work as a solution architect. I design the system, lead the team that builds it — quality assurance, backend developers, a UI developer, DevOps and DevSecOps — and write the most critical modules myself, such as a certificate authority, a long-term PDF signer, and the core API of a personnel system.

I work across the whole stack that a running system actually needs. On the hardware side that means PCB design, microcontrollers, and embedded firmware — including RISC-V boards running FreeRTOS and Embassy, speaking MQTT over mutually authenticated TLS on a microcontroller with 64 KB of SRAM.

Most of my day-to-day work is software: Rust backends and API modules built on Clean Architecture, an OAuth2/OpenID Connect authorization server written from scratch, PAdES document signing, and certificate authorities — root CAs, timestamping authorities, and OCSP responders. I also build the frontends that sit on top of them.

Running all of that means infrastructure: Docker Compose stacks, networking, Mikrotik and RADIUS, observability with OpenTelemetry, and a steady habit of writing command-line tools and utilities for Linux when the existing ones do not fit.

Share

Enjoyed this?

Get an email when a new article is published.

Referenced by

PoE32 Lite

PoE32 Lite

Electronics & Microcontrollers

PoE32 Lite v3 is a small RISC-V board that takes its data and its power from one Ethernet cable, now with the whole PoE power path on the board. It failed out of the box: why, how it runs with jumper wires, and where v4 goes.

12 min read Read more →

Related Articles

Ethernet Case Cover

Ethernet Case Cover

Electronics & Microcontrollers

The front end cap of the PoE32 enclosure: a bare PCB with no traces and no components, whose only job is to close the aluminium profile and put the RJ45 exactly where it belongs, cut precisely by the board house.

4 min read Read more →
SDFA Module

SDFA Module

Electronics & Microcontrollers

The rear cover of the PoE32 enclosure that also turns PoE32 into a fire alarm node: it powers and resets a detector line from 24 V and reads normal, alarm, and a broken line from a single analog input.

8 min read Read more →