Compare commits

..

1 commit

Author SHA1 Message Date
ff3072474f
[wip] new rgb guide
All checks were successful
/ build (pull_request) Successful in 25s
2025-12-15 16:33:08 +01:00
3 changed files with 35 additions and 31 deletions

View file

@ -63,7 +63,7 @@
</p>
<ul>
<li><a href="./rgb-ears.html">EH22 Catear Guide</a></li>
<li><a href="https://wiki.hamburg.ccc.de/club:c3cat:start">CCCHH Wiki page (TODO: Maybe put this somewhere else)</a></li>
<li><a href="https://wiki.hamburg.ccc.de/club:c3cat:start">CCCHH Wiki page</a></li>
<li><a href="https://www.printables.com/de/model/35076-cat-ears" rel="external">Original Catear model from <i>Printables</i></a></li>
</ul>

View file

@ -109,10 +109,12 @@
<main>
<h1>RGB Catear Build Instructions</h1>
<picture>
<source srcset="assets/img/c3cat-c3sign-cccamp23-transparent-for-dark.webp" media="(prefers-color-scheme: dark)"/>
<img src="assets/img/c3cat-c3sign-cccamp23-transparent.webp" alt="C3CAT with a cat ear headband around the 'A'" class="hero-img"/>
</picture>
<a href="/">
<picture>
<source srcset="assets/img/c3cat-c3sign-cccamp23-transparent-for-dark.webp" media="(prefers-color-scheme: dark)"/>
<img src="assets/img/c3cat-c3sign-cccamp23-transparent.webp" alt="C3CAT with a cat ear headband around the 'A'" class="hero-img"/>
</picture>
</a>
<section id="introduction">
<fieldset id="detail-grade-picker">

View file

