Origami Whale With Optic Fibers Floating Over a Concrete Base

by solay_mania in Craft > Paper

449 Views, 5 Favorites, 0 Comments

Origami Whale With Optic Fibers Floating Over a Concrete Base

4_TIF.jpg
11_TIF.jpg
3_TIF.jpg
4) blue.jpg
8_TIF.jpg
Animation
button shuffle

Origami and concrete create this contrast, fragile folds against stiff corners, smooth shiny paper against rough matte cement, dark and heavy against bright and lightweight, while optic fibers bring the two together.


The whale was inspired by Boris Acket's huge fabric installation from Fred again's USB002 tour. A giant sheet of fabric hung over the crowd like a breathing roof, rippling, rising and falling, and lighting up in sync with the music. I wanted to capture those moments, with animations recreated beat by beat from the actual show, not just generated from the music.


The whale is just one idea, though. The same process works with any origami shape and any base you can imagine.

Supplies

IMG_2667.jpg

Mold and internal parts:

  1. Access to 3D printer (PLA & TPU)
  2. M3 screws
  3. M3 copper spacer 4mm M/F
  4. M3 threaded inserts
  5. 0.5mm optic fibers (30 meters)
  6. Wire cutter
  7. Heat shrinks (1mm, 10mm)


Concrete base:

  1. Cement
  2. Sand
  3. Small gravel
  4. Calcium carbonate (marble powder)
  5. Fine sieving mesh
  6. Mixing bowl
  7. Masking tape
  8. Vaseline
  9. A4 Sanding paper sheets (80, 120, 220, 320 grit)
  10. Transparent sealer
  11. Small paper cup
  12. Dremel with cutting disk
  13. Stainless Steel Tube (30cm, 5mm OD, 0.2mm Wall Thickness)
  14. Clamps
  15. Wooden skewer


The origami whale:

  1. 23.5 x 23.5cm 90gsm calque paper
  2. Uhu glue
  3. Super glue
  4. Exacto knife
  5. Binder clips (2, 4cm)
  6. Sewing pins
  7. Caliper
  8. Transparent plastic strip


Electronics:

  1. ESP32-S3 Supermini
  2. Soldering station
  3. 22 AWG wires (3 different colors)
  4. x2 8-LED NeoPixel sticks
  5. PCB breadboard
  6. 2-pin terminal block
  7. 3-pin terminal block
  8. 1000 uF capacitor
  9. 4-Pin 12x12x15mm switch
  10. Wire stripper
  11. USB-C female socket with board
  12. Multimeter

Mold Print and Prep for Cement Pour

IMG_2621.jpg
Mold components.JPG
IMG_2665.jpg

The shape of the cement base is inspired by the layout of venue and stage in the tour, with a space for a button at the DJ booth to shuffle the animations.


Ideation started in Tinkercad to finalize the shape, ratios and make sure there is enough room for internal components then a friend made a more precise one in fusion360, created the mold and printed it (shout out to Salem & Creatables!).


Files are attached so anyone can change it to any other shape. What's important is to keep enough space for the internal components.


Making the mold took some trial and error especially because of the thin railing, what worked was:

  1. Print the mold in TPU, we need it to be flexible so we can release it easily from the mold.
  2. Sand it with 80 grit till all printing lines vanish-ish, then 120 grit sand paper.
  3. Brush a very thin layer of Vaseline, it makes the base release like butter. Make sure there are no bumps since it will show in the cast.
  4. Remove the usb-c port part then tape together the first 2 parts of the mold, then make a cutout for the usb-c port part and screw it back again.

Cement Pour Into the Mold

Cement pour
IMG_1875.jpg
  1. In a bowl add 2 parts cement to 1 part sifted sand (using a fine mesh strainer so you have a fine and consistent texture when the base is sanded).
  2. Add a teaspoon of calcium carbonate (marble powder), it adds strength since it fills the smaller gaps in the cast.
  3. Add the water in stages and mix well till you get a viscous consistency like a paste that holds its shape.
  4. Pour the mixture (till the usb-c port) instantly because marble powder increases water absorption so it will dry out quickly.
  5. Poke the mixture with a wooden skewer so it reaches the bottom then tap the mold on a hard surface for a couple of minutes (or use a massage gun) to release air bubbles, don't tap it too much or the mixture will separate.
  6. Add the 3rd part of the mold and wipe out the excess mixture from the openings.
  7. Gently clamp the mold.
  8. Let it solidify for 2-3 days, in these 3 days you can work on the folding the whale or the electronics.
  9. After 3 days, remove the tape then chisel any excess cement and carefully remove the mold.

