For this project, I recreated the classic Chrome Dino Game using a combination of web technologies and embedded hardware. The system is powered by an ESP32, which serves as a WiFi access point and hosts an HTML5 Canvas-based version of the Dino game that runs in a browser.
The ESP32 manages real-time communication with an STM32 microcontroller through UART. A physical push button connected to the STM32 allows the player to control the Dino in the browser, creating a unique hardware-assisted gameplay experience. The STM32 sends jump signals to the ESP32, which exposes these inputs to the browser through a /jump API that is polled every 100 milliseconds.
The browser continuously sends score updates back to the ESP32, which displays them on an OLED screen in the format “Score: XX.” The ESP32 drives its own SSD1306 OLED displays, showing the live score, game-over messages, and a “Play Again” screen.
This project integrates web development, UART communication, WiFi server functionality, and embedded graphics. It provided me with hands-on experience in synchronizing multiple microcontrollers with a browser-based game and blending hardware interaction with software animation.
Recent Comments