@ -10,15 +10,17 @@
<main>
<h1>Addressable LED Catears</h1>
<picture>
<source srcset="assets/img/c3cat-c3sign-cccamp23-transparent-for-dark.webp" media="(prefers-color-scheme: dark)"/>
<img src="assets/img/c3cat-c3sign-cccamp23-transparent.webp" alt="C3CAT with a cat ear headband around the 'A'" class="hero-img"/>
</picture>
<a href="/">
<picture>
<source srcset="assets/img/c3cat-c3sign-cccamp23-transparent-for-dark.webp" media="(prefers-color-scheme: dark)"/>
<img src="assets/img/c3cat-c3sign-cccamp23-transparent.webp" alt="C3CAT with a cat ear headband around the 'A'" class="hero-img"/>
</picture>
</a>
We started distributing 3D printed cat ears on a large scale a while ago.
At the 37C3 we started adding LEDs to some of them in static colors - you can find the needed parts for that <a href="https://wiki.hamburg.ccc.de/club:c3cat:start">over here</a>.
Over the year some us wanted to build addressable ligth-up catears, with different functions.
We decided to provide one guide for a more basic version and below some modifications to improve it.
We decided to provide one guide for a more basic version and below some modifications to improve it.
<h2>Base version</h2>
@ -37,36 +39,36 @@ You will need a chromium based browser for the flashing process (Firefox will no
<img src="assets/img/b1.jpeg" alt="Picture of soldered cable" class="hero-img"/> </br>
<img src="assets/img/b2.jpeg" alt="Picture of shrinked tubed cables " class="hero-img"/> </br>
<img src="assets/img/b3.jpeg" alt="Fully shrinked tubed cable" class="hero-img"/> </br>
<h3>Step 2: Prepare the LED strip</h3>
<h3>Step 2: Prepare the LED strip</h3>
Pull a 1cm piece of the 7mm heat shrink over the long cable.
We now solder the 1cm end to the LED strip. To do this, we first need to find the correct end of the strip. Our strip had the following labeling on the back - we need the end with an INPUT pin (marked IN here):
<img src="assets/img/b4.jpeg" alt="Backside of LED strip" class="hero-img"/> </br>
<img src="assets/img/b5.jpeg" alt="Fully assambled LED strip" class="hero-img"/> </br>
Now solder the cable to the LED strip according to the inputs (we have chosen red=5V, black=GND and yellow/green=data). Then protect the soldered joint with the piece of shrink tubing that we put on the cable.
Now solder the cable to the LED strip according to the inputs (we have chosen red=5V, black=GND and yellow/green=data). Then protect the soldered joint with the piece of shrink tubing that we put on the cable.
<h3>Step 3: Attach cable to the ESP</h3>
We now solder the other connector to the ESP. The red cable to the 5V pin, the black cable to GND and we have chosen pin 3 for the green data cable:
<img src="assets/img/b6.jpeg" alt="Picture with Pins" class="hero-img"/> </br>
<img src="assets/img/b6.jpeg" alt="Picture with Pins" class="hero-img"/> </br>
<img src="assets/img/b7.jpeg" alt="Soldered cables (back)" class="hero-img"/> </br>
<img src="assets/img/b8.jpeg" alt="Soldered cables (front)" class="hero-img"/> </br>
<h3>Step 4: Prepare the case</h3>
As we want to close the case with a screw, we use a heat insert with an M3 thread. Of course, a modified version of the case can also be used, in which the screw is held directly in the 3D print - this is not suitable for frequent opening, as the plastic thread wears out quickly.
So: If applicable, heat it according to the instructions of the heat inserts and place it in the 3D print.
<img src="assets/img/b9.jpeg" alt="heat set insert" class="hero-img"/>
<h3>Step 6: Assemble the case</h3>
Now pack the ESP into the case, place the button and fix the cables with hot glue if necessary.
<img src="assets/img/b10.jpeg" alt="finished case" class="hero-img"/>
<h3>Step 7: Glue the LED strip to the 3D-Printed catears</h3>
Now we are finished the hardware
@ -92,7 +94,7 @@ you can configure a AP-Password to secure your catears against those Eggdy Hacke
<picture>
<img src="assets/img/party-2.webp" alt="Lit-up catears balanced on a glass bottle as a stand. In front of the bottle there is a white plastic box, connected to the catears and a black powerbank next to it." class="blog-img"/>
</picture>
<p>
I wore them for the first time at gpn22 and tested them during the party there. Worked well, looked great and quite some people asked me how to built them. So here are instructions on how to build your own.
</p>
@ -127,7 +129,7 @@ you can configure a AP-Password to secure your catears against those Eggdy Hacke
<li>connectors</li>
<li>small bolts and nuts (I used m2)</li>
</ul>
<h4>Buildsteps</h4>
<h5>Electronics and Case</h5>
@ -136,7 +138,7 @@ you can configure a AP-Password to secure your catears against those Eggdy Hacke
</picture>
<p>
Connect the Microphone to the ESP.
Connect the Microphone to the ESP.
See <a href="https://mm.kno.wled.ge/WLEDSR/Digital-Microphone-Hookup/">here</a> for the pinout. For my INMP441 I've used the following pins :
</p>
<pre>I2S SD: 3
@ -147,14 +149,14 @@ I2S MCLK: N/A</pre>
<p>
But you can pick any supported microphone and are quite flexible in choosing those pins.
</p>
<p>
The ws2812 data pin from the stripe on the ears is connected to `GPIO 4`. See [here](https://mm.kno.wled.ge/basics/getting-started/#quick-start-guide) on general info on howto connect those LEDs. I've picked a 100 Ohm resistor and skipped the level shifter.<br>
My board has another ws2812 LED on `GPIO 21` connected. I use this one as status LED. It's visible evenfrom outside the case.<br>
For power I've connected an USB C socket. It's secured with a cable tie. I picked this option over using the port on the devboard because the traces do not like the \~3A peak current I'd like to draw. It's recommended to add some random amount of capacitors as well. Considering I plan to support a 15W LED strob mode as it's probably not a bad idea. WLED recommends 1000µF.<br>
I've used m2 screws to connect board and case. To protect against stress I'd recommend to secure all external cables and sockets to the case and not only to the PCB.
</p>
<h5>Ears</h5>
<picture>
<img src="assets/img/party-5.webp" alt="Catears with a powered off led strip glued to it. At the end of the cable coming from the catears is a plug with three exposed pins." class="blog-img"/>
@ -167,7 +169,7 @@ I2S MCLK: N/A</pre>
<p>
You need a thin LED stripe for this build. I picked up a 4mm wide one from Aliexpress which came in a silicone tube. I'd recommend a high pixel density, like 200/m, for maximum blink. For the linked 3d model this results in the need for 31cm or 60 LEDs of 200 LEDs/m stripe. I'd recommend to power on the stripe, turn on 60 LEDs, mark them, turn the stripe off and then cut it to length.
</p>
<picture>
<img src="assets/img/party-6.webp" alt="" class="blog-img"/>
</picture>
@ -175,7 +177,7 @@ I2S MCLK: N/A</pre>
<p>
At areas of high stress (narrow bends) I've reinforced the stripe with transparent string and glue. This keeps the stripe and ears from seperating.
</p>
<picture>
<img src="assets/img/party-7.webp" alt="" class="blog-img"/>
</picture>
@ -213,31 +215,31 @@ Most importantly: experiment! Find out what looks you like. Try out what effects
<p>
Use a different connector as I did
</p>
<h5>No USB power delivery support</h5>
<p>
The USB C breakout I used doesn't support USB PD. Use a different module or USB A -> C cables.
</p>
<h5>Too much bass (lol)</h5>
<p>
If it gets too loud the microphone clips out even on minimal gain settings. Either use a line in or add sound isolation. A different microphone could help as well. Or ignore the problem, it still blinks good enough.
</p>
<h5>More Documentation</h5>
<p>
I took way too few pictures of the ears in action. I'd realy love to have more pictures of them and some other wearables I plan to build. Hopefully fixable on the next event.
</p>
<h5>Hardware Controlls and Buttons</h5>
<p>
Looking at a phone screen is annoying. I'd love a button to cycle presets.
</p>
<h5>Sync</h5>
<p>
WLED has the option to sync multiple devices via wifi... I've some plans.
</p>
</p>
</main>
<footer>
<p>