Getting Started With ESPepe
Hello fellas!
Have you ever looked at development boards and thought, "Why do they all look the same? Could I change that?" Well, after some research and a bit of engineering skills, that’s exactly what I did.
In addition to slapping a colorful image with a well-known meme on the board (because why not?), I focused on fixing two things that always bugged me when I was programming on Arduino/ESP32 boards:
- The low number of power supply pins.
- The fact that without connecting extra components, you can basically only run the Blink program.
To solve the second issue, I swapped out the usual Pin 13 LED for an RGB LED and threw in an active buzzer. Now, instead of just boring old blinking, you can blink in different colors while playing the Mario theme song :).
As for the first issue, I simply added four 3.3V+ pins and four GND ones. Problem solved!
Supplies
You can choose one of the following options:
(Wait a while, URL's would't be active untill we done some stuff with our shop _/(-_-)\_ )
Why ESP32?
I’ve gone with the ESP32 series for most of my projects because, let’s be honest, they’re cheap, powerful, and play nice with just about anything—plus, they’re industrial-grade! Sure, Arduino boards are fantastic for beginners (we’ve all been there), but they’re kind of like the training wheels of microcontrollers—less power, fewer features. So, here’s a comparison between the ESP32 from 2016 and the trusty old Arduino Uno
Comparison ESP32 and Arduino
The ESP32-C3 runs the show here — it’s a fast and compact version of the ESP32, perfect for projects that don’t need a gazillion pins but still need WiFi or Bluetooth. It slotted into the design perfectly, taking up hardly any space and letting all the boards talk to each other wirelessly. Because hey, they’re stronger together!
Arduino IDE Configuration
To do proper programming, first of all, we need to set up the ESP32C3 board in the Arduino IDE. There are some cool guides on how to do it (like this one), but basically, all you need to do is:
- Install Arduino IDE (I prefer version 1.8.19)
- Go to File > Preferences > Additional Boards Manager URLs and paste the following URL: "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json" (1st screen).
- Then, go to the Boards Manager and install ESP32 by Espressif Systems (2nd screen).
After installation is complete, choose the ESP32C3 Dev Module (3rd screen) and set USB CDC On Boot to Enable (4th screen). Once everything is set up, you can start programming!
ESPepe Connection
To connect the board, hold down the Boot button while plugging in the USB cable. You only need to do this once before uploading the first code. In the future, you can do it again if needed, but it’s usually not necessary. After connecting, in Arduino IDE, choose the COM port with the phrase "ESP Family device" in parentheses. Now it is ready to upload your code.
Let's Check How It Works
To run this code, you need to download the Adafruit_NeoPixel library for working with the RGB LED (see screens 1 and 2).
After the library is installed, create a folder somewhere on your PC (the best place would be Documents > Arduino) and name it ESPepe_first_step.
Then, download the files "Mario_RGB.ino" and "pitches.h", and put them into the ESPepe_first_step folder.
In Arduino IDE, open the "Mario_RGB.ino" file and try to upload it to the board.
Once the upload is complete, click the Reset button on the ESPepe and see how it works :)
P.S. Don't forget about the switches—they need to be in the ON position, as shown on the screenshot at step 4.
In Conclusion
Thank you for reading this article! If you have any questions or if something doesn’t work, feel free to ask in the comments section.
By the way - don't forget to check the full collection of ESPepe in my Tindie shop :)