{"id":183330,"date":"2026-09-11T22:53:55","date_gmt":"2026-09-11T20:53:55","guid":{"rendered":"https:\/\/prohoster.info\/blog\/news\/vypusk-esp-kvm-0-45-0-otkrytoj-proshivki-ip-kvm-na-baze-esp32-p4"},"modified":"2026-09-11T22:53:59","modified_gmt":"2026-09-11T20:53:59","slug":"esp-kvm-0-45-0-released-open-source-ip-kvm-firmware-based-on-esp32-p4","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/esp-kvm-0-45-0-released-open-source-ip-kvm-firmware-based-on-esp32-p4","title":{"rendered":"Release of ESP-KVM 0.45.0, an open firmware for IP-KVM based on ESP32-P4","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The release of the ESP-KVM project has been published, which develops open firmware that turns the ESP32-P4 microcontroller debugging board into a full-fledged IP-KVM \u2014 a device that provides access to the screen, keyboard, and mouse of a remote computer via a browser. Unlike remote desktop tools, nothing is installed on the managed machine, and no requirements from its operating system are needed: the device connects to the video output and USB port and operates even when the computer is displaying the BIOS interface, booting up, idle with an empty drive, or powered off. The code is written in C and is distributed under the Apache 2.0 license.    <\/p>\n<p>The device is assembled from two small boards: a board with the ESP32-P4 and a capture board based on the TC358743 chip, which converts the HDMI signal to MIPI-CSI. The image is then encoded by the microcontroller's hardware encoders \u2014 H.264 or MJPEG \u2014 and sent to the browser. The keyboard and mouse are connected to the target machine via USB OTG, meaning it sees standard input devices and requires no drivers. The reference board achieved about 20-24 frames per second at 1920\u00d71080 and up to 45 at 1280\u00d7720.    <\/p>\n<p>Features include:  <\/p>\n<ul>\n<li class=\"l\"> Reading the text screen as text rather than an image: the contents of the BIOS console, bootloader, or Linux console are recognized by the character generator and transmitted as symbols \u2014 the screen takes up a couple of kilobytes instead of megabytes, and serial numbers or error codes can be highlighted with the mouse and copied.\n<li class=\"l\"> Monitoring the screen based on specified phrases with notifications when the device is not being watched.\n<li class=\"l\"> Power control of the target through optocouplers (power button and reset, reading indicators), Wake-on-LAN, and waking the sleeping machine via USB.\n<li class=\"l\"> Built-in WireGuard and Tailscale, including integration with a custom controller <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/en\/server\/dts-prohoster\/\"   title=\"proxy server\" data-wpil-keyword-link=\"linked\">proxy server<\/a> Headscale.\n<li class=\"l\"> Integration with Home Assistant via MQTT: sensors, buttons, firmware update entity, and camera with a screenshot of the target.\n<li class=\"l\"> HTTPS with a self-issued certificate, password-protected access, and a physical password reset button on the board; you can also upload your own certificate.\n<li class=\"l\"> Network firmware updates with two slots and automatic rollback, a recovery image in internal flash memory, and a hotspot with a portal when no network is available.\n<li class=\"l\"> A small status screen (I2C OLED or circular GC9A01) indicating the address, link status, and temperature.\n<li class=\"l\"> Virtual media: the disk image from the microSD card is given to the target as a bootable USB drive, allowing the system to be installed on a machine with an empty disk.  <\/ul>\n<p>The firmware is built for ten types of boards, including Waveshare ESP32-P4-ETH, ESP32-P4-NANO, and ESP32-P4-WIFI6, Espressif ESP32-P4 Function EV, Guition ESP32-P4-M3-Dev, and M5Stack Unit PoE-P4. The community has created several cases for the most popular board, Waveshare ESP32-P4-ETH. The board can be flashed directly from the browser without installing tools.     <\/p>\n<p>In release 0.45.0, support for two boards has been added \u2014 the Waveshare ESP32-P4-Module-DEV-KIT and the DFRobot FireBeetle 2 ESP32-P4 \u2014 along with an analysis of which ESP32-P4 boards are unsuitable for this task and why.       <center>  <div class=\"youtube-placeholder\" data-id=\"QGABqgAR5H0\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/QGABqgAR5H0\/hqdefault.jpg\" alt=\"Play video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div>  <\/center>      <center>  <div class=\"youtube-placeholder\" data-id=\"WU9WUWKaP9g\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/WU9WUWKaP9g\/hqdefault.jpg\" alt=\"Play video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=66252\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 ESP-KVM, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ESP32-P4 \u0432 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 IP-KVM &#8212; \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0434\u0430\u044e\u0449\u0435\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u043a\u0440\u0430\u043d\u0443, \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435 \u0438 \u043c\u044b\u0448\u0438 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430, \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u043e\u0442 \u0435\u0451 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f: \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043a \u0432\u0438\u0434\u0435\u043e\u0432\u044b\u0445\u043e\u0434\u0443 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-183330","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 ESP-KVM, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ESP32-P4 \u0432 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 IP-KVM - \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0434\u0430\u044e\u0449\u0435\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u043a\u0440\u0430\u043d\u0443, \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435 \u0438 \u043c\u044b\u0448\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Alexander Kovalev\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/esp-kvm-0-45-0-released-open-source-ip-kvm-firmware-based-on-esp32-p4\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a ESP-KVM 0.45.0, \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 IP-KVM \u043d\u0430 \u0431\u0430\u0437\u0435 ESP32-P4 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 ESP-KVM, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ESP32-P4 \u0432 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 IP-KVM - \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0434\u0430\u044e\u0449\u0435\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u043a\u0440\u0430\u043d\u0443, \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435 \u0438 \u043c\u044b\u0448\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/esp-kvm-0-45-0-released-open-source-ip-kvm-firmware-based-on-esp32-p4\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-11T20:53:55+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-11T20:53:59+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Release ESP-KVM 0.45.0, open-source IP-KVM firmware based on ESP32-P4 | ProHoster","description":"The release of the ESP-KVM project has been published, developing open-source firmware that turns the ESP32-P4 microcontroller debugging board into a full-fledged IP-KVM device, providing access to the screen, keyboard, and mouse.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/esp-kvm-0-45-0-released-open-source-ip-kvm-firmware-based-on-esp32-p4","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a ESP-KVM 0.45.0, \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 IP-KVM \u043d\u0430 \u0431\u0430\u0437\u0435 ESP32-P4 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 ESP-KVM, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ESP32-P4 \u0432 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 IP-KVM - \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0434\u0430\u044e\u0449\u0435\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u043a\u0440\u0430\u043d\u0443, \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435 \u0438 \u043c\u044b\u0448\u0438.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/esp-kvm-0-45-0-released-open-source-ip-kvm-firmware-based-on-esp32-p4","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-09-11T20:53:55+00:00","article:modified_time":"2026-09-11T20:53:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"183330","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-09-22 16:21:01","updated":"2026-09-22 16:21:01","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/183330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=183330"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/183330\/revisions"}],"predecessor-version":[{"id":183331,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/183330\/revisions\/183331"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=183330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=183330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=183330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}