diff --git a/2024-BLINKnd-ears/02-ears-controller-on-stand.jpg b/2024-BLINKnd-ears/02-ears-controller-on-stand.jpg deleted file mode 100755 index 5fc8739..0000000 Binary files a/2024-BLINKnd-ears/02-ears-controller-on-stand.jpg and /dev/null differ diff --git a/2024-BLINKnd-ears/03-ears-powered-off.jpg b/2024-BLINKnd-ears/03-ears-powered-off.jpg deleted file mode 100755 index bb4714e..0000000 Binary files a/2024-BLINKnd-ears/03-ears-powered-off.jpg and /dev/null differ diff --git a/2024-BLINKnd-ears/04-ears-powered-on-side.jpg b/2024-BLINKnd-ears/04-ears-powered-on-side.jpg deleted file mode 100755 index a5d9965..0000000 Binary files a/2024-BLINKnd-ears/04-ears-powered-on-side.jpg and /dev/null differ diff --git a/2024-BLINKnd-ears/05-ears-reinforcement-closeup.jpg b/2024-BLINKnd-ears/05-ears-reinforcement-closeup.jpg deleted file mode 100755 index 9e557cb..0000000 Binary files a/2024-BLINKnd-ears/05-ears-reinforcement-closeup.jpg and /dev/null differ diff --git a/2024-BLINKnd-ears/06-case-closed.jpg b/2024-BLINKnd-ears/06-case-closed.jpg deleted file mode 100755 index e6546f1..0000000 Binary files a/2024-BLINKnd-ears/06-case-closed.jpg and /dev/null differ diff --git a/2024-BLINKnd-ears/07-pcb-closeup.jpg b/2024-BLINKnd-ears/07-pcb-closeup.jpg deleted file mode 100755 index 959b92d..0000000 Binary files a/2024-BLINKnd-ears/07-pcb-closeup.jpg and /dev/null differ diff --git a/2024-BLINKnd-ears/BLINKnd-ears-v1.md b/2024-BLINKnd-ears/BLINKnd-ears-v1.md deleted file mode 100755 index 5f90189..0000000 --- a/2024-BLINKnd-ears/BLINKnd-ears-v1.md +++ /dev/null @@ -1,130 +0,0 @@ -# BLINKnd Ears - Version 1 - -![01-nd-gpn22.jpg](.attachments.20628352/01-nd-gpn22.jpg) - -Some people started distributing 3d printed cat ears on a large scale a while ago. At the last congress, people started adding LEDs to them. But so far all variants I've seen only had a static color. Well, I wanted something blinking and useable for dancing and it should react to the beat. - -So of course I built just that. - -![02-ears-controller-on-stand.jpg](.attachments.20628352/02-ears-controller-on-stand.jpg) - -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. - -![06-case-closed.jpg](.attachments.20628352/06-case-closed.jpg) - -I opted to use prefabricated modules instead of creating my own PCB to get faster results and lower the entry barrier for clones. Using a custom PCB would probably result in a smaller size. - -## How Does it Work? - -I carry an ESP32 running the [WLED MoonModules Project](https://mm.kno.wled.ge/) fork of [WLED](https://kno.wled.ge/). Connected to it is an I2S module. The sound input is used to run a [FFT](https://en.wikipedia.org/wiki/Fast_Fourier_transform) and beat detection on the ESP. Those are then used in light effects. As lights I use a ws2812 stripe glued to 3d printed cat ears. A cable is running from the ears behind my back under my shirt to the bum bag. All together is powered via an USB power bank. - -## Partlist - -- ESP32\[-S3\] (I used an [ESP32-S3 Mini](https://www.waveshare.com/esp32-s3-zero.htm). There are cheaper alternatives on Aliexpress. Do not use the single core variantes. Size matters) -- I2S microphone (I used an INMP441 module) -- A Case (You could 3d print this, I used some [cheap junction box from obi](https://www.obi.de/p/1820240/abzweigdose-ip54-75-mm-x-37-mm-x-40-mm-10-stueck)) -- USBC socket (for example [this one](https://www.amazon.de/dp/B0CPLS1X29)) -- WS2812 COB LED Strip (200 LEDs /m in my case, resulting in 60 LEDs on a 31cm stripe) -- Capacitors. \~1000uf in total. Used to stabilize the power supply. -- USB Power bank -- 3d printed cat ears (I used [this model provided by c3cat](https://wiki.hamburg.ccc.de/club:c3cat:start)). I'd recommend not to use PLA because of it's melting point. -- transparent glue -- black paint -- transparent plastic string -- some cables -- shrink tubing -- connectors -- small bolts and nuts (I used m2) - -## Buildsteps - -### Electronics and Case - -![07-pcb-closeup.jpg](.attachments.20628352/07-pcb-closeup.jpg) - -Connect the Microphone to the ESP. See [here](https://mm.kno.wled.ge/WLEDSR/Digital-Microphone-Hookup/) for the pinout. For my INMP441 I've used the following pins : - -``` -I2S SD: 3 -I2S WS: 2 -I2S SCK: 1 -I2S MCLK: N/A -``` - -But you can pick any supported microphone and are quite flexible in choosing those pins. - -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. - -My board has another ws2812 LED on `GPIO 21` connected. I use this one as status LED. It's visible evenfrom outside the case. - -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 1000uF. - -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. - -### Ears - -![03-ears-powered-off.jpg](.attachments.20628352/03-ears-powered-off.jpg) - -Get 3d printed cat ears. You should be able to find them in most hackspaces and chaos events. Or print your own with this [model from c3cat](https://wiki.hamburg.ccc.de/club:c3cat:start). I'd recommend HIPS or ABS as printing material since the LEDs get hot enought to bend PLA. Don't worry if you only have PLA ones, you just might have to heat and bend them back sometimes. I painted them black to keep moisture out permanently and have a smooth surface. - -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. - -![04-ears-powered-on-side.jpg](.attachments.20628352/04-ears-powered-on-side.jpg) - -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. - -![05-ears-reinforcement-closeup.jpg](.attachments.20628352/05-ears-reinforcement-closeup.jpg) - -On the lower half the string was painted black so it's not as visible. - -Use shrink tubing to fix the cable to the ears. You can substitute it for tape, but you have to build some kind of stress relive if you want your ears to last. Solder the cable to the backside of the stripe. - -**WARNING**: using the wrong polarity will result in a fried ESP. You should use a reverse secure connector unlike me. Ask me how I know... - -**WARNING 2**: I learned not all cables are skin-friendly. Random ones from Aliexpress especially might not be... maybe add a silicone tube or use less shitty cables. - -## Software and Configuration - -See [here](https://mm.kno.wled.ge/basics/install-binary/) how to flash the wled fork. The web installer didn't work for me so I went a different way: - -- flash tasmota via the [web installer](https://tasmota.github.io/install/) -- connect to the wifi and go to the tasmota web terminal -> console -> [SetOption78 on](https://tasmota.github.io/docs/Commands/#setoption78) -- install wled via the tasmota ota update function - -It's probably easier to flash via CLI directly but I only had a phone with me at that moment. Yes we are in a future where you can flash a microcontroller via your phones browser. I love it! - -Now you should be able to connect to the WLED AP via wifi and it's standard password ( `wled1234` ). - -Configure your GPIOs via the webinterface. To get nicer effects, configure segments for parts like the ears and sides separately. Setup presets for effects and colors. - -Most importantly: experiment! Find out what looks you like. Try out what effects to use to what kind of music. [Script your own effects](https://mm.kno.wled.ge/moonmodules/arti-fx/). The documentation of WLED is quite a good help with that. - -## Observed Problems and Ideas - -### PLA melts - -Yes realy. \~3A at 5V is generates enough heat to soften PLA. My next version is made using [HIPS](https://en.wikipedia.org/wiki/Graft_polymer#High_impact_polystyrene). ABS would work as well. - -### Connector reversing kills the ESP - -Use a different connector as I did - -### No USB power delivery support - -The USB C breakout I used doesn't support USB PD. Use a different module or USB A -> C cables. - -### Too much bass (lol) - -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. - -### More Documentation - -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. - -### Hardware Controlls and Buttons - -Looking at a phone screen is annoying. I'd love a button to cycle presets. - -### Sync - -WLED has the option to sync multiple devices via wifi... I've some plans. \ No newline at end of file diff --git a/3d-printables.html b/3d-printables.html deleted file mode 100644 index f5c3f35..0000000 --- a/3d-printables.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - c3cat - - - - -
-