3D Printed Connectors and Parts

IMG_2636.jpg
internal components.JPG

My friend designed and printed all the 3D printed parts, all parts files are attached and ready to be printed in PLA


  1. The internal base.
  2. Optic fibers channels.
  3. Optic fibers channels cover.
  4. Button cap.
  5. Back cover
  6. Whale to metal rods connector.


After printing add the threaded inserts to the 3D prints

Sanding and Finish the Base

Sanding & Finish
IMG_2246.JPG
  1. Sand the base with 80 grit sandpaper until the shiny surface disappears and the rough concrete texture appears, make sure all the sides are sanded into the same thickness.
  2. Continue sanding with 120 till 220 grit.
  3. Place the 3D printed internal base into the concrete base and drill the 2 metal rod's holes progressing from small drill bits till the biggest one.
  4. Wash it to get rid of sanding dust.
  5. Apply any sealer/finish you prefer but what I prefer is to mix together 2-3 tablespoons of cement with transparent sealer in a small cup, then apply it with a brush over the base, it seals and stiffens the base and gives the concrete a deep dark gray sheen.
  6. Sand it again from 120 till 320 grit, for the tighter spots like the railings you can wrap sanding paper around a wooden stick and sand.
  7. Apply one final layer of the sealer & cement mixture and we are done.

Preparing the Gravel

gravel finish.jpg
Gravel prep
IMG_2633.jpg

Gravel adds some texture to the plain concrete look, but we need to take a few steps so it matches the base. There are 2 problems to solve:

1) Inconsistent colors, mine were gray but a bit blueish so it looked overpowering.

2) Inconsistent sizes, so their proportions didn't match the whale or the base.


  1. Sieve the gravel so we end up with smaller and consistent size gravel.
  2. Make the transparent sealer and cement mix again, 2-3 tablespoons of cement with the sealer.
  3. Add the sealer to the gravel and mix
  4. Spread the gravel over a baking sheet as much as possible so they don't stick together.
  5. Let it dry for few hours
  6. When its fully dry roll the baking sheet and hammer it so stuck gravel separates.


Now we have smaller size gravel that's more proportionate to the base and the whale and also its color is coherent with the concrete base so they complement each other.

Cutting the Metal Rods

IMG_2023.jpg
  1. Cut the first rod to the desired height, then add it to the base with the metal rods bracket on top of it so it's hanging.
  2. Add the 2nd rod into the base and mark the right place to cut so the angled bracket fits perfectly.
  3. Cut the 2nd rod to the right length on the mark.

The Electronics

Screenshot 2026-09-14 at 7.33.02 PM.png
IMG_2108.jpg
IMG_2108.jpg

The electronics are straightforward. I tried different boards and it kept progressing to smaller and better ones throughout the process, with each upgrade solving a different problem. In the end landed on the ESP32 S3 Supermini, it has enough space to bake-in all the animations at high frequency/frame rate in the code rather than playing effects from a library so we can make more complex animations, and its bluetooth made it possible to be connected to the animating interface for live previewing and building of the animations.


This is the electronics layout in Tinkercad, coded so the simulation changes the LEDs color when the button is pressed


For power:

  1. Connect the usb-c female socket’s 5V & GND to the 2-pin terminal block on the PCB breadboard
  2. From the other side of the board, connect the 2 pins to both the ESP32 (5V & GND) and the LEDs' 3-pin terminal block. Add a 1000 uF capacitor across the 5V and GND of the LEDs' terminal block to protect the LEDs from power spikes. The capacitor has a direction: the leg on the side with the stripe goes to GND, and the other leg goes to 5V.


For the button:

Use a multi meter to make sure it's placed in the right orientation, set the multimeter to continuity mode and find the two pairs of pins that beep together. Then connect one pin from each pair that doesn’t beep together, one to any of the data pins on the ESP32, the other into the nearby GND wire.


For the LEDs:

  1. Connect data pin (in the ESP) to the remaining pin of the 3-pin terminal block, it's preferable to connect them into the terminal block in the same order of the LED so wires don't twist.
  2. Solder the wires (5V - GND - data) into the LED pins and make sure it's the IN pins not the OUT.
  3. Solder the wires from the OUT of the first LED to the IN of the 2nd LED, make sure you cut the wires into the right length so it fits perfectly.


