EspMon is a PC hardware monitor that displays CPU/GPU temps and usages.
It is a platform IO project which contains a Visual Studio companion app under EspMon
You need supported hardware flashed with the firmware, and then you need to run the companion app, select your Esp32's COM Ports(s) (It can display to multiple devices simultaneously) and click "Started"
You may click "Persistent" to install as a system service. This can take several seconds to install/uninstall. If you do this your settings will be persisted past your login and past the life of the application.
Clicking "Flash Device >" gives you the option to flash the firmware to any connected supported device.
Current device support (other ESP32 based devices can easily be added by editing lcd_config.h and platformio.ini):
- Lilygo TTGO T1 Display
- M5 Stack Core 2
- Makerfabs ESP Display 4inch**
- Makerfabs ESP Display 4.3inch
- Waveshare ESP32S3 4.3inch
** presently display artifacts due to display settings issues
Select the UART Bridge/TTL port, not the USB native port. This project only works over a UART bridge.
The displayed graph is vertically 1 horizontal line for every 10%, and horizontally one vertical line for every 5 seconds.
-
Add
include/custom_panels.hto add an entry with your display's specific settings and wiring. Use one of the existing devices as a template, and then change the#definename from the original (likeM5STACK_CORE2to your own name) -
Edit the
platformio.inito add an entry for your device. Make sure to add your new#definename for the lcd settings to yourbuild_flagsentry. Use one of the existing entries as a template. -
Build the project
-
Optionally edit the
copyfw.cmdbatch file to add an entry for copying firmware bin out to a friendly name in the root project directory. Use existing lines as a template. -
Take the
firmware.bin, renamed to a friendly name, and add it toEspMon/firmware.zip
This will add the code to support your display as well as add it to the list of flashable devices in the application.
The serial protocol is very simple. Ten times a second, the device sends 1 byte across the wire with a value of 0x01. When it's received the host sends 7 bytes, starting with 0x01, and then values as indicated in include/serial.hpp's response_t structure. Those values are used to update the display. If the device does not receive a response from the host for 1 second, it displays [ DISCONNECTED ] until it gets a signal again.