3D Printables

- - - - C3CAT with a cat ear headband around the 'A' - - - - - -
- - - diff --git a/Readme.md b/Readme.md index 669c086..6f5d2d9 100644 --- a/Readme.md +++ b/Readme.md @@ -1,5 +1,7 @@ # c3cat Website +CI TEST + This repo contains a landing page for c3cat. ## Usage diff --git a/assets/css/style.css b/assets/css/style.css index 466a9b7..1a91953 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -1,111 +1,62 @@ -@layer base, per-site; +:root { + /* Use a shade of the c3cat logos pink, which works nicely as a link color. */ + --accent-color-light: #DC049B; + /* A modified version of accent-color-light, which works nicely as a link color + * and with the dark theme */ + --accent-color-dark: #dc49b0; +} -@layer base { - :root { - /* Use a shade of the c3cat logos pink, which works nicely as a link color. */ - --accent-color-light: #DC049B; - /* A modified version of accent-color-light, which works nicely as a link color - * and with the dark theme */ - --accent-color-dark: #dc49b0; - } +body { + font-family: system-ui,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,Helvetica,Arial,"Helvetica Neue",sans-serif; - body { - font-family: system-ui,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,Helvetica,Arial,"Helvetica Neue",sans-serif; + text-align: left; - text-align: left; - line-height: 1.4; + /* Use dark grey instead of black to be lighter on the eyes. But also a grey + * which still works with the link color nicely. */ + background-color: #ffffff; + color: #2B2B2B; - /* Use dark grey instead of black to be lighter on the eyes. But also a grey - * which still works with the link color nicely. */ - --bg-color: #ffffff; - --fg-color: #2b2b2b; - --accent-color: var(--accent-color-light); - background-color: var(--bg-color); - color: var(--fg-color); - - @media (prefers-color-scheme: dark) { - /* Colors for dark theme, which have enough contrast, but also aren't too harsh on the eyes. */ - /* See: https://seirdy.one/posts/2020/11/23/website-best-practices/#dark-themes */ - --bg-color: #1b1b1b; - --fg-color: #ebebeb; - --accent-color: var(--accent-color-dark); - } - } - - .container { - max-width: 600px; - margin: 0 auto; - padding: 0 5px; - } - - footer { - margin-top: 4rem; - } - - img { - width: 100%; - } - - a:link, a:visited { - color: var(--accent-color); - padding-inline: 0.1ch; - &:hover:not(:has(img)) { - background-color: var(--accent-color); - color: white; - text-decoration: none; - } - } - - u { - text-decoration-color: var(--accent-color); - } - - ul li::marker { - color: color-mix(in hsl, var(--accent-color) 50%, var(--fg-color) 50%); - font-size: larger; - } - - .title { - text-align: center; - } - - .hero-img { - max-width: 500px; - display: block; - margin: 0 auto; - } - - p.bigger { - font-size: 1.2rem; - } - - section { - margin-top: 3rem; - } - - details { - border: 1px solid var(--accent-color); - border-radius: 8px; - background-color: color-mix(in hsl, var(--accent-color) 20%, var(--bg-color) 80%); - - & > * { - padding: 0.5rem 1ch; - } - - & > summary { - cursor: pointer; - user-select: none; - } - - &[open] > summary { - border-bottom: 1px solid var(--accent-color); - margin-left: 0; - margin-right: 0; - } - } - - pre { - overflow-x: scroll; + @media (prefers-color-scheme: dark) { + /* Colors for dark theme, which have enough contrast, but also aren't too harsh on the eyes. */ + /* See: https://seirdy.one/posts/2020/11/23/website-best-practices/#dark-themes */ + background-color: #1b1b1b; + color: #ebebeb; } } +.container { + max-width: 600px; + margin: 0 auto; + padding: 0 5px; +} + +footer { + margin-top: 4rem; +} + +img { + width: 100%; +} + + +a:link, a:visited { + color: var(--accent-color-light); + @media (prefers-color-scheme: dark) { + color: var(--accent-color-dark); + } +} + + +.title { + text-align: center; +} + +.hero-img { + max-width: 500px; + display: block; + margin: 0 auto; +} + +p.bigger { + font-size: 1.2rem; +} diff --git a/assets/img/3d-printables/catears-printables.webp b/assets/img/3d-printables/catears-printables.webp deleted file mode 100644 index 930150a..0000000 Binary files a/assets/img/3d-printables/catears-printables.webp and /dev/null differ diff --git a/assets/img/b1.jpeg b/assets/img/b1.jpeg deleted file mode 100644 index 3c6ae2d..0000000 Binary files a/assets/img/b1.jpeg and /dev/null differ diff --git a/assets/img/b10.jpeg b/assets/img/b10.jpeg deleted file mode 100644 index a5ed977..0000000 Binary files a/assets/img/b10.jpeg and /dev/null differ diff --git a/assets/img/b2.jpeg b/assets/img/b2.jpeg deleted file mode 100644 index 3154778..0000000 Binary files a/assets/img/b2.jpeg and /dev/null differ diff --git a/assets/img/b3.jpeg b/assets/img/b3.jpeg deleted file mode 100644 index f03094e..0000000 Binary files a/assets/img/b3.jpeg and /dev/null differ diff --git a/assets/img/b4.jpeg b/assets/img/b4.jpeg deleted file mode 100644 index 8c6309c..0000000 Binary files a/assets/img/b4.jpeg and /dev/null differ diff --git a/assets/img/b5.jpeg b/assets/img/b5.jpeg deleted file mode 100644 index dee4243..0000000 Binary files a/assets/img/b5.jpeg and /dev/null differ diff --git a/assets/img/b6.jpeg b/assets/img/b6.jpeg deleted file mode 100644 index b6dc08a..0000000 Binary files a/assets/img/b6.jpeg and /dev/null differ diff --git a/assets/img/b7.jpeg b/assets/img/b7.jpeg deleted file mode 100644 index 52a6a1c..0000000 Binary files a/assets/img/b7.jpeg and /dev/null differ diff --git a/assets/img/b8.jpeg b/assets/img/b8.jpeg deleted file mode 100644 index 5a86b3f..0000000 Binary files a/assets/img/b8.jpeg and /dev/null differ diff --git a/assets/img/b9.jpeg b/assets/img/b9.jpeg deleted file mode 100644 index b0fd640..0000000 Binary files a/assets/img/b9.jpeg and /dev/null differ diff --git a/assets/img/c3cat-c3sign-cccamp23-transparent-for-dark.webp b/assets/img/c3cat-c3sign-cccamp23-transparent-for-dark.webp old mode 100755 new mode 100644 diff --git a/assets/img/c3cat-c3sign-cccamp23-transparent.webp b/assets/img/c3cat-c3sign-cccamp23-transparent.webp old mode 100755 new mode 100644 diff --git a/assets/img/party-1.webp b/assets/img/party-1.webp deleted file mode 100755 index e2cabb9..0000000 Binary files a/assets/img/party-1.webp and /dev/null differ diff --git a/assets/img/party-2.webp b/assets/img/party-2.webp deleted file mode 100755 index f936bd2..0000000 Binary files a/assets/img/party-2.webp and /dev/null differ diff --git a/assets/img/party-3.webp b/assets/img/party-3.webp deleted file mode 100755 index 86eb655..0000000 Binary files a/assets/img/party-3.webp and /dev/null differ diff --git a/assets/img/party-4.webp b/assets/img/party-4.webp deleted file mode 100755 index 7b5dc24..0000000 Binary files a/assets/img/party-4.webp and /dev/null differ diff --git a/assets/img/party-5.webp b/assets/img/party-5.webp deleted file mode 100755 index be23c01..0000000 Binary files a/assets/img/party-5.webp and /dev/null differ diff --git a/assets/img/party-6.webp b/assets/img/party-6.webp deleted file mode 100755 index cd0a23a..0000000 Binary files a/assets/img/party-6.webp and /dev/null differ diff --git a/assets/img/party-7.webp b/assets/img/party-7.webp deleted file mode 100755 index 9397f1d..0000000 Binary files a/assets/img/party-7.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/10_1280.webp b/assets/img/rgb-ears-39c3/10_1280.webp deleted file mode 100644 index 488859e..0000000 Binary files a/assets/img/rgb-ears-39c3/10_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/10_1920.webp b/assets/img/rgb-ears-39c3/10_1920.webp deleted file mode 100644 index 2074cfc..0000000 Binary files a/assets/img/rgb-ears-39c3/10_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/10_4960.webp b/assets/img/rgb-ears-39c3/10_4960.webp deleted file mode 100644 index 875002a..0000000 Binary files a/assets/img/rgb-ears-39c3/10_4960.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/11_1280.webp b/assets/img/rgb-ears-39c3/11_1280.webp deleted file mode 100644 index 0c2854b..0000000 Binary files a/assets/img/rgb-ears-39c3/11_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/11_1920.webp b/assets/img/rgb-ears-39c3/11_1920.webp deleted file mode 100644 index 69d3e9e..0000000 Binary files a/assets/img/rgb-ears-39c3/11_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/11_5984.webp b/assets/img/rgb-ears-39c3/11_5984.webp deleted file mode 100644 index 2df58c9..0000000 Binary files a/assets/img/rgb-ears-39c3/11_5984.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/12_1280.webp b/assets/img/rgb-ears-39c3/12_1280.webp deleted file mode 100644 index af7f842..0000000 Binary files a/assets/img/rgb-ears-39c3/12_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/12_1920.webp b/assets/img/rgb-ears-39c3/12_1920.webp deleted file mode 100644 index 0d082ac..0000000 Binary files a/assets/img/rgb-ears-39c3/12_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/12_6133.webp b/assets/img/rgb-ears-39c3/12_6133.webp deleted file mode 100644 index 83fb2f2..0000000 Binary files a/assets/img/rgb-ears-39c3/12_6133.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/13_1280.webp b/assets/img/rgb-ears-39c3/13_1280.webp deleted file mode 100644 index 5485bcc..0000000 Binary files a/assets/img/rgb-ears-39c3/13_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/13_1920.webp b/assets/img/rgb-ears-39c3/13_1920.webp deleted file mode 100644 index 0cb10ed..0000000 Binary files a/assets/img/rgb-ears-39c3/13_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/13_5888.webp b/assets/img/rgb-ears-39c3/13_5888.webp deleted file mode 100644 index 3d7168e..0000000 Binary files a/assets/img/rgb-ears-39c3/13_5888.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/14_1280.webp b/assets/img/rgb-ears-39c3/14_1280.webp deleted file mode 100644 index 54d4ffa..0000000 Binary files a/assets/img/rgb-ears-39c3/14_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/14_1920.webp b/assets/img/rgb-ears-39c3/14_1920.webp deleted file mode 100644 index 4b31600..0000000 Binary files a/assets/img/rgb-ears-39c3/14_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/14_2641.webp b/assets/img/rgb-ears-39c3/14_2641.webp deleted file mode 100644 index 9820b9a..0000000 Binary files a/assets/img/rgb-ears-39c3/14_2641.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/15_1280.webp b/assets/img/rgb-ears-39c3/15_1280.webp deleted file mode 100644 index 42270f5..0000000 Binary files a/assets/img/rgb-ears-39c3/15_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/15_1920.webp b/assets/img/rgb-ears-39c3/15_1920.webp deleted file mode 100644 index 5023d1f..0000000 Binary files a/assets/img/rgb-ears-39c3/15_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/15_2757.webp b/assets/img/rgb-ears-39c3/15_2757.webp deleted file mode 100644 index 6e0be93..0000000 Binary files a/assets/img/rgb-ears-39c3/15_2757.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/16_1280.webp b/assets/img/rgb-ears-39c3/16_1280.webp deleted file mode 100644 index 2bed997..0000000 Binary files a/assets/img/rgb-ears-39c3/16_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/16_1920.webp b/assets/img/rgb-ears-39c3/16_1920.webp deleted file mode 100644 index 5b52a1e..0000000 Binary files a/assets/img/rgb-ears-39c3/16_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/16_3064.webp b/assets/img/rgb-ears-39c3/16_3064.webp deleted file mode 100644 index 0232e12..0000000 Binary files a/assets/img/rgb-ears-39c3/16_3064.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/17_1280.webp b/assets/img/rgb-ears-39c3/17_1280.webp deleted file mode 100644 index 1222600..0000000 Binary files a/assets/img/rgb-ears-39c3/17_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/17_1920.webp b/assets/img/rgb-ears-39c3/17_1920.webp deleted file mode 100644 index 709c8c9..0000000 Binary files a/assets/img/rgb-ears-39c3/17_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/17_6477.webp b/assets/img/rgb-ears-39c3/17_6477.webp deleted file mode 100644 index 305192f..0000000 Binary files a/assets/img/rgb-ears-39c3/17_6477.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/18_1280.webp b/assets/img/rgb-ears-39c3/18_1280.webp deleted file mode 100644 index 75022b9..0000000 Binary files a/assets/img/rgb-ears-39c3/18_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/18_1920.webp b/assets/img/rgb-ears-39c3/18_1920.webp deleted file mode 100644 index d1f1fef..0000000 Binary files a/assets/img/rgb-ears-39c3/18_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/18_7560.webp b/assets/img/rgb-ears-39c3/18_7560.webp deleted file mode 100644 index d1e9fe4..0000000 Binary files a/assets/img/rgb-ears-39c3/18_7560.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/19_1280.webp b/assets/img/rgb-ears-39c3/19_1280.webp deleted file mode 100644 index ea50407..0000000 Binary files a/assets/img/rgb-ears-39c3/19_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/19_1920.webp b/assets/img/rgb-ears-39c3/19_1920.webp deleted file mode 100644 index 344f490..0000000 Binary files a/assets/img/rgb-ears-39c3/19_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/19_7352.webp b/assets/img/rgb-ears-39c3/19_7352.webp deleted file mode 100644 index 6f742cb..0000000 Binary files a/assets/img/rgb-ears-39c3/19_7352.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/1_1280.webp b/assets/img/rgb-ears-39c3/1_1280.webp deleted file mode 100644 index 0e557e8..0000000 Binary files a/assets/img/rgb-ears-39c3/1_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/1_1919.webp b/assets/img/rgb-ears-39c3/1_1919.webp deleted file mode 100644 index f58f366..0000000 Binary files a/assets/img/rgb-ears-39c3/1_1919.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/1_6928.webp b/assets/img/rgb-ears-39c3/1_6928.webp deleted file mode 100644 index b2859b4..0000000 Binary files a/assets/img/rgb-ears-39c3/1_6928.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/20_1280.webp b/assets/img/rgb-ears-39c3/20_1280.webp deleted file mode 100644 index 7bd104d..0000000 Binary files a/assets/img/rgb-ears-39c3/20_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/20_1919.webp b/assets/img/rgb-ears-39c3/20_1919.webp deleted file mode 100644 index baef409..0000000 Binary files a/assets/img/rgb-ears-39c3/20_1919.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/20_5944.webp b/assets/img/rgb-ears-39c3/20_5944.webp deleted file mode 100644 index 344f1a0..0000000 Binary files a/assets/img/rgb-ears-39c3/20_5944.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/21_1280.webp b/assets/img/rgb-ears-39c3/21_1280.webp deleted file mode 100644 index 0e20b88..0000000 Binary files a/assets/img/rgb-ears-39c3/21_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/21_1920.webp b/assets/img/rgb-ears-39c3/21_1920.webp deleted file mode 100644 index 72b89f0..0000000 Binary files a/assets/img/rgb-ears-39c3/21_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/21_7960.webp b/assets/img/rgb-ears-39c3/21_7960.webp deleted file mode 100644 index 0bf6f08..0000000 Binary files a/assets/img/rgb-ears-39c3/21_7960.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/22_1280.webp b/assets/img/rgb-ears-39c3/22_1280.webp deleted file mode 100644 index e2a21d9..0000000 Binary files a/assets/img/rgb-ears-39c3/22_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/22_1920.webp b/assets/img/rgb-ears-39c3/22_1920.webp deleted file mode 100644 index 08c2020..0000000 Binary files a/assets/img/rgb-ears-39c3/22_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/22_6845.webp b/assets/img/rgb-ears-39c3/22_6845.webp deleted file mode 100644 index 8168b27..0000000 Binary files a/assets/img/rgb-ears-39c3/22_6845.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/2_1280.webp b/assets/img/rgb-ears-39c3/2_1280.webp deleted file mode 100644 index 5bfa017..0000000 Binary files a/assets/img/rgb-ears-39c3/2_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/2_1920.webp b/assets/img/rgb-ears-39c3/2_1920.webp deleted file mode 100644 index 05a0690..0000000 Binary files a/assets/img/rgb-ears-39c3/2_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/2_3032.webp b/assets/img/rgb-ears-39c3/2_3032.webp deleted file mode 100644 index 639ff06..0000000 Binary files a/assets/img/rgb-ears-39c3/2_3032.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/3_1280.webp b/assets/img/rgb-ears-39c3/3_1280.webp deleted file mode 100644 index 553c27f..0000000 Binary files a/assets/img/rgb-ears-39c3/3_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/3_1920.webp b/assets/img/rgb-ears-39c3/3_1920.webp deleted file mode 100644 index 5acef26..0000000 Binary files a/assets/img/rgb-ears-39c3/3_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/3_3273.webp b/assets/img/rgb-ears-39c3/3_3273.webp deleted file mode 100644 index 037e098..0000000 Binary files a/assets/img/rgb-ears-39c3/3_3273.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/4_1280.webp b/assets/img/rgb-ears-39c3/4_1280.webp deleted file mode 100644 index 9e9a332..0000000 Binary files a/assets/img/rgb-ears-39c3/4_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/4_1920.webp b/assets/img/rgb-ears-39c3/4_1920.webp deleted file mode 100644 index e65b6ac..0000000 Binary files a/assets/img/rgb-ears-39c3/4_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/4_3336.webp b/assets/img/rgb-ears-39c3/4_3336.webp deleted file mode 100644 index 3be5c58..0000000 Binary files a/assets/img/rgb-ears-39c3/4_3336.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/5_1280.webp b/assets/img/rgb-ears-39c3/5_1280.webp deleted file mode 100644 index 5944437..0000000 Binary files a/assets/img/rgb-ears-39c3/5_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/5_1920.webp b/assets/img/rgb-ears-39c3/5_1920.webp deleted file mode 100644 index 8bb2a12..0000000 Binary files a/assets/img/rgb-ears-39c3/5_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/5_3200.webp b/assets/img/rgb-ears-39c3/5_3200.webp deleted file mode 100644 index 8f74c57..0000000 Binary files a/assets/img/rgb-ears-39c3/5_3200.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/6_1280.webp b/assets/img/rgb-ears-39c3/6_1280.webp deleted file mode 100644 index 3b93e80..0000000 Binary files a/assets/img/rgb-ears-39c3/6_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/6_1920.webp b/assets/img/rgb-ears-39c3/6_1920.webp deleted file mode 100644 index 7dd5f5b..0000000 Binary files a/assets/img/rgb-ears-39c3/6_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/6_6480.webp b/assets/img/rgb-ears-39c3/6_6480.webp deleted file mode 100644 index 80fe215..0000000 Binary files a/assets/img/rgb-ears-39c3/6_6480.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/7_1280.webp b/assets/img/rgb-ears-39c3/7_1280.webp deleted file mode 100644 index b50b0a6..0000000 Binary files a/assets/img/rgb-ears-39c3/7_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/7_1920.webp b/assets/img/rgb-ears-39c3/7_1920.webp deleted file mode 100644 index 9bf7de5..0000000 Binary files a/assets/img/rgb-ears-39c3/7_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/7_5976.webp b/assets/img/rgb-ears-39c3/7_5976.webp deleted file mode 100644 index df141ba..0000000 Binary files a/assets/img/rgb-ears-39c3/7_5976.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/8_1280.webp b/assets/img/rgb-ears-39c3/8_1280.webp deleted file mode 100644 index 917de84..0000000 Binary files a/assets/img/rgb-ears-39c3/8_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/8_1920.webp b/assets/img/rgb-ears-39c3/8_1920.webp deleted file mode 100644 index b855932..0000000 Binary files a/assets/img/rgb-ears-39c3/8_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/8_5904.webp b/assets/img/rgb-ears-39c3/8_5904.webp deleted file mode 100644 index 83b1ba8..0000000 Binary files a/assets/img/rgb-ears-39c3/8_5904.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/9_1280.webp b/assets/img/rgb-ears-39c3/9_1280.webp deleted file mode 100644 index 2347bba..0000000 Binary files a/assets/img/rgb-ears-39c3/9_1280.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/9_1920.webp b/assets/img/rgb-ears-39c3/9_1920.webp deleted file mode 100644 index 5392c71..0000000 Binary files a/assets/img/rgb-ears-39c3/9_1920.webp and /dev/null differ diff --git a/assets/img/rgb-ears-39c3/9_4695.webp b/assets/img/rgb-ears-39c3/9_4695.webp deleted file mode 100644 index 13d6c22..0000000 Binary files a/assets/img/rgb-ears-39c3/9_4695.webp and /dev/null differ diff --git a/assets/img/rgb-guide-esp-labeled.jpeg b/assets/img/rgb-guide-esp-labeled.jpeg deleted file mode 100644 index b6dc08a..0000000 Binary files a/assets/img/rgb-guide-esp-labeled.jpeg and /dev/null differ diff --git a/assets/img/rgb-guide-soldered-isolated-strip.jpeg b/assets/img/rgb-guide-soldered-isolated-strip.jpeg deleted file mode 100644 index dee4243..0000000 Binary files a/assets/img/rgb-guide-soldered-isolated-strip.jpeg and /dev/null differ diff --git a/assets/img/rgb-guide-strip.webp b/assets/img/rgb-guide-strip.webp deleted file mode 100644 index 5e1dd4d..0000000 Binary files a/assets/img/rgb-guide-strip.webp and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0947.jpeg b/assets/img/untitled folder/IMG_0947.jpeg deleted file mode 100644 index 2ab30f5..0000000 Binary files a/assets/img/untitled folder/IMG_0947.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0948.jpeg b/assets/img/untitled folder/IMG_0948.jpeg deleted file mode 100644 index 7b79f27..0000000 Binary files a/assets/img/untitled folder/IMG_0948.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0949.jpeg b/assets/img/untitled folder/IMG_0949.jpeg deleted file mode 100644 index abd1b1e..0000000 Binary files a/assets/img/untitled folder/IMG_0949.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0950.jpeg b/assets/img/untitled folder/IMG_0950.jpeg deleted file mode 100644 index 7ac7356..0000000 Binary files a/assets/img/untitled folder/IMG_0950.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0951.jpeg b/assets/img/untitled folder/IMG_0951.jpeg deleted file mode 100644 index e1b864d..0000000 Binary files a/assets/img/untitled folder/IMG_0951.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0953.jpeg b/assets/img/untitled folder/IMG_0953.jpeg deleted file mode 100644 index ae8b78d..0000000 Binary files a/assets/img/untitled folder/IMG_0953.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0954.jpeg b/assets/img/untitled folder/IMG_0954.jpeg deleted file mode 100644 index 6db1ce7..0000000 Binary files a/assets/img/untitled folder/IMG_0954.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0955.jpeg b/assets/img/untitled folder/IMG_0955.jpeg deleted file mode 100644 index a66c603..0000000 Binary files a/assets/img/untitled folder/IMG_0955.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0957.jpeg b/assets/img/untitled folder/IMG_0957.jpeg deleted file mode 100644 index fec8316..0000000 Binary files a/assets/img/untitled folder/IMG_0957.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0958.jpeg b/assets/img/untitled folder/IMG_0958.jpeg deleted file mode 100644 index e3a900f..0000000 Binary files a/assets/img/untitled folder/IMG_0958.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0959.jpeg b/assets/img/untitled folder/IMG_0959.jpeg deleted file mode 100644 index b6dece0..0000000 Binary files a/assets/img/untitled folder/IMG_0959.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0962.jpeg b/assets/img/untitled folder/IMG_0962.jpeg deleted file mode 100644 index c46728b..0000000 Binary files a/assets/img/untitled folder/IMG_0962.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0963.jpeg b/assets/img/untitled folder/IMG_0963.jpeg deleted file mode 100644 index 8bdce90..0000000 Binary files a/assets/img/untitled folder/IMG_0963.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0965.jpeg b/assets/img/untitled folder/IMG_0965.jpeg deleted file mode 100644 index a438e52..0000000 Binary files a/assets/img/untitled folder/IMG_0965.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0966.jpeg b/assets/img/untitled folder/IMG_0966.jpeg deleted file mode 100644 index 1b10be9..0000000 Binary files a/assets/img/untitled folder/IMG_0966.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0968.jpeg b/assets/img/untitled folder/IMG_0968.jpeg deleted file mode 100644 index 0729ef2..0000000 Binary files a/assets/img/untitled folder/IMG_0968.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0970.jpeg b/assets/img/untitled folder/IMG_0970.jpeg deleted file mode 100644 index 0d641b5..0000000 Binary files a/assets/img/untitled folder/IMG_0970.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0972.jpeg b/assets/img/untitled folder/IMG_0972.jpeg deleted file mode 100644 index 4e07a6d..0000000 Binary files a/assets/img/untitled folder/IMG_0972.jpeg and /dev/null differ diff --git a/assets/img/untitled folder/IMG_0973.jpeg b/assets/img/untitled folder/IMG_0973.jpeg deleted file mode 100644 index 3d45f16..0000000 Binary files a/assets/img/untitled folder/IMG_0973.jpeg and /dev/null differ diff --git a/catear-bom.html b/catear-bom.html deleted file mode 100644 index 9fd35e6..0000000 --- a/catear-bom.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - c3cat - - - - -
-

