When it comes to gaming, the health of a PC is a hugely underestimated aspect of your performance. Without a well maintained PC, a game will not be able to run as smoothly as one might want. As passionate gamers, we found ourselves struggling to perform our best in quick and resource-intensive games, like Valorant. It was frustrating, to say the least, when we found out that the issue wasn't our skill as much as the health of our PCs. This is why we developed a PC health status monitor that would help us stay in control of our gaming experience and to address potential issues before they arise, such as frame and resolution drops. We believe that with real-time monitoring of your CPU, GPU, and other vital hardware data, you can keep a close eye on the health of your system and make informed decisions about upgrades and optimizations, as well as minimize poor hardware performance.
What it does
Our smart stat monitor add-on retrieves hardware data from the PC to analyze and display vitals/warnings to the user while they are gaming. This allows the monitor to provide real-time statistics and SMS-based communication.
The add-on can be mounted to any part of a user's monitor, allowing for a universal plug-and-monitor device, and features a compact design that will easily allow any gamer to transport this device with their setup. It also features an energy-efficient automatic power-off LCD screen that turns off the monitor depending on the user's activity.
The add-on also implements a smart SMS function through Twilio to ensure the player's hardware is functioning properly and the user's gaming experience is optimal. The features implemented through Twilio notify a player when their hardware is experiencing abnormally high temperatures, or is experiencing any sort of defects; which is also visually displayed through the LCD display. To help minimize energy consumption, it can also notify a user when the device exceeds a user-set power threshold.
How we built it
For the hardware, we utilized an Arduino Uno and ESP32 microcontrollers, which allowed for efficient energy consumption and internet capabilities. A 1602A LCD display was used as the primary display add-on to communicate vitals to the user as effectively as possible. The pins within the LCD display allow for automatic updates for statistics and warning messages to ensure that PC's core functionality is holistically optimal. For the SMS service, we implemented a custom Twilio ESP32 library to interact with the ESP32 microcontroller. This uses the microcontroller’s WIFI connection to allow users to interact with Twilio over a network SSID. The goal of the SMS implementation is to send text messages to the user’s device while using a Twilio-generated number. The program begins by connecting the device to WIFI and creating a Twilio object using the Twilio API with an account SID and Authentication Token. Twilio waits for a condition, such as the CPU or GPU overheating, before sending an SMS notification to the user’s phone number.
Challenges we ran into
One of the biggest challenges that we faced during development was knowing how much functionality to include without cluttering the device. Trying to integrate the Hardware Monitor libraries into a C# file, and extracting those values effectively into an Arduino file introduced many compatibility and integration issue to overcome. With such an extensive library, figuring out what statistics were the most useful/appropriate to a user's experience also introduced many roadblocks that we had to overcome as a team. Halfway through the project, we decided to incorporate WIFI functionality, as we believed it would be important for the device to utilize IOT capabilities, and communicate crucial information to the user as soon as possible. This feature implementation made us rewire our device to an ESP32 board as well, and since the new layout was much less intuitive compared to the Arduino Uno, this caused issues within our already developed hardware and software.
Accomplishments that we're proud of
For this project, we were proud to develop a functioning hardware project in a very tight time frame. Within a new setting, all team members were able to gather a variety of tools, materials, and resources efficiently in order to develop a fully-fledged product. In addition to this, the team was also incredibly adaptive to new changes/implementations. We decided to incorporate IoT functionality much later in the design process; however, all team members were able to integrate the new mechanics and software incredibly effectively. Finally, being able to incorporate hardware, software, and IoT programming within this hackathon was a great accomplishment.
What's next for Smart Stat Monitor
For the future of the Smart Stat Monitor, we plan to add some back-end functionality to actively collect power/usage data while the add-on is enabled. We would implement this by integrating machine learning API's to train learning models on what applications/functions generate unhealthy PC usage statistics. With this core functionality implemented, users can be notified on safe hardware usage when loading into a game or changing settings to prevent hardware from overheating/crashing beforehand.