House Centipede Annotated as an ATmega Microcontroller Pinout
Why is this EmbeddedSystems meme funny?
Level 1: A Creepy-Crawly With Instructions
Imagine finding a scary bug on your wall, and instead of screaming, someone takes its picture and carefully labels every single leg like the assembly instructions for a gadget: "this leg is the on-switch, this leg is the antenna, these six legs are for listening." It's funny because computer chips really do look like stiff metal bugs with lots of legs, and engineers literally call problems in their machines "bugs" — so here, at last, is the one bug that comes with its own instruction manual.
Level 2: Reading the Legs
A microcontroller is a tiny self-contained computer on one chip — CPU, memory, and peripherals — and each metal pin (leg) connects it to the outside world. A pinout diagram is the map in the datasheet telling you which leg does what. The labels here are real ones:
VCC/GND— power in and ground; nothing works without these.RXD/TXD— receive and transmit for serial communication (how the chip talks to your PC).MOSI,MISO,SCK,SS— the SPI bus, used to talk to sensors, displays, and SD cards.ADC0–ADC5— analog inputs that turn voltages (a knob, a light sensor) into numbers.XTAL1/XTAL2— where the crystal oscillator connects, the chip's heartbeat.reset,INT0/INT1— restart the chip, or let external events interrupt the program.
If you've ever followed an Arduino tutorial, you've used these exact names in code like digitalWrite() or analogRead(A0) — this meme is just the hardware truth behind those friendly function calls, wearing far too many legs.
Level 3: The Original Bug, Now With SPI
The pun operates on the oldest joke in the discipline — the literal bug — but executes it with the kind of rigor that makes embedded engineers involuntarily respect it. A Scutigera coleoptrata (house centipede) is nature's DIP package: an elongated body with an unsettling number of thin legs coming off both sides, which is precisely the silhouette of the through-hole microcontrollers that generations of engineers learned on. The visual mapping is so clean that your brain does the pinout lookup before it registers the revulsion.
The chip being referenced is the heart of the Arduino ecosystem — the ATmega328 on an Uno is the single most-handled microcontroller of the hobbyist era — so the audience for this joke is enormous: anyone who has ever crossed RXD/TXD and wondered why serial was silent (the eternal rite: TX goes to RX, not TX to TX), anyone who's forgotten the decoupling cap on AVCC and gotten ADC readings that wander like the centipede itself, anyone who's wired MOSI/MISO/SCK to a sensor at 2 AM. There's also a darker resonance for the embedded crowd: house centipedes show up where you don't want them, move too fast, and hide in dark corners — which is also a complete description of firmware bugs. The folklore writes itself: the first documented computing "bug" was an actual moth taped into a relay logbook; this one is a substantial upgrade, shipping with hardware UART, SPI, six ADC channels, and external interrupts. And unlike your dev board, it self-relocates when you reach for it — a feature the meme leaves as an exercise for the reader.
Level 4: Datasheet-Accurate Arthropod
Here's what elevates this from "haha bug has legs" to a small work of engineering art: the labels aren't random pin names sprinkled on a centipede — they follow the exact physical pin order of an ATmega8/ATmega328 in a PDIP-28 package, walking around the insect the way you'd walk around the chip. Start at the head-left with reset (pin 1), proceed down the left flank through RXD, TXD, INT0, INT1, XCK, VCC, GND, XTAL1, XTAL2 (pins 2–10), wrap around the tail through T1, AIN0, AIN1, ICP1, OC1A, SS (pins 11–16), then climb the right flank with MOSI, MISO, SCK, AVCC, AREF, GND (pins 17–22), finishing along the antennae-end with ADC0 through ADC5 (pins 23–28). Whoever made this had the datasheet open. The pin multiplexing tells you why each name exists: AVR chips are pin-constrained, so nearly every leg is shared between GPIO and a hardware peripheral — XCK rides on the synchronous-USART clock, ICP1 latches Timer1's count on an input edge for precise pulse measurement, OC1A is Timer1's PWM output compare, and AIN0/AIN1 feed the analog comparator. Even the two GND labels and the separate AVCC/AREF are faithful: the analog supply and reference are isolated from digital ground noise so the 10-bit ADC's least significant bits mean something. The centipede, in other words, has better mixed-signal layout discipline than many first-revision PCBs.
Description
A photograph of a house centipede (Scutigera coleoptrata) on a yellow textured wall, with its many long legs labeled like a microcontroller pinout diagram. Labels in black text point to individual legs: reset, RXD, TXD, INT0, INT1, XCK, VCC, GND, XTAL1, XTAL2, T1, AIN0, AIN1, ICP1, OC1A, SS, MOSI, MISO, SCK, AVCC, AREF, GND, ADC0 through ADC5. These are the exact pin names of an Atmel/Microchip AVR ATmega8/ATmega328-class chip (UART, SPI, analog inputs, crystal oscillator pins), as found on Arduino boards. The joke equates the bug's unsettling abundance of legs with a DIP package's pins - a literal 'bug' with a datasheet-accurate pinout
Comments
6Comment deleted
The first bug in computing was a moth in a relay; this one ships with hardware SPI and six ADC channels
average TI pinout Comment deleted
thanks, now I can't stop associating chips with milipedes Comment deleted
CP1?????????? Comment deleted
CP1 was so cool they decided to make 2076 sequels Comment deleted
This is why I hate smd chips Comment deleted