39C3 RGB Catear Bill Of Materials

- - - - - C3CAT with a cat ear headband around the 'A' - - - -
-
-
WS2812B LED Strip
5mm wide, 160 LEDs/m
-
JST SM 3 Connectors
10 Pairs
-
Transparent Heat Shrink
8mm
-
Black Heat Shrink
5mm
-
Black Heat Shrink
3mm
-
ESP32 Controller
ESP32-C3 SuperMini
-
Cable (1,2m needed)
30AWG, 3 Cores
-
3D printed case
See below
-
-

- Parameters needed for the case: -

-
-
use_boot_button
true
-
use_custom_button
false
-
use_lip_lock
true
-
use_screw_lock
false
-
use_click_lock
true
-
use_slide_lock
false
-
add_12v_barrel_slot
false
-
-

- You might have to play around with tolerances, they have to be tuned to each filament and 3D-printer combination.
- Tuning top_cover_lip_tolerance might be all you need. -

-

- Thanks @traumweh@chaos.social and @kritzl@chaos.social for the awesome case! -

-
- -
- - - diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index 800f98d..0000000 Binary files a/favicon.ico and /dev/null differ diff --git a/index.html b/index.html index cb11c5d..69686ac 100644 --- a/index.html +++ b/index.html @@ -6,44 +6,6 @@ c3cat - -
@@ -54,20 +16,9 @@

