Annoy-Tron | the AI Robot That Writes an Insult and Beeps Until You Admit It's True
by cyril4 in Circuits > Raspberry Pi
22 Views, 0 Favorites, 0 Comments
Annoy-Tron | the AI Robot That Writes an Insult and Beeps Until You Admit It's True
.png)
.jpg)

Want to build something hilariously annoying, slightly offensive, and totally satisfying to press? This Wi-Fi-connected insult bot uses a Raspberry Pi Pico W, some LEDs, a passive buzzer, and a generative AI model to roast your friends with a new insult every time they press a button (which they absolutely shouldn't do—but will anyway).
The insult is shown on a 16x2 LCD "mouth" while LED "eyes" blink and a piezo "nose" screeches until someone gives up and presses the button. Once they do, it smugly declares: "I know, I'm always right." Then it resets, ready to insult the next victim.
If the bot can’t connect to Wi-Fi, it doesn't suffer silently. Instead, it displays the message: "Wi-Fi's off. Fix it, genius."
Let's build it.
Supplies
Hardware:
- Raspberry Pi Pico W
- 16x2 I2C LCD (address: 0x27)
- 2x LEDs (for eyes)
- 2x 220Ω resistors (for LEDs)
- 1x Passive piezo buzzer (or active if you modify code)
- 1x Momentary pushbutton (for nose)
- Jumper wires
- Breadboard (optional)
Software:
- Thonny IDE
- MicroPython firmware flashed on the Pico W
- lcd_api.py and i2c_lcd.py for LCD control
Wiring
.png)
.png)
Note: Passive piezo buzzers are controlled with PWM for tone. Active buzzers just beep when powered and require code modifications.
Software Setup

Step 2: Software Setup
- Flash MicroPython to the Pico W (Download MicroPython here.)
- Install Thonny IDE and connect to the Pico
- Upload the following files to the Pico:
- main.py (see below)
- secrets.py with your Wi-Fi and OpenRouter API key
- lcd_api.py and i2c_lcd.py
Example secrets.py
Assembly


As shown in the example build, mount all components onto a durable faceplate made from cardboard, wood, acrylic, or 3D-printed plastic. made from cardboard, wood, acrylic, or 3D-printed plastic.
- The LCD screen is mounted in a rectangular cutout and acts as the mouth.
- The two LEDs (blue and orange) serve as eyes and are hot-glued from the rear.
- The passive piezo buzzer is mounted at nose height and serves as the nose.
A momentary push button is mounted on the bottom and labeled with a sign that reads:
"By pressing this button, you admit that the current message displayed on my mouth is a true statement." and labeled with a sign that reads:
"By pressing this button, you admit that the current message displayed on my mouth is a true statement."
Copy and edit the sign here or download and print the attached file.
- The components are held in place with hot glue, and the wires are routed through the back to the Pico for minimal visible clutter. Route wires to the Pico safely and label GPIOs if permanent.
Downloads
Conclusion



With just a Pico W and a few parts, you've built a personality-filled piece of sarcasm. Whether you mount it to your wall, your desk, or unleash it on unsuspecting coworkers, this insult bot is guaranteed to get reactions—and maybe even confessions. Now go forth and make people press buttons they’ll regret.