# Glowing Lotus Flower - Electronic Origami for Beginners

## Overview

https://youtu.be/soGx1lOM7GY

In this beginner-friendly DIY tutorial, we’ll show you how to make a stunning&nbsp;lotus flower lantern using iridescent vinyl petals and a [Circuit Playground Express](https://www.adafruit.com/product/3333) board. The flower glows beautifully from the inside, and you’ll learn how to program your lights with Microsoft MakeCode—perfect for kids, classrooms, or anyone starting with coding and electronics.

This easy first project only requires scissors, tape, and creativity—no soldering or special tools needed. It’s a great way to explore STEM, coding for kids, and creative electronics while building something magical.

🌸 You’ll Learn:

- How to cut and assemble lotus petals from iridescent vinyl

- How to use the&nbsp;Circuit Playground Express to light up your project

- Simple coding with Microsoft MakeCode for glowing animations

This is a fun, hands-on way to introduce kids (and beginners of all ages) to electronics, coding, and maker projects. It's perfect for STEM education, art-tech mashups, DIY crafts, and coding clubs.

This project is a bit delicate when it's done, so it's perfect to use a table decoration centerpiece or a pretty decoration in a bowl or jar for your room. This build may not hold up as a wearable costume piece. If you want to wear a glowing hair flower, check out the [Glowing Hair Flower with n00ds guide here](https://learn.adafruit.com/glowing-hair-flowers-with-n00ds/overview).&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/139/165/medium800/led_pixels_lotus_hero.jpg?1756139803)

## Parts
### Circuit Playground Express

[Circuit Playground Express](https://www.adafruit.com/product/3333)
 **Circuit Playground Express** is the next step towards a perfect introduction to electronics and programming. We've taken the original Circuit Playground Classic and made it even better! Not only did we pack even more sensors in, we also made it even easier to...

In Stock
[Buy Now](https://www.adafruit.com/product/3333)
[Related Guides to the Product](https://learn.adafruit.com/products/3333/guides)
![A Black woman's manicured hand holds a round microcontroller with lit up LEDs.](https://cdn-shop.adafruit.com/640x480/3333-05.jpg)

### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

In Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)
![USB cable - USB A to Micro-B - 3 foot long](https://cdn-shop.adafruit.com/640x480/592-01.jpg)

### 5V 2.5A Switching Power Supply with 20AWG MicroUSB Cable

[5V 2.5A Switching Power Supply with 20AWG MicroUSB Cable](https://www.adafruit.com/product/1995)
Our all-in-one 5V 2.5 Amp + MicroUSB cable power adapter is the perfect choice for powering single-board computers like Raspberry Pi, BeagleBone, or anything else that's power-hungry!

This adapter was specifically designed to provide 5.25V, not 5V, but we still call it a 5V USB...

In Stock
[Buy Now](https://www.adafruit.com/product/1995)
[Related Guides to the Product](https://learn.adafruit.com/products/1995/guides)
![MicroUSB power supply with bundled cable and U.S. plugs.](https://cdn-shop.adafruit.com/640x480/1995-02.jpg)

### Additional Materials

This flower is made from&nbsp;[Iridescent Vinyl Fabric](https://www.amazon.com/dp/B0CM395VFX/?th=1) that's 0.4 mm thick. There are lots of colors to choose from but be sure to get the **transparent** fabric and steer clear of the **opaque** colors, so your lights will shine through.&nbsp;

You'll also need some [clear tape](https://www.amazon.com/Scotch-Magic-Tape-Inch-Count/dp/B01C5IHGJW/) to hold the petals together, and some construction paper to make the center of the flower.

### Tools

You'll need a computer with internet access to program the board. For cutting the flower, you'll need some sharp scissors and a marker, or you can use a Cricut Vinyl Cutter if you're in a hurry (or you like perfection!).&nbsp;

# Glowing Lotus Flower - Electronic Origami for Beginners

## Make the Flower

![](https://cdn-learn.adafruit.com/assets/assets/000/139/164/medium800/led_pixels_lotus_2.jpg?1756139787)

## Cutting Using a Cricut Vinyl Cutter

This project was inspired by the [Giant 3D Lotus project](https://design.cricut.com/landing/project-detail/6684111ed41fa671196fab48) available on the Cricut Design Space. If you have a Cricut vinyl cutter, you can download that project, resize it to your desired size and cut the shapes.

To perfectly fit the Circuit Playground Express, I sized this project down to 50% by selecting ALL shapes at once and dragging the handles until the petals were about 2" across instead of 4" across.&nbsp;

I ended up making a 75% size as well, and then making the full sized version and nested all three to make my giant lotus flower. But any one of these options is beautiful on its own as well!

I also cut out two of the hexagonal shapes instead of just one, as in the project directions, in order to make a pocket for the Circuit Playground. I cut the flower's yellow center out of construction paper.

### Cut Settings

To cut the 30 gauge vinyl, I used the "Non-adhesive Vinyl - 20 g" setting and edited it to do four cut passes instead of two. If you don't know how to do this, [here's a video showing how it's done](https://www.youtube.com/watch?v=QPHKrLN5_7k).

![](https://cdn-learn.adafruit.com/assets/assets/000/139/157/medium800/led_pixels_petals_cricut.jpeg?1755894735)

## Cutting By Hand

For young makers, it's sometimes easier and more fun to use scissors to cut out the shapes. This can also lend a more organic look to your finished flower since there will be slight variations in the petal shapes -- just the way nature does it.&nbsp;

Download the template below and print it out. Cut out the petal shapes and then trace them onto your vinyl using a fine point dry-erase marker. Or if your vinyl has a sheet of protective plastic acetate on it, you can use a sharpie on the acetate before you peel it off.

Cut:

- 12 of the larger petals
- 12 of the smaller petals,
- 2 copies of the hexagonal shape
- 2 copies of the flower center

The flower center can be a tricky thing to cut out neatly, but hey -- the shape is organic, so it doesn't need to be perfect. Cut it from yellow construction paper so it doesn't matter if you cut on the lines or not.&nbsp; Or, find a little bit of maribou or garland to use as the flower center.

&nbsp;

[lotus_pattern.png.zip](https://cdn-learn.adafruit.com/assets/assets/000/139/156/original/lotus_pattern.png.zip?1755894695)
![](https://cdn-learn.adafruit.com/assets/assets/000/139/155/medium800/led_pixels_lotus_pattern.png?1755894657)

![](https://cdn-learn.adafruit.com/assets/assets/000/139/167/medium800/led_pixels_flower_petals_cut.jpg?1756140339)

## Assembly

&nbsp;

Start by making all the petals 3D by slightly overlapping the two halves of the petal at the bottom. Secure each petal with tape. I found it worked best to wrap the tape around the bottom of the petal so both sides are secure.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/166/medium640/led_pixels_flower-petal.jpg?1756140320)

Organize the petals into two piles, with the larger petals in one pile and the smaller petals in the other. Place the 3 large petals on the outside edge of one of your hexagons, using every other side, and tape them down.&nbsp;

Place 3 more large petals in the remaining spaces so all six sides have a petal. Set this piece aside.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/168/medium640/led_pixels_flower_3petals.jpg?1756140405)

![](https://cdn-learn.adafruit.com/assets/assets/000/139/169/medium640/led_pixels_flower_bottom.jpg?1756140432)

Make another of these 6-petal sections using the second hexagon, but this time place the petals just a little bit closer to the center. Continue with the small petals until all the petals are used up.&nbsp;

Place your flower center into the middle of your flower and tape it down with a loop of tape.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/170/medium640/led_pixels_flower-second.jpg?1756140540)

![](https://cdn-learn.adafruit.com/assets/assets/000/139/171/medium640/led_pixels_0822%281%29.jpg?1756140592)

## Add the Lights

Plug it into the wall with your USB cable, or use a USB battery pack to make it mobile!

Put a circle of tape on the back of your Circuit Playground and tape it right in the center of the first 6-petal panel you made. Plug in the USB cable and thread it out between the petals.

Put another circle of tape on the back of the second 18-petal panel and place it inside the first panel, centered over the Circuit Playground.&nbsp;

Press the center of the flower to turn your lights on and off. Beautiful!

![](https://cdn-learn.adafruit.com/assets/assets/000/139/172/medium640/led_pixels_flower_cpx.jpg?1756140712)

![](https://cdn-learn.adafruit.com/assets/assets/000/139/173/medium640/led_pixels_flower-tape2.jpg?1756140749)

![](https://cdn-learn.adafruit.com/assets/assets/000/139/174/medium800/led_pixels_lotus_2.jpg?1756140805)

# Glowing Lotus Flower - Electronic Origami for Beginners

## Program with MakeCode

The Circuit Playground Express can be programmed a number of ways: it will run Arduino code, CircuitPython, or you can program it with MakeCode.&nbsp;&nbsp;

 **Microsoft MakeCode for Adafruit&nbsp;** is a web-based code editor&nbsp;for physical computing. It provides a block editor, similar to Scratch or Code.org, and also a JavaScript editor for more advanced users.&nbsp;

This means you can drag and drop light animations and functionality using the Circuit Playground Express' onboard sensors without ever writing a single line of code. Just snap the blocks together and watch your lights dance.

[Check out our MakeCode intro guide here.](https://learn.adafruit.com/makecode/what-is-makecode)
For this project, I used the Circuit Playground's onboard lights to run a pretty rainbow color animation and the onboard button to turn the lights on and off. The Circuit Playground Express has a lot of sensors and inputs on board, and this guide will show you how to make your flower respond to a button press, a loud sound, a dark room or a variety of other triggers to make your lights turn on and off.

Go to&nbsp;[https://makecode.adafruit.com/](https://makecode.adafruit.com/)and select "New Project".

Give it a name. I called mine "Flower."&nbsp;

First we'll add the light animation. Click the **LIGHT** tab and drag an instance of `show frame of animation` into your workspace, and drop it inside the `forever` loop that's already on the desktop. (If it's not there, you can find it under the **LOOPS** tab).&nbsp;

Anything placed inside this block will run over and over, forever.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/133/medium640/led_pixels_makecode_01_showframe.jpg?1755883048)

Check out the simulator on the left side of the screen. Are the lights animating rainbow? That means you've done it right. This is easy.

Next we'll make the lights turn on and off using our onboard button. You'll be able to press the center of your flower to make it light up or power down. We can use the simulator to test this too.

First we need to make a variable. A variable is a sort of "box" that holds a value, so the code can make something change states or remember what state a thing is in. In this case we want to make a toggle switch with our button, so we need to keep track of whether the light is currently ON (so we can turn it off), or whether it's OFF (so we can turn it on).&nbsp;

Create a variable in the **VARIABLES** tab and give it a name that makes sense with its function. I called my variable `lightson`.&nbsp;

Then drag an `onstart` loop from the **LOOPS** tab and put `set lightson to 1` inside that loop. This way the lights will come on when the Circuit Playground starts up.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/134/medium640/led_pixels_makecode_02_variable.jpg?1755883281)

Drag an instance of `on button A click` from the **INPUT** tab into the workspace. Anything inside this block will run whenever the **A** button (or whatever input you choose) is clicked.

While you're here, take a look under the dropdowns to see all the different input options you've got. I kept it simple using button **A** , but you can trigger your code with any of these inputs just by selecting them. It's a good idea to start with a button press to be sure your code is working properly, then try out some of the harder-to-test inputs later on.

Let's make the lights turn off when the button is pressed. Drag `set all pixels to (color)` into the workspace and choose the color **black** to make the lights go off.

Then add `set lightson to 0` from the **VARIABLES** tab so the code remembers the light is off.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/135/medium640/led_pixels_makecode_03_onclick.jpg?1755883315)

Grab an `if/then` block from the **LOGIC** tab and put it into your **FOREVER** loop with the animation inside. Then grab the first of the conditional blocks (`0 = 0`) and replace the `true` variable. This block allows "reading" the variable and act on what it says.

Replace the first `0` in your conditional block with the variable you made, and change the second `0` to a `1`. Now, whenever `lightson` is holding the value of `1`, the animation will play.

Try clicking the simulator button and see if it's working.

![](https://cdn-learn.adafruit.com/assets/assets/000/139/136/medium640/led_pixels_makecode_04_logic1.jpg?1755883568)

Finally, let's add some logic to the input so the button turns the lights on OR off depending on the state of the variable.

Drag an `if/then/else` block out and put it inside the `input` loop. Add the same conditional block (you can copy the one from the **FOREVER** loop if you want). Put the existing commands from the **INPUT** tab into the top half. This will turn the lights off if `lightson` is set to `1`.&nbsp;

To turn the lights back on, drag or copy an instance of `set lightson to 1` from the **VARIABLES** tab (or copy it from the `on start` loop).

![](https://cdn-learn.adafruit.com/assets/assets/000/139/137/medium640/led_pixels_makecode_05_logic2.jpg?1755883791)

Test your code by clicking the button A in the simulator. Are your lights turning on and off each time you press? Success!&nbsp;

If not, go back and double check that your code looks right. It's easy to accidentally swap a 1 or a 0.

The rainbow was not quite bright enough for me, and it was moving a little faster than I like, so I made a few more tweaks to control the speed and brightness. This is optional, but it can really help dial in the way you want your lights to look.

To control the brightness of the LEDs, drag `set brightness to 20` from the **LIGHT** tab into your **FOREVER** loop as shown, and drag the slider to whatever you'd like. Full brightness is 255.&nbsp;

To control the speed of the animation, you can add a little delay. Drag `pause 100ms` from the **LOOPS** tab to just below the `show frame of animation` block. Change the numeric delay to see your lights speed up or slow down.&nbsp;

&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/139/138/medium640/led_pixels_makecode_06_brightness.jpg?1755884212)

## Download the Code

1. Plug your Circuit Playground Express into your computer with a USB cable.&nbsp;
2. Click the reset button.&nbsp;
3. Green lights will appear on the Circuit Playground's face and it will appear in your list of devices, called&nbsp; **CPLAYBOOT**.&nbsp;

_If you don't see this or get a drive called **CIRCUITPY** , try double-clicking the reset button instead of single-clicking to get to a drive named **CPLAYBOOT**. Putting code on a **CIRCUITPY** drive will not program it._

Click the&nbsp; **Download** button on your MakeCode screen and the code you just made will download to your computer.&nbsp; Drag it onto the **CPLAYBOOT** device.&nbsp;&nbsp;

If all goes well, you will see a pretty rainbow animation.&nbsp; Click the **A** button and the lights will turn on and off.

Here's the completed project that you can play with directly.

https://makecode.com/_CRLTgC5uU8um

## Things to Try

- Select a different animation from the animations and see how that looks in your flower
- Try changing the INPUT block to one of the other types of triggers: you can trigger the lights with a shake, with a loud sound, with light or darkness, or several other interesting inputs. The Circuit Playground Express is versatile! Some work better than others!
- See of you can get a different animation to play each time the button is pressed
- See if you can set different brightness levels using the button or onboard switch


## Featured Products

### Circuit Playground Express

[Circuit Playground Express](https://www.adafruit.com/product/3333)
 **Circuit Playground Express** is the next step towards a perfect introduction to electronics and programming. We've taken the original Circuit Playground Classic and made it even better! Not only did we pack even more sensors in, we also made it even easier to...

In Stock
[Buy Now](https://www.adafruit.com/product/3333)
[Related Guides to the Product](https://learn.adafruit.com/products/3333/guides)
### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

In Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)
### 5V 2.5A Switching Power Supply with 20AWG MicroUSB Cable

[5V 2.5A Switching Power Supply with 20AWG MicroUSB Cable](https://www.adafruit.com/product/1995)
Our all-in-one 5V 2.5 Amp + MicroUSB cable power adapter is the perfect choice for powering single-board computers like Raspberry Pi, BeagleBone, or anything else that's power-hungry!

This adapter was specifically designed to provide 5.25V, not 5V, but we still call it a 5V USB...

In Stock
[Buy Now](https://www.adafruit.com/product/1995)
[Related Guides to the Product](https://learn.adafruit.com/products/1995/guides)

## Related Guides

- [Adafruit Circuit Playground Express](https://learn.adafruit.com/adafruit-circuit-playground-express.md)
- [Make It Talk](https://learn.adafruit.com/make-it-talk.md)
- [Circuit Playground Express USB MIDI Controller and Synthesizer](https://learn.adafruit.com/cpx-midi-controller.md)
- [Cam Follower Automaton](https://learn.adafruit.com/cam-follower-automaton.md)
- [Cosplay Floating LED Fireball with Motion Sensing](https://learn.adafruit.com/cosplay-fireball-prop-with-motion-sensing.md)
- [LED Harness Bra](https://learn.adafruit.com/neopixel-led-harness-bra.md)
- [CircuitPython Sin Complicaciones para la Circuit Playground Express y la Bluefruit](https://learn.adafruit.com/circuitpython-sin-complicaciones-para-la-circuit-playground-express.md)
- [Anatomical 3D Printed Beating Heart with MakeCode](https://learn.adafruit.com/anatomical-3d-printed-beating-heart-with-makecode.md)
- [Cardboard Circuit Playground Express Inchworm Robot](https://learn.adafruit.com/cardboard-robot-inchworm.md)
- [CircuitPython 101: Basic Builtin Data Structures](https://learn.adafruit.com/basic-datastructures-in-circuitpython.md)
- [Meeting Time Keeper Stick](https://learn.adafruit.com/meeting-time-keeper-stick-with-cpx.md)
- [Installing Microsoft MakeCode for Adafruit](https://learn.adafruit.com/installing-makecode-for-adafruit.md)
- [Crickit Powered Holiday Diorama](https://learn.adafruit.com/crickit-powered-holiday-diorama.md)
- [Tightrope Unicycle Bot](https://learn.adafruit.com/tightrope-unicycle-bot.md)
- [CircuitPython Powered AT Hand-Raiser](https://learn.adafruit.com/at-hand-raiser.md)
- [Crickit Powered Minerva Owl Robot](https://learn.adafruit.com/crickit-powered-owl-robot.md)