Resources

- - -

Archive

-

- These are not necessarily the most up-to-date version but we maintain them here in case you have our link saved or found an old kit from us. -

- +

The "original" cat ear model we used was borrowed from Printables. + Since then, some people started to develop an improved and parametrized version with OpenSCAD.

+

See the CCCHH wiki for the latest information on signs, 3D models, etc.

History

A few people from Hamburg started to 3D-print and wear cat ear headbands at EH20 which lead to some "can I get one, too" reactions. diff --git a/rgb-ears-39c3.html b/rgb-ears-39c3.html deleted file mode 100755 index ca7be85..0000000 --- a/rgb-ears-39c3.html +++ /dev/null @@ -1,692 +0,0 @@ - - - - - - - c3cat - - - - -

-

39C3 RGB Catear Build Instructions

- - - - - C3CAT with a cat ear headband around the 'A' - - - -
-
- How much details do you need? - - - - - - - - -
- -

- This guide aims to explain in simple terms how to assemble the c3cat catear build kit. - If you did not get a hold of one of those kits, take a look at our BOM. -

- - - - -

- The general project assembly looks like this where each of the components must be connected via soldering points. -

- -
- A picture of an assembled set of LED catears -
-┌─────┐                          ╭───╮
-│ ESP ├┄┄╼ ╾┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄│   │
-└─────┘
-         ╱ ╲         ╱ ╲          ╱ ╲
-     pluggable      long         catear
-     connector      cable        & leds
-          
-

