I go to a lot of tech community events in Japan — meetups, conferences, maker fairs. Each time, something about how I present myself changes: the community logo, my handle, the name of the circle I'm with.
Making a new prop for each event isn't practical. So instead of building one fan, I built one that can be re-skinned.
The point of this project isn't the LEDs. It's the mechanics.
What's different about itMost LED props are one fixed object. This one is built so that each thing that changes between events is a separate, replaceable part — and each is handled by a different method, chosen to fit how often it changes and how much effort the change is worth.
There are four of them.
Four things you can swap1. The artwork — unscrew and replaceThe illustration panel on the front is held by bolts into heat-set insert nuts in the 3D-printed body. Undo the bolts, put in a different printed panel, bolt it back. No glue, and no reprinting the rest of the fan.
2. The text — rewrite from a phone, no wiringThe e-paper display is a Santek EZ Sign NFC. It has no battery of its own: the power to rewrite it comes from the phone over NFC, and once written it keeps the image with no power. You make the image in the free app and hold the phone against it. The 4-colour model takes about 30 seconds per rewrite.
A deliberate choice: this display is not driven by the M5Stack controller. Leaving it independent means no wires cross into the blade — which is what lets the fan split apart (below). It also means the text stays put even with the battery removed.
3. Transport — the handle detaches from the bladeThe handle and the round blade come apart, so the fan packs flat in a bag instead of sticking out of it. On a crowded train to a venue, that's the difference between bringing it and leaving it home.
4. Power — the battery peels offThe power bank is held on with hook-and-loop tape on the back, so it can be swapped mid-event or taken off for travel.
Why an AA-cell power bank instead of a built-in lithium pack: this is an object that gets carried in bags, handed to people, and left on a table all day. I used a power bank that runs on replaceable AA cells to reduce the fire risk that a built-in lithium cell carries in something handled this roughly. It also means the power source can be replaced anywhere, and the fan can travel with the cells taken out.
How the M5Stack controller is usedThe controller is an M5Stack AtomS3, mounted on the back of the blade.
It drives a Unit Neco (SKU: U163) — M5Stack's cat-ear shaped RGB panel, connected over a Grove port.
The AtomS3's screen doubles as the button. Pressing it cycles the lighting through three modes:
- Twinkle — individual LEDs light in random colours and fade
- Color Wipe — a single colour fills in from one end and stays lit
- Breathing — the whole panel rises and falls in one colour
Using the controller's own screen as the button means it's operated one-handed, while still holding the fan.
The full source code and the STL files for the 3D-printed parts are included with this project.
- Code — the AtomS3 program, written in UIFlow2 and exported as MicroPython. See the GitHub repository.
- 3D-printed parts — the STL files are attached to this project (see the CAD / STL section).
The illustration panel is a separate printed part held on with bolts, so you can print more than one and swap them.
GitHub:yankee-08/Necomimi-Fan---a-re-skinnable-LED-fan-for-events
Thanks for reading






Comments