You'll need the following parts to build this project:

Gemma M0 - You need the Gemma M0 and not the older Gemma board for this project.  The M0 version has a built-in DotStar LED that will light up the power by itself--no need to add any extra hardware!  In addition the M0 version of Gemma can run CircuitPython code which is what this project is built to use!

An artificial flower - Check your local craft store for a wide assortment of artificial flowers.  A white color flower is best because it will show the true colors of the DotStar LED, however you can experiment with other colors too.  Look for a flower with enough room to hold the Gemma M0 board in its center, like a rose, tulip, or similar flower.

Battery - A small lipoly battery like a 350mAh version is easy to hide between the petals of the flower.  Or grab a battery extension cable and larger battery or 3xAAA battery pack for more power options.

Solid core wire - Solid core wire is best for attaching to Gemma M0 and then wrapping around the stem of the flower.  This wire is used to detect when someone touches the flower stem and will trigger a heart-beat animation on the LED.  You don't have to attach this wire--if you don't then the touch sensing probably won't work but you'll still see nice color animations from the LED.

Soldering tools - If you're attaching wires for capacitive sensing you'll need to solder them to pads on the Gemma M0 board.  Check out the Adafruit Guide to Excellent Soldering for more details on how to solder!


Once you have the parts you can solder a few wires to the Gemma M0 board for capacitive touch sensing.  This isn't absolutely necessary though and can be skipped if you aren't confident with soldering.  Without the wires the flower won't detect touches but will still animate different colors.  As an alternative you might be able to tape aluminum foil or copper tape to the pads of the Gemma M0 instead of soldering, but it might not be as robust or strong as soldering wires.

If you're soldering wires it's best to strip the insulation entirely off one length of wire and solder it to the board's ground pad.  This will greatly help the capacitive touch sensing when running off of battery power because it depends on the person touching the flower being grounded to the battery.  Then solder an insulated wire (i.e. don't strip off the insulation) to the D0 pad of the Gemma M0.  Your Gemma M0 should have two wires soldered to it as shown below:

  • Bare / un-insulated wire soldered to Gemma M0 GND / ground
  • Regular / insulated wire soldered to Gemma M0 D0.

Next cut out the pistil from the center of your flower if you need to make room for the Gemma M0 board.  Side cutters work well for this task:

Then nestle the Gemma M0 inside the center of the flower.  If the flower is small enough it might hold the Gemma M0 in place without any assistance.  Otherwise you might need to add tape, hot glue, or even sticky tack to hold the board in place:

Snake the wires through the petals and down the stem of the flower.  If you're using wires for capacitive touch sensing wrap them around the stem in a double helix pattern.  This way when someone touches the stem they'll touch both the uninsulated ground wire and the insulated capacitive touch sensing wire:

Be careful with the uninsulated ground wire to ensure it does not touch any other pin on the Gemma M0. If the ground wire touches the 3.3V or Vout pins it can short out the board and potentially damage it, the battery, or a computer connected to the Gemma M0! Take care to carefully route and move the ground wire!

Connect the battery and you're all set!  The flower is ready to have code loaded onto it that will drive the DotStar LED!

This guide was first published on Feb 05, 2018. It was last updated on Nov 27, 2023.

This page (Hardware) was last updated on Feb 02, 2018.

Text editor powered by tinymce.