In addition to one of our kits, you will need

-
    -
  • soldering equipment
  • -
  • a heatgun
  • -
  • striping pliers
  • -
  • catears
  • -
-
-
- -
-

Kit Content §

-

- Out kits contain the following content: -

- A picture of the kit content layed out on a rat mat. It contains the items listed below -
    -
  • A 3D printed case for the microcontroller, here shown in bright green
  • -
  • An ESP microcontroller
  • -
  • An RGB LED strip, shown at the very bottom of the picture
  • -
  • One pluggable connector with three separate wires connected to each end separated into two pieces and shown at the top of the pictures
  • -
  • One 10cm long, clear piece of heatshrink
  • -
  • One 10cm long, small, black piece of heatshrink
  • -
  • One 10cm long, large, black piece of heatshrink
  • -
  • One long cable
  • -
-
- - -
-

Flash the microcontroller §

-

- We recommend to use WLED as a firmware on all our catears. - It offers a wide range of features for display and animation and can be controlled comfortably from your smartphone. -

-
    -
  1. -
    - - -
    -
  2. - -
  3. -
    - - -
    -
  4. - -
  5. -
    - - -
    -
  6. - -
  7. -
    - - -
    -
  8. -
-
- - -
-

Solder cables to LED strip §

-

- One of the most important steps is to electircally connect the microcontroller to the LED strip. - We will start with the LED side. -

