- OpenSCAD 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| doc/pictures | ||
| stl | ||
| .gitignore | ||
| LICENSE.md | ||
| meduse-petite.scad | ||
| meduse.scad | ||
| README.md | ||
Project Meduse
A light fixture in the shape of a jellyfish based on RGB adressable LEDs, 3D printed parts, an ESP32 micro-controller and open source firmware.
This repository contains only the 3D model and hardware building instructions. For the firmware you can either use the well known WLED or develop your own custom firmware.
I'm curently developing my own firmware because I cannot easily achieve the exact look and user interactions I envision for this project with WLED. But this is work in progress and not available yet (well, if you search hard enough, you'll find it somewhere in this git forge).
Status
Alfa version!
Print this 3D models at your own risks.
I have already fully printed and assembled 2 prototype (one small size and one medium size) but there might still be some tweaks to make to the 3D models.
Also documentation of slicing parameters, printing tips and assembly instructions is work in progress. If you have my contacts, message me on matrix or signal if you want to build a meduse light before the doc is finished
Bill Of Materials
<Work In Progress>
Come back later for the full list of materials needed for this project. Or contact me to get some info and help me finish this doc ;-)
Controller : You can use a home made board to control the LEDs. But building this is out of scope of this project. Check the internet for more information. The WLED web site is a good start.
If you do not have any special need in terms of available inputs/outputs on the board to run custom firmware and all you plan to run is WLED or a firmware with similar features, I recommend the boards from Quin LED. I have built some home made boards prototypes for a custom firmware I'm developing that needs lots of additional GPIO. But I own several Quin LED boards and I find them of very good design and build quality. And they are a perfect fit for running WLED firmware (they even ship with WLED pre-installed and configured for the board) :
- QuinLED dig2go : Single 5V only data output, powered by USB-C. Simple and easy to use board for small projects. This is the board I used for the first meduse prototype I built, pictured in doc/pictures/prototype-0
- QuinLED Dig-Next-2 : Can use 5V or 12V LEDS. A good choice for builds with 1 or 2 independant LEDs strands and with up to 20A power (2x5A+1x10 fuses. But for the max sustained current I recommend to keep some safety margin and not continuously push these fuses to their max). This is the board I'm using for the second meduse protype I'm currently building (medium size, 2 strands of 1000 LEDs each)
- QuinLED Dig-Quad : Can use 5V or 12V LEDS with up to 5 data outputs (it's named quad meaning it has 4 data outputs but there is a "hidden" 5th data output) and up to 5x10A power lines (if you replace the stock 5A fuses by 10A ones). I already used that board for some other project. And it is the board I'll use for third meduse prototype, that will be a large size build, with a yet undefined number of LEDs)
- QuinLED Dig-Octa System : For bigger projects. I own a Dig-Octa brain board and one power board but I have not actually used them yet. I keep that for a setup with several meduses I'll build at some point in the future or maybe for an extra large build, that I still have to figure out how to print it on my small Prusa Mini
LEDs
You can use 5V LEDs for small size builds. Using 500 5V LEDs in a single strand is OK if you do not plan to light them all at full power at the same time (limit power to max 1.5 A). Or do not go above 100 or 200 5V LEDs without additional power injection if you want to run them at full power. You mileage may vary depending on the LEDs you have. Make some tests before final assembly. You do not want to learn after having soldered and glued everything up that the LEDs wires are becoming too hot or that the LEDs that are further from the power injection points do not have enough voltage to run correctly.
It is recommended to use 12V LEDs. They can be little bit more expensive but they will allow you to use thinner, and so less conspicuous, power wires. And you can power up to 1000 LEDs in a sinle strand. Yeah, I know the internet is recommanding to add power injection every 200 LEDs or so for 12V LEDs also. But, with the LEDs I'm using, I have tested powering 1000 12 LEDs, wiring power only at both sides of the strand, and it is workign fine.
For the best effect, it is recommended you use 1.5 cm spacing LED strands on the meduse body. That is because the body is blocking part of the LEDs light. You want the maximum LEDs density there. For the tentacules, choose the spacing you like, depending on the length of the tentacules you want, the look you prefer and the total number of LEDs you want or can afford to use.
- Small size build : A strand of around 175 LEDs with 1.5 cm spacing for the body + as many as you want with the spacing you want for the tentacules. 500 to 1000 LEDs is a first good guess of how many LEDs you want for the best look. I used a total of 512 5V LEDs for the prototype I built, pictured in doc/pictures/prototype-0
- Medium size build : A strand of around 250 LEDs with 1.5 cm spacing for the body + as many as you want with the spacing you want for the tentacules. I used a total of 1000 12V LEDs for the prototype I built, pictured in doc/pictures/prototype-1. But I'm in the progress of rebuilding it with 2000 LEDs to have longer tentacles.
- Large size build : A strand of around 350 LEDs with 1.5 cm spacing for the body + as many as you want with the spacing you want for the tentacules. To get tentacles length of similar proportions to my medium size prototype (with 2000 LEDs) this will require around 3000 LEDs. As I don't currently have the funds to buy these I probably won't be building a prototype of this size soon.
What to 3D print and how
You need to print 12x of one of these files :
stl/small/meduse-small-no-magnet.stlstl/medium/meduse-medium-no-magnet.stlstl/large/meduse-large-no-magnet.stl
Then you have to glue these 12 parts together to get a full jellyfish body.
Alternatively, if you want to to split the body into several sections that attach together with 5x3mm magnets, you can replace some pairs of parts with one of each of these :
stl/<size>/meduse-<size>-bottom-magnets.stlstl/<size>/meduse-<size>-top-magnets.stl
Or, if you are lazy and you don't care about having unused magnet holes, you only print 12x of one of these :
stl/small/meduse-small-top-and-bottom-magnet.stlstl/medium/meduse-medium-top-and-bottom-magnet.stlstl/large/meduse-large-top-and-bottom-magnet.stland you'll choose later where you put magnets or not.
For the first prototype I built I used 2 "bottom-magnets" and 2 "top-magnets" parts to split the body into 2 halves. This allowed me to add the hook I used to suspend the light after gluing the body and the LEDS (I forgot to add it while building the body)
It is recommended to use clear PTEG filament to print this model. You can have a somehow translucent body with some non clear filament. But you'll have to use very low density infill (like 5%), only 2 perimeters and 2 layers of top/bottom shells (or only 1 if your're crasy), and the result wont't be great anyway.
2 perimeters and 2 shell layers is what I used for my firt prototype build, using white PETG, but I quickly ordered clear PETG when I saw how it looked. Check the fisrt prototype pictures and the white vs clear PETG comparison pictures to see for yourself)
What I've settled on for my next prototype builds is using Prusament clear PETG on my Prusa Mini+ with the following settings in Prusa Slicer :
O.2 SPEEDprinting setting with theOriginal Prusa MINI and MINI+ Input Shaperprinter profile (0.4mm nozzle)- 2 perimeters
- 3 layers of top/bottom shells and 0.6 min shell thicknedd
extra perimeter if neededoption enabled- 10% gyroid infill
auto-generate supportoption enabled with 15° of overhang threshold and organic stylesupport on build plate onlyoption enabled- paint-on fuzy skin, using the smartfill tool, with 30° smart fill angle, and clicking on the outside of the body
Assembly instructions
Anatomy of a meduse
As shown on Picture 2 below, a meduse is composed of :
- a suspension hook;
- a body, made from 12 30° sections;
- several tentacules
Electrical wiring
There are several wiring options, depending on the effects you want to be able to display on the LEDs, the number of tentacules you want, the total number of LEDs that are used, the number of data outputs you can use on your ESP32 board, etc... We'll give a few examples here. But there are many more possible variations.
<Work In Progress>
Come back later for this par of the doc. Or contact me to get some info and help me finish this doc ;-)
Single strand of LEDs wiring
Pros:
- easy to wire
- maximum flexibility for the effects displayed on the LEDs. Each LED can be addressed independably.
- use only 1 data output on the ESP32 board
- easiest wiring option if choosing looping tentacles and not adding power injection points
Cons:
- cannot achieve high speed effects when using more than 500 to 1000 LEDs
- need to add additional power injection wires every 200 to 1000 LEDs (depending on LED type and brightness used)
- complex wiring for non looping tentacles (need to wire, and hide, a data line from the end of a tentacle to the begining of the next one)
Several independent LEDs strands
Pros:
- maximum flexibility for the effects displayed on the LEDs. Each LED can be addressed independably.
- allows for a greater number of LEDs while still achieving high speed effects
- no need for power injection points if using one LED strand of less than 500 12V LEDs per tentacle (which gives a max tentacle length of 7.5 m for 1.5 cm spacing LED strands)
Cons:
- Needs more data outputs on the controller, ideally 13 for non looping tentacles, one for the body and one for each tentacle. Can use only 7 data outputs with looping tentacles.
- medium complexity wiring for non looping tentacles.
Parallel LEDs wiring
Here you wrire in parallel the 12 LEDs loops of the body. And you also wire all the tentacules in parallel. You then use one controller data output for the body and one for the tentacles. Or you use only one data output for both the body and the tentacles wired in parallel.
Pros:
- Lots of LEDs can be driven at high speed,
- needs only 1 or 2 data output on the ESP32 board.
- easier wiring for non looping tentacules
Cons:
- the same pattern/effect is displayed on each 30° slice of the meduse.
Assembling the body
Installing the body LEDs
Installing the tentacules LEDs
Model source code
The model is designed in OpenSCAD. The source file is meduse.scad
There are some parameters at the top of the file to select the model size and add optional pockets to fit small magnets.
Contributing
If you make some improvements to the model or create an alternate version, please send me a patch by email to 12b at distrilab dot fr asking me to merge it into this repository.
Include this text at the start of the email title : [Meduse patch]
And tell me how I should credit your contribution.
If you have questions or comments about the project you can also send that to me by email. In this case start your email title with [Meduse info]
Don't know what a patch is? Check this out : https://www.gitkraken.com/learn/git/git-patch
Random notes
- The files
meduse-petite.scadandstl/meduse-petite.stlare not part of the project.- You don't have to print this to build the light.
- It's a bonus model you can try to print if you want to torture test your 3D printer.
- If you manage to print this, send me a picture of the result. I'll add it in the doc folder.
- Small size is 150 mm diameter jellyfish. Lage size is 300mm. And, you guessed it, the medium size is something in between (roughfly
medium = large / sqrt(2) = small * sqrt(2)) . - Extra large builds : My small 3D printer has a build capacity of 18x18x18 cm. Witht the current 3D model design that would allow me to build a meduse of 36 cm diameter max. Going bigger than that with that printer would require to cut the 30° sections is several parts. But I think that the seams would not look good. Building a nice looking meduse of a bigger size needs a bigger 3D printer.
- The small 5x3 mm magnets I'm currently using for protyping without definitely gluing the meduse body are a little too weak. They are OK for small size builds. But they started being annoying for the medium build prototype that is frequently falling apart if I'm not very carfull when manipulating it. The 3D model would need to be updated to accomodate bigger magnets. But magnets have another drawback. They are creating dark spots on the body when using transparent filament. So I think I won't be using any magnet in future builds.
Copying / License
This work is published under the WTFPL either version 2 of the License, or (at your option) any later version.
Follow the link above or read the LICENSE.md file for more details.