If you use different data pins for the LEDs or the button, make sure to change the pin numbers in the .ino file before uploading it.

Folding the Whale

Ballena Azul (Blue Whale) origami TUTORIAL
whale fold.jpg

It doesn't have to be a whale, it could be any other origami shape, what's important is that it needs to be hollow from the inside so you have space for the optic fibers to bend freely.


The whale is designed by Satoshi Kamiya, a pioneer japanese origami artist, you can follow the tutorial here: https://www.youtube.com/watch?v=wug6h1bOLQ0&t=28s

You can also find the folding steps in his book Works of Satoshi Kamiya 1995-2003, page 142.


Paper should be 23.5 x 23.5cm (square) to flush perfectly with the edges of the base, for the paper itself I tried different types and thicknesses and what works perfectly is 90 gsm Calque paper, the good memory and stiffness of the paper holds the shape of the whale as its more 3D dimensional when folded not flat.


What's important with calque paper is that you shouldn't use creasing tools since it will break and cut the paper at the weak points.


Another note, don't make the final belly and tail bending steps of the whale since it should be done at the end of the 1st gluing stage (next step).


Once folded, if you are not going to continue directly then it should be stored somewhere air tight so it doesn't stiffens and breaks.

Gluing the Whale (1st Stage)

Whale glueing 1st stage
rods bracket-2.jpg

In this stage we glue the whale so it's ready for the optic fibers, and the main idea is to cut and glue it to release the stress of the paper when we make the body & tail bending fold so it folds naturally especially with a stiff paper like calque.


  1. Cut a triangle in the whale’s belly like in the video.
  2. Overlap it to the other half of the whale’s belly and glue them together, this will create the cone shape towards the tail so the belly doesn't look cylindrical.
  3. After the glue settles, push the paper onward (on 2 points) to create a crimp and sink fold, then add Uhu glue inside the fold and hold it with a binder clip so the fold stays sharp.
  4. When the glue settles, glue the metal rods bracket with super glue inside the whale. Make sure it's in the right orientation and centered.
  5. Use the bracket as a guide to cut an opening in the whale for the rods.


For this stage of gluing we use Uhu since it takes time to settle so we have time to make sure everything is glued perfectly, and it's better to apply it in thin layers with a brush so it doesn't overflow and appear through the opaque paper.

Preparing the Optic Fibers

IMG_2084.jpg
Fibers prep
Screenshot 2026-09-14 at 8.47.21 PM.png
LED order.jpg

I used 0.5mm thick optic fibers, in total we need 96 x 30cm, approximately 28 meters. The order of the fibers in relation to the led.


  1. Cut the fiber into length (30cm x 96).
  2. Group them according to the table, each group will be assigned to a different LED. It's important to keep everything organized so they don't mix up, you don't want to find extra or less fiber when it's glued (happened for me twice).
  3. Drill the 16 pilot holes in the 3D printed fibers channels bracket, just screw the drill bit don't switch it on because plastic will melt.
  4. Add each group of fibers to its designated channel, make sure they are all bend downward so when glued they don't get twisted.
  5. Group by group, cut the fibers ends so it's all flush and starts at the same point, then slowly pull the group into the channel from the other side till they reach the beginning of the channel.
  6. Add a tiny bit of super glue to fix them in place.
  7. Repeat till all groups are done, one trick is to use 1mm heat shrinks (without shrinking them) to keep the groups organized.

Poking the Whale

Poking the whale

Now we need to poke the 96 holes into the whale so we pass the fibers through, the challenge is to make the distances between pokes equal so the lines appear straight.

Horizontally its easy since we poke a hole each 2 fold lines on the whale, vertically the distance between pokes need to be 8.25mm


  1. draw a straight line on a transparent plastic strip of paper .
  2. With a caliper fixed on the distance (8.25mm), poke 2 holes on the line.
  3. Use the new points as a reference for the new poke and repeat the step until all 6-8 pokes are made.
  4. Poke all the guide holes with a sewing pin
  5. Lay the guide over the whale and poke the guide holes, a quick tip is to leave the pins into the whale while poking to keep the plastic strip from moving all over.


16 lines, 96 pokes later and its ready

Internal Base Assembly

