No BMC to remotely manage your node? No problem! A review of the Raspberry Pi based PiKVMV4 standalone IP KVM.

Ian Evans
7 min readDec 28, 2023

--

We have all been there. Trying to manage systems remotely without a proper baseboard management controller is a real pain. Traditional KVM’s are clunky, expensive and they don’t usually scale very well.

Enter PiKVMV4. This is the first IP KVM solution that I can actually recommend and talk about that does not suck. It is basically a Raspberry platform with PiKVM (Opensource IP KVM Project) installed along with some other goodies:

  • An ATX connector that allows one to control power functions normally only accessible via IPMI through a standard RJ45 pin out. The pin out also allows for remote visibility of the power and HDD LED’s as well.
  • An LED interface that shows the MAC, IP address, temperature and status of the platform.
  • USB cable to allow keyboard + mouse as well as ISO mounting!
The unboxing!
Complete angle view

Adding power, reset + LED control

The kit comes with a ATX converter board that makes connecting the front panel jumper block on common motherboard to the PiKVMV4 easy. The converter board comes with options to simply tie wrap it to something inside the case or you can use a half height or full height bracket.

In my case, I did not have room in my CWWK mini-PC for the board or the brackets, so I opted to drill the case, install a cable gland, solder and heat shrink the connections and use a CAT6 coupler to connect and enable the ATX connector functionality directly from the PiKVMV4.

Here is a picture of the ATX Converter Board and cable to pinout map.

PiKVMV4 ATX Converter Board

ATX Converter Board and RJ-45 wire to pin map

First, we need to identify where the front panel jumper block resides on the system. In the case of this CWWK node, it was tucked away at the very top. Most of the time you will see some type of printed writing like power led, reset or HDD ➕ ➖, etc. around the block.

Consult your motherboard manual to ensure you have located all of the necessary pins. You will want to specifically identify:

  • Power switch (➕ ➖). This is a simple open/close short type of pinout
  • Reset switch. This is a simple open/close short type of pinout
  • HDD LED (➕ ➖)
  • Power LED (➕ ➖)
ATX Front Panel Connector inside the CWWK

Now that we have located the ATX Front Panel Block, we will need to figure out how to get external CAT6 wires to it. There are no holes in the aluminum chassis, so I need to cut one. The hole will need to be cut large enough to fit a nylon cable gland such as this one through it:

To cut the hole I used a Greenlee GSB04 Step Bit. I prefer these over traditional drill bits as they allow much finer incremental depth cutting and they do a better job evacuating millings. Be sure to completely blow the system out with compressed air! You do not want aluminum millings roaming around in the case when 12V is applied. ⚡️ 🔥 💥😖

Now we need to install the gland and a section of CAT6 cable. Tighten the gland and strip the CAT6 cable back so all 4 pairs are exposed.

The next step will require stripping the individual wires and soldering on connectors that will seat onto the ATX Front Panel Block. As you recall from the first picture, these cables were provided. In the case of this CWWK install, I will be snipping the cable ends to about 3 inches and stripping the sheathing off for soldering to CAT6 cable. Use a proper wire stripper to ensure you do not scrape the conductors.

Now we will solder the connections! Be sure to use a high quality electrical grade solder. Before soldering the connections, add your heat shrink tubing!

Soldering the connections with a torch iron.

Looking good! All connections are soldered, heat shrink is set and connections are plugged into the ATX Front Panel block according to the diagram posted in the beginning of this article. Be sure to match the colors on the CAT6 cable!

You will notice my ends are not the same colors. This is because I did not have matching wires to solder on to the CAT6 cable. Be sure to follow the wiring color on the CAT6 cable and map that to the correct pinout on the ATX Front Panel connector.

The cable I used already had one CAT6 connector one side, however if you are applying your own connector, ensure that it is in 568B, not 568A. Orange white/orange, green white/blue, blue white/green, brown white/brown. After your connector is installed, it is time to install the CAT6 coupler.

Now we will connect the other end of the coupler to the CAT6 cable plugged into the ATX port on the PiKVMV4.

Now we need to make sure the remaining connections are complete:

  • USB-C port labelled “OTG” is plugged into a USB A port port on the target node. This will provide keyboard, mouse and OTA ISO mounting to install FreeBSD.
  • HDMI connection labelled “IN” is connected to the target system HDMI or Display Port.
  • Ethernet connection (my blue CAT6 cable). The system will try DHCP right out of the box.
  • 12V power to the PiKVMV4.
  • Let see how it all works! We will now launch a browser and connect to the DHCP assigned address that shows up on the PiKVMV4 display.
  • Time to test functionality with a quick FreeBSD 14 install!
Installing FreeBSD through PiKVMv4 was a snap!

Interested in the API? PiKVM Redfish support

So what do I think of the PiKVM experience?

What I like:

  • All metal construction. It does not feel cheap and is very sturdy.
  • Great connectivity options. HDMI in and dual outs, USB-C and full USB 3.x support.
  • The ATX connector is a HUGE plus. One of the most limiting aspects of using standalone KVM’s is their inability to control lower level power options.
  • Simple web interface that is snappy and well supported under all of the browsers I tested.
  • Speed is great. Keyboard responses are quick with very little lag.
  • H264 support.
  • It is a built off an Open Source community project that appears to be continuously growing.
  • ISO mount works like a champ.
  • There is an API w/ Redfish support.

Areas for improvement / recommendations:

  • When using something like this at scale, the unit itself is quite large. I do see they have a mini version which will be nice for those that do not have room for larger standalone KVM units.
  • I am not sure if it is even possible, but getting some type of DMI feed through the the ATX connector would be a HUGE plus.

In summary, this solution remains a powerful and effective means of managing otherwise inaccessible remote systems. Building a KVM this feature rich with the level of features and stability this one has is not easy.

Later we will get into the API and some other functionality this amazing device offers.

CWWK Node Specs:

  • Model: CWWK 12th Gen Alder Lake 2.5G Fanless Mini PC
  • Processor: Intel i7–1265U
  • Network Interface: 6x Intel i226-V
  • Memory: TEAMGROUP T-Force Zeus DDR4 SODIMM 64GB (2x32GB) 3200MHz (PC4–25600)
  • NVMe M.2: Toshiba XG6 512GB

--

--

Ian Evans

Innovative CTO, Architect, and Engineer at Metify | Spearheading the Revolution in Streamlined Bare Metal Provisioning