Inspiration
Carcade was spired by remote space exploration that allowed humans to view Mars from millions of miles away.
What it does
All in one microcontroller, this game allows the player to view the landscape around and control the car within a 100m range using WiFi. You can take this car to another room and navigate obstacles from the comfort of your seat. The live stream and the controller are hosted on one IP server, making the game accessible on various devices without the need to download an app.
How we built it
The star of this project is the ESP32-CAM SoC. This chip has the Wi-Fi module, a processor, a camera sensor, and a memory all in one. Using Arduino, we programmed ESP32-CAM to host a server and the motor drivers to control two stepper motors on the car model. The car has 5 motion states: stationary, straight forward, straight backward, right forwards, and left forward, which are controlled with 3 pins (2^3=6). The car is powered by 6 AA batteries.
Challenges we ran into
Our initial plan was to use a different microcontroller that would have required a very different implementation and used less hardware credit. After planning around the microcontroller, we learned that it was no longer in stock. Our next option was ESP32-CAM, which cost 6x the hardware credit as our initial choice. While ESP32-CAM had all we needed to make our game and more, using it challenged to budget our hardware credit and optimize the use of each hardware item.
Accomplishments that we're proud of
Capturing the video from the camera sensor and displaying it on a web page was a big milestone for our project. This project was our team's first encounter the ESP32-CAM, and a steep learning curve was involved in the process. We are proud of our team's motivation and determination that pushed us through the many failed attempts that preceded the working live stream we achieved.
What's next for Carcade
Now that we have a fully functioning remotely controlled car, we are looking into improvements in GUI and ease of navigation. Since we wanted the game to be fully functional using one microcontroller, we had limited options in terms of GUI libraries. With more time and learning, we want to create an interactive user friendly interface for our remote controller. We have already created a sample GUI using python that we plan to incorporate into the web page. When it comes to ease of navigation, adding more cameras or a 360 camera would be a game changer. Another upgrade of Carcade would involve more motion states to allow for varying speeds and turns.
Log in or sign up for Devpost to join the conversation.