BUTTERFLY launcher is an upgrade to the old Butterfly product. In comparison, this new launcher has packed with a microprocessor MEGA328 and 18 RGB LEDs. It also has an integrated lithium polymer battery assembled into the device plus two ports for power, serial communication, and connection.

One standout feather is that you can have many devices connected in serial, and control them independently. Therefore you can create a very nice effect.

The mechanism of series communication: the devices are connected in series, to identify a certain device and to send command to a certain device we will attach an 'id' variable with the command which will be sent from the controller (M5 core) by the serial connection. in this process, the 'id' variable will minus 1 by each device at each time when the command passes through the line. The device that got id = 0, will execute the command.

  1. Each of the LEDs controlled independently, they are allowed to constrain the LED color, blink mode, brightness and servo status which is used to launch the butterflies.

  2. As we can see from the video below in the LED demonstration, the delay is obvious. if there is a 100ms delay for every device, and we have 10 in total the last device will have a 1s delay. To optimize this delay, we could program the first device to wait for the last device. However, based on the protocol, a delay will exist no matter what.

This product is EOL now.

Product Features

  • Serial extendable
  • 18x RGB LED
  • UART serial communication
  • UIflow (graphic/blockly language allowed)


  • BUTTERFLY Launcher
  • Butterfly paper model
  • Cable
  • Rubber band


  • Fashion Tech
  • Stem Education


Resources Parameter
Battery capacity 120mA
RGB LED x 18
Communication method UART
Net weight 68g
Gross weight 68g
Product Size 45*35*32mm
Package Size 110*110*30mm


Mega328 ISP Download interface footprint PIN definition



Please click, here to download code


Button Function (see from LED side)

  • Right: single- press to power on, double press to power off.
  • Left: long-press till the LED circle change to different color then release the button. Short press will adjust the servo arm. repeat the above the process to get the right position.

Load Butterfly Pattern

Power up the system(if you want connect more than 10)


  1. Add a power supply at the end of the line, either with (grove 2 usbA cable + power bank) or (wall plug)
  2. grove 2 usbA cable
  3. wall plug with GROVE male port

recommended step:

  1. wire up the devices with m5go at beginning and additional power supply at end.
  2. use the UIFlow test code to test the line make sure every units is working normally.
  3. use the button on the device to load the butterfly.
  4. Program the button on M5GO to launch the butterfly.

Development Environment Set-up

We have integrated the programming blocks on UIFLow that should allow us t o program the project in the easiest way.

To setup the UIFlow Development environment, follow the steps:

  1. Navigate to Custom, click open *m5d
  2. Choose butterfly.m5d
  3. Unfold Custom, there appears the butterfly program block.