In this article, we will explore how to transform an ESP32 board into an emulated computer using the Commodore VIC-20 emulator. The ESP32 is a powerful Arduino-type microcontroller with advanced features such as a faster processor, more memory, Wi-Fi, and Bluetooth connectivity. We will focus on the TTGO ESP32BGA board, which is available for around $16 and offers the ability to connect a monitor, keyboard, mouse, and even an SD card.
Key Features of the TTGO ESP32BGA Board
Before we dive into the process of emulating a Commodore VIC-20, let’s take a closer look at the key features of the TTGO ESP32BGA board:
- Monitor Support: The board can be connected to a VGA monitor, allowing you to have a visual interface for your emulated computer.
- Input Devices Compatibility: It supports connecting a keyboard and a mouse (PS/2) to provide an authentic computing experience.
- Expandable Storage: The board has an SD card slot, providing the option to expand the storage capacity for your emulated computer.
- Sound Output: The board is equipped with sound capabilities, enabling you to enjoy a multi-sensory experience.
- Internet Connectivity: It can be connected to Wi-Fi, allowing you to download additional games for your emulated computer using the built-in browser.
Now that we have a brief overview of the TTGO ESP32BGA board, let’s move on to the step-by-step process of emulating a Commodore VIC-20.
Step 1: Setting Up the Hardware
To begin, connect your VGA monitor, keyboard, and mouse to the TTGO ESP32BGA board. The board also supports an SD card for expandable storage, although it is not necessary for this specific project.
Step 2: Powering On the Board
Once the hardware is properly connected, plug in the board using a standard micro USB cable. Upon powering on, the board will boot into a basic VIC-20 emulator interface. You will have access to both the keyboard and the mouse at this point.
Step 3: Exploring the Emulator Functions
The emulator provides a curated list of free games that you can explore. You also have the option to reboot the system and access the VIC-20 BASIC programming language. You can use the F12 key to navigate back to the main menu.
Step 4: Internet Connectivity
One of the fascinating features of the TTGO ESP32BGA board is its internet connectivity. You can connect the board to your Wi-Fi network and use the built-in browser to download additional games for your emulated Commodore VIC-20. The emulator supports downloading games directly by entering the game’s URL.
Step 5: Browsing and Choosing Games
In addition to the pre-curated list of free games, you can download a collection of 70-71 games specifically chosen for the emulator. You can browse through the file system to access these games and select your favorites. For example, you can choose to play games like Frogger on the emulated VIC-20.
Step 6: Installing the VIC-20 Emulator Library
To install the VIC-20 emulator library on your TTGO ESP32BGA board, follow these steps:
- Install the ESP32 development tools in the Arduino IDE if you haven’t already.
- Make sure the board is recognized as an ESP Dev module in the Arduino IDE.
- Go to “Manage Libraries” in the IDE and search for the “fab gl” library by Fabrizio D Vittorio.
- Install version 1.0.5 of the library.
- In the examples section of the library, find the “vga” folder and open the “vic-20” sketch.
- Before uploading the sketch, ensure that the partition scheme is set to “huge app” in the tools menu.
- Upload the sketch to the board.
Congratulations! You have successfully installed the VIC-20 emulator library on your TTGO ESP32BGA board.
Final Thoughts and Future Possibilities
The TTGO ESP32BGA board offers an affordable and feature-rich platform for emulating a Commodore VIC-20. With its support for VGA, keyboard, mouse, and SD card, you can have an immersive retro computing experience. Although it has limited GPIO pins compared to other Arduino boards, it compensates for it with its unique capabilities.
This tutorial only scratches the surface of what you can do with the TTGO ESP32BGA board. The possibilities are endless, and it’s up to your creativity to explore and develop exciting projects. Whether you’re a seasoned maker or a beginner, this board provides a user-friendly experience and opens up a world of opportunities.
If you’re interested in trying out the TTGO ESP32BGA board, make sure to check out the link provided in the description. By purchasing through the link, you’ll be supporting the channel and enabling the creator to continue producing informative content.
If you have any questions or need assistance with the board, feel free to leave a comment, and the community will be happy to help you out. Happy emulating!