PICOTTY is an open-source project enabling serial-based remote management using a Raspberry Pi Zero 2W as a hub running a web server for the dashboard, and several Raspberry Pi Pico or Pico 2 boards with an Ethernet add-on to control and monitor the targets over serial.
In some ways, it’s a multi-target IP KVM, but without video or mouse, so let’s call it an IP keyboard, since each Pico board acts as an Ethernet-connected USB keyboard, while the Pi Zero 2 W SBC manages all nodes attached to it over Ethernet. The developer, Chiranjeevi (morpheuslord), mostly uses it to control systems running Proxmox VE, but it could be useful for other headless applications where a keyboard is sufficient.
Hardware for the project:
- Raspberry Pi Zero 2 W – Runs a web server on port 8080 and a TCP server on port 9000 to control the nodes
- Nodes
- Option 1
- Raspberry Pi Pico or Pico 2 board based on RP2040 or RP2350 MCU running CircuitPython firmware for serial console and USB keyboard emulation
- WIZnet W5100S SPI to Ethernet HAT for connection to the Pi Zero 2 W
- Option 2 – WIZnet W5100S-EVB-Pico or W5100S-EVB-Pico2 with Raspberry Pi RP2040/RP2350 and W5100S on a single board; same firmware as above
- Option 1
- Managed Ethernet switch
- Data-capable USB cable for each node
- Ethernet patch cable for each node


The PICOTTY SWARM CONTROL web dashboard provides access to all nodes connected to the Raspberry Pi Zero 2 W. From there, you can visualize the serial console and send HID keystrokes or raw serial commands. It also features a Macro editor (to create shortcuts), a Macro library, an event history list, settings, an OTA firmware upgrade interface, and more.
In theory, it might be possible to control the BIOS like an IP KVM through Macro sequences, but without video capture, it might be tricky, although some BIOS/UEFI implementations support serial console redirection, also called console redirection or BIOS serial console.
You’ll find the source code for the CircuitPython firmware and the PICOTTY Hub Python application, as well as STL files for a 3D-printed enclosure for up to four nodes on GitHub.


Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.


