Last year I wrote about my first foray into using AI to help develop a CircuitPython project for a GPS tracking tool: Going Down the Rabbit Hole of AI Coding - GPS Tracker.
Since then, I have really embraced AI, and frankly, I write very little code myself anymore. The AI tools I use—typically GitHub Copilot, Copilot Chat, and Gemini—have become extremely capable with CircuitPython. I now do almost all of my development in VS Code, and my projects have become quite complex. In the past few months, I developed a Math Tutor and a Spelling Tutor with touchscreens, visual and verbal cues, scoring, and even competition modes.
One of the core principles I stood by was that I need to understand what all the code is doing, and I feel I have enough experience with CircuitPython to keep up with what the AI is writing. Although it has become really good at structuring projects and suggesting the ways to do things, there are times when I have redirected the path the AI is taking. We make a good partnership - I am in complete control and it does most of the hard work.
I recently saw this blog post and I was intrigued: Squachwatch for the "cheap-yellow-display" that Gamifies Detecting Things.
I wasn’t interested in the gamification aspect, but I really liked the ability to track down all the different signals and devices around us. TalkingSasquach said he had done all the coding with AI, so I thought, “I can do that!”
My first thought was to simply start with his code and remove the graphics and other game elements. But after looking at it, I quickly figured out that (a) I didn’t have a clue how the code worked, and (b) even if I did, stripping out the gamification would be a lot of work. As best I could tell, the code was essentially C++/Arduino.
Side note: the idea of these “Cheap Yellow Displays” (CYDs) was also intriguing—a relatively inexpensive board with a lot of capability—so I ordered a couple to play around with.
Many, many years ago, I did some rudimentary Arduino coding, so it wasn’t all Greek to me. Still, I knew I would need to invest a lot of time to become proficient enough to figure it all out. Then I quickly realized that AI could do the heavy lifting. After all, that was how the original project had been built. I pulled up Copilot and Gemini and started digging in. I learned about PlatformIO for VS Code, and since I already had a good working knowledge of VS Code, I fired it up, installed PlatformIO, and created my first project.
My workflow was fairly straightforward. I used Copilot Chat to flesh out the general framework, and then I used GitHub Copilot in VS Code to write the code itself.
This did break my core principle of understanding what all the code was doing, but I was amazed at how quickly the project came together. I soon realized that I was learning the code as I went. I found that I could follow what was being done, research and suggest the best libraries to use, and even tweak some of the UI code myself. Not only did I learn a lot about C++/Arduino development on a CYD, but I also learned how to use GitHub.
In the end, I created something very different from what TalkingSasquach made, but it was my project, and it did the things I found useful. I created a Wi-Fi scanner, a complete BLE HID box that works with my phone, and timer functions similar to those in this project: PyBadge Timer Box
To top it all off, with the AI’s help, I built a modular framework that I can reuse for other project ideas without having to recreate all the underlying infrastructure.
The developing project can be seen in this GitHub repository: CYD ESP32 WiFi-BLE-Timers Project.
This page (From Rabbit Holes to Catacombs - Programming with AI) was last updated on October 16, 2026.
Text editor powered by tinymce.