-

- Basically, the LED strip has three connections. One for data, one for ground and one for voltage. - Each of these three functions requires a separately soldered connection. -

-

- Make sure to solder to the input side of the LED strip. -

- -
- A picture of the backside of an LED strip exposed. The ou label is visible on the part of it not connected to another strip segment. -
The wrong side of the LED strip demontrated by the ou (out) label being on the outside.
-
-
- A picture of the backside of an LED strip exposed. The in label is visible on the part of it not connected to another strip segment. -
The correct side of the LED strip demontrated by the in label being on the outside.
-
- -
    - -
  1. -
    - - -
    -
  2. - -
  3. -
    - - -
    -
  4. - -
  5. -
    - - -
    -
  6. - -
  7. -
    - - -
    -
  8. -
-
- - -
-

Solder Cable to pluggable connector §

-

- The other side of the long cable now needs to be connected to the pluggable connector. -

-
    - -
  1. -
    - - -
    -
  2. - -
  3. -
    - - -
    -
  4. - -
  5. -
    - - -
    -
  6. - -
  7. -
    - - -
    -
  8. - -
-
- - -
-

Solder Pluggable Connector to Microcontroller §

-

- Now you need to solder the other (female) part of the pluggable connector to your microcontroller. -

-
- The front side of the included microcontroller - The backside of the included microcontroller -
-
    - -
  1. -
    - - -
    -
  2. -
