[{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/002/644/original/CYD_home.jpg?1792172737","metadata":{}},{"element_type":"text","content":"\u003cp\u003eLast year I wrote about my first foray into using AI to help develop a CircuitPython project for a GPS tracking tool:\u0026nbsp;\u003ca title=\"Going Down the Rabbit Hole of AI Coding - GPS Tracker\" href=\"https://adafruit-playground.com/u/danak/pages/gps-tracker-coding-in-circuitpython-going-down-the-ai-rabbit-hole\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eGoing Down the Rabbit Hole of AI Coding - GPS Tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003eSince 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.\u003c/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eOne 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.\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003eI recently saw this blog post and I was intrigued: \u003ca title=\"Squachwatch for the Cheap Yellow Display\" href=\"https://blog.adafruit.com/2026/09/28/squachwatch-firmware-for-the-cheap-yellow-display-that-gamifies-detecting-things/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eSquachwatch for the \"cheap-yellow-display\" that Gamifies Detecting Things.\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eI 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!”\u003c/p\u003e\n\u003cp\u003eMy 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.\u003c/p\u003e\n\u003cp\u003eSide 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.\u003c/p\u003e\n\u003cp\u003eMany, 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.\u003cspan\u003e\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003eMy 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.\u003c/p\u003e\n\u003cp\u003eThis 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.\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cspan\u003eIn 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: \u003c/span\u003e\u0026nbsp;\u003ca title=\"PyBadge Timer Box\" href=\"https://adafruit-playground.com/u/danak/pages/pybadge-timer-box\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ePyBadge Timer Box\u003c/a\u003e\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003eTo 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.\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003eThe developing project can be seen in this GitHub repository: \u003ca title=\"CYD ESP32 WiFi-BLE-Timers Project\" href=\"https://github.com/gh3262/CYD-NetworkMonitor\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eCYD ESP32 WiFi-BLE-Timers Project.\u003c/a\u003e\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e","metadata":{}}]