Glueing the rods.jpg
IMG_1904.jpg

We finally have everything and ready to glue and add everything together, firstly the internal base


  1. Screw the breadboard into the internal base.
  2. Glue the LEDs into its place in the internal base.
  3. Add the rods to the base and glue it from the outside.
  4. Pass the rods through the concrete base and glue the 3D printed internal base in place.
  5. Connect the whale through its bracket to the rods.

Adding the Optic Fibers

Adding the fibers
Adding the Optic Fibers side.jpg
Adding the Optic Fibers top.jpg
IMG_2506.jpg
fibers added.jpg
  1. Add the fiber through the rods and out of the whale till the fiber’s bracket sets in its place in the internal base.
  2. screw the fibers channels cover to secure the channels in place.
  3. One by one add each group of fibers into its dedicated line of pokes in the whale.
  4. From the inside fill the whale with a layer of super glue, and keep rotating the whale so the layer moves around to fill all the gaps, this will fill the pokes and fix the fibers in place.
  5. When it settles cut the excess fibers with a wire cutter so the end of the fiber is flush with the whale.
  6. Add the copper spacers and finally the back cover.

Gluing the Whale (2nd Stage)

IMG_2656.jpg
Fibers clipped.jpg
  1. Glue the loose folds of the whale so it's smooth.
  2. Cut a piece of calque paper to close the opening at the top of the whale and glue it, it should slide into the pocket in the whale.

Adding the Gravel

Adding the Gravel

Gravel also supports the metal rods

Concrete base gravel

  1. Cover the button opening with masking tape so excess gravel doesn't fall inside.
  2. Fill the basins with super glue.
  3. Sprinkle the gravel all over.
  4. Gently tap it so it fills the gaps and becomes more dense.
  5. When it settles sweep away the excess gravel.


Button cap gravel

  1. Tape around the button cap
  2. Fill the inside with a layer of super glue.
  3. Add the gravel.
  4. Gently tap.
  5. When it settles remove the tape.
  6. Add super glue inside the button cap then slide it into the button.


The white gravel dot is Fred in his white t-shirt in the DJ booth :D

Animating the LEDs

Animation live preview
Screenshot 2026-09-17 at 7.03.31 AM.png

Now the fun part, making the animations, you can make whatever animation you want using any of the existing libraries, or make something new like making it interactive with sound, sky is the limit.


But here I needed the animation to match the light setup of the actual fabric installation in the gig beat by beat, and capture these exact moments from the tour into the whale as if it’s a physical video, so it needed to:

  1. Base the effects and its timing to music timings and bpm so it matches the sound.
  2. Build the effects over a video preview where I can use actual footage from the gig.
  3. Add multiple effects at the same time over each other for complex animations.
  4. Save the progress so I can work at any time.
  5. Have a set of default effects with fine tuning controls for endless animations.


So I built with Claude Code a browser-based, timeline-style editor for designing the animations that stay in sync with music. You load a song or video (or use it right away), and it detects the BPM and beat offset (sometimes it can't and you need to do it manually). Then you place effect blocks on a beat grid across several blendable layers and fine tune its settings while watching a live preview of the strip and the reference video as you work.

The animation you design in the preview should play exactly the same way on the ESP32-S3 running playback firmware. The exported, baked frames therefore match the preview byte for byte.

Each project is one file that holds several animations, each in its own tab that you can add, rename, duplicate or delete, and each with its own video/song and animation.

It records your light show exactly as you see it in the preview and when you export its saved as 120 still pictures of the LEDs every second. And exports a .ino file ready to be uploaded to the ESP32.

It made creating the animations really fun, and I ended up making 10 animations for 10 different moments across the tour. Coding used to be my biggest barrier to making projects like this. Now there's much more space to just focus on the ideas.


You can use the interface here neomation.alysolayman.com

It only works with the ESP32 S3 for now.

Attached the live preview .ino file, you can also download it from the interface, and the animations .ino file


It's Done

4_TIF.jpg
Animations

And that's it, an origami whale floating over a concrete base, lit from the inside by optic fibers.

You don't have to make this exact whale. The whale was just my way of capturing moments from the tour, but the real idea is the contrast between origami and concrete, with optic fibers bringing them together. The shape can change, and so can the base.

Big thanks to Salem & Creatables for the 3D design and printing.

Thanks for reading! Drop a comment if you have any questions, and if you make your own version, I'd love to see it.