-
- - -
-

Finalize the Assembly §

-
    - -
  1. -
    - - -
    -
  2. - -
  3. -
    - - -
    -
  4. - -
  5. -
    - - -
    -
  6. - -
  7. -
    - - -
    -
  8. - -
- -

- Congratulations! You now have a freely customizable pair of RGB catears :3 -

-

- Don't feel pressured to wear cat ears – you're perfectly fine without them.
- And remember: Trans rights are human rights. -

-
-
- - - diff --git a/rgb-ears.html b/rgb-ears.html deleted file mode 100755 index 2e944e0..0000000 --- a/rgb-ears.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - c3cat - - -
-

Addressable LED Catears

- - - - - C3CAT with a cat ear headband around the '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 over here. - 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. - -

Base version

- -

Step 1: Flashing the microcontroller

- In order to make those fancy catears light up we need to falsh some firmware first. - Go to http://wled-install.github.io and choose the "Standard Version" - "ESP32-C3 (4MB Flash)". - Now take the ESP32 out of its package, connect it via USB-C to your computer and click the install button. You will be promted to choose a port. The flashing process will take a while. Please do not disconnect the ESP32 - this may brick the device. After flashing finished you will be prompted to choose a wifi, you can skip this step. -You will need a chromium based browser for the flashing process (Firefox will not work). - - -

Step 2: Prepare long cable

- Strip about 1 cm of insulation from one end of the cable and about 2 cm from the other end. - Pull a 1 cm piece of 4 mm heat-shrink tubing over the three cables of the female LED connector. Pull a 3 cm piece of 7 mm heat-shrink tubing over the long cable. Now solder the cables of the connector to the 2cm end of the long cable and then pull the pieces of heat-shrink tubing over the soldered joints. Heat the heat shrink until it is firmly attached. Then pull the 7mm heat shrink over the area and shrink again. - - - Picture of soldered cable
- Picture of shrinked tubed cables
- Fully shrinked tubed cable
- - -

Step 2: Prepare the LED strip

- 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): - - Backside of LED strip
- Fully assambled LED strip
- - 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. - -

Step 3: Attach cable to the ESP

- 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: - - Picture with Pins
- Soldered cables (back)
- Soldered cables (front)
- -

Step 4: Prepare the case

- 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. - - heat set insert - -

Step 6: Assemble the case

- Now pack the ESP into the case, place the button and fix the cables with hot glue if necessary. - - - finished case - -

Step 7: Glue the LED strip to the 3D-Printed catears

- Now we are finished the hardware - -

Step 8: Software Settings

- Now connect your catears to your Smartphone or Laptop. When powered up there will be an Access Point you can connect to. Its named "WLED-AP". - In the settings (To the controls -> Config (top right corner)) go to LED Preferences you will need to configure the amount of LEDs the strip has unter "Hardware setup" -> "LED outputs" -> Lenght. Its around 40. Chose 3 for DATA GPIO! - Back in the config Menue you can configure your WLED-AP under "WiFi Setup". Unter "Access Point" -you can configure a AP-Password to secure your catears against those Eggdy Hackers. - - -

-

Advanced Catears

- -

nd's party ears

- - A person wearing colorful lit-up catears. All faces in the image are blured. - -

- Well, I wanted something blinking and useable for dancing and it should react to the beat.
- So of course I built just that. -

- - - 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. - - -

- 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. -

- - - A white plastic box with a black label saying: 'BLINKnd Ears build by nd' and below that: 'dc8aac'. A cable with a plug comes out of the box, but isn#t attached to anything else. - - -

- I opted to use prefabricated modules instead of creating my own PCB to get faster results and lower the entry barrier for clones. Using a custom PCB would probably result in a smaller size. -

- -

How Does it Work?

-

- I carry an ESP32 running the WLED MoonModules Project fork of WLED]. Connected to it is an I2S module. The sound input is used to run a FFT and beat detection on the ESP. Those are then used in light effects. As lights I use a ws2812 stripe glued to 3d printed cat ears. A cable is running from the ears behind my back under my shirt to the bum bag. All together is powered via an USB power bank. - -

Partlist

- - -

Buildsteps

- -
Electronics and Case
- - - - -

- Connect the Microphone to the ESP. - See here for the pinout. For my INMP441 I've used the following pins : -

-
I2S SD: 3
-I2S WS: 2
-I2S SCK: 1
-I2S MCLK: N/A
- -

- But you can pick any supported microphone and are quite flexible in choosing those pins. -

- -

- 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.
- My board has another ws2812 LED on `GPIO 21` connected. I use this one as status LED. It's visible evenfrom outside the case.
- 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.
- 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. -

- -
Ears
- - 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. - - -

- Get 3d printed cat ears. You should be able to find them in most hackspaces and chaos events. Or print your own with this [model from c3cat](https://wiki.hamburg.ccc.de/club:c3cat:start). I'd recommend HIPS or ABS as printing material since the LEDs get hot enought to bend PLA. Don't worry if you only have PLA ones, you just might have to heat and bend them back sometimes. I painted them black to keep moisture out permanently and have a smooth surface. -

- -

- 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. -

- - - - - -

- 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. -

- - - - - -

- On the lower half the string was painted black so it's not as visible.
- Use shrink tubing to fix the cable to the ears. You can substitute it for tape, but you have to build some kind of stress relive if you want your ears to last. Solder the cable to the backside of the stripe.
- - WARNING: using the wrong polarity will result in a fried ESP. You should use a reverse secure connector unlike me. Ask me how I know...
- WARNING 2: I learned not all cables are skin-friendly. Random ones from Aliexpress especially might not be... maybe add a silicone tube or use less shitty cables. - -

Software and Configuration

-

- See here how to flash the wled fork. The web installer didn't work for me so I went a different way: -

- - - -

- It's probably easier to flash via CLI directly but I only had a phone with me at that moment. Yes we are in a future where you can flash a microcontroller via your phones browser. I love it! -Now you should be able to connect to the WLED AP via wifi and it's standard password (wled1234). -Configure your GPIOs via the webinterface. To get nicer effects, configure segments for parts like the ears and sides separately. Setup presets for effects and colors. -Most importantly: experiment! Find out what looks you like. Try out what effects to use to what kind of music. Script your own effects. The documentation of WLED is quite a good help with that. - -

Observed Problems and Ideas

-
PLA melts
-

- Yes realy. \~3A at 5V is generates enough heat to soften PLA. My next version is made using [HIPS](https://en.wikipedia.org/wiki/Graft_polymer#High_impact_polystyrene). ABS would work as well. -

-
Connector reversing kills the ESP
-

- Use a different connector as I did -

- -
No USB power delivery support
-

- The USB C breakout I used doesn't support USB PD. Use a different module or USB A -> C cables. -

- -
Too much bass (lol)
-

- 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. -

- -
More Documentation
-

- 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. -

- -
Hardware Controlls and Buttons
-

- Looking at a phone screen is annoying. I'd love a button to cycle presets. -

- -
Sync
-

- WLED has the option to sync multiple devices via wifi... I've some plans. -

-
- - -