Chen Liang's Wireless Thin Client Takes the Concept to the Limit with an ESP32 or RP2040 Heart

Designed to connect to a VNC server running on something more powerful, this low-cost build could be the thinnest thin client ever.

Gareth Halfacree
2 years agoHW101

Electronics engineer Chen Liang has built a thin client device, which pushes the concept to its very limit — by using a low-cost microcontroller, like an Espressif ESP32 or Raspberry Pi Pico W, as its processor.

"'Thin client' is minimalistic hardware that provide a user interface [to] connect the user to the actual processing machine," Liang explains. "A thin client [does] not require a high processing power device since all jobs are running on the server, so it is called 'thin client.' [It] has many advantage if it can be made from low cost hardware. But how low it can be?"

Powered by an Arduino-compatible microcontroller, this could be the cheapest thin client ever. (📹: Chen Liang)

The answer, it turns out, is surprisingly low. While modern thin client systems are usually based on application processors — the popular Raspberry Pi 4 single-board computer (SBC) and its industrial Compute Module 4 variant often find themselves pressed into service as thin clients — Liang's design goes in a different direction: a low-cost, Arduino-compatible microcontroller board with integrated Wi-Fi capabilities.

Building atop a VNC client written for the Arduino platform by Markus Sattler, Liang has created a variant that supports higher-resolution displays and ZRLE encoding — boosting the performance from a clunky six frames per second to a more usable 15-20 frames per second. The user's choice of M5STack CardKB or LILYGO BBQ10 keyboard provides a means to enter text, while a touchscreen display replaces a mouse — and by connecting to a desktop system it's possible to run any software you like, from a web browser to an admittedly-jerky game.

Liang has plans for the future of the project, too, including adding a battery to make the device fully portable, design a custom keyboard more like those found on a desktop machine, a case for free-standing and handheld use, and add extra security for cloud operation.

More information is available in Liang's project post; the source code for the RLE-capable fork of Sattler's VNC port is available on GitHub under the reciprocal GNU General Public License 2.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles