Top Menu

Puzzlebox Bloom Assembly Guide

Bloom Parts List

Bloom Parts

1. Check the following parts are available:


  • Arduino Leonardo, UNO (R3), or compatible microcontroller
  • Servo motor (example: Hitec HS-311)
  • RGB LED light strand (see separate guide, coming soon)
  • Male-to-Male 3-strand solderless jumper cable
  • Screw M2 * 12mm (4)
  • Screw M2 * 19mm (1)
  • Nut M2 (10)
  • Washer M2 (12)
  • Screw M3 * 19mm (4)
  • Nut M3 (8)
  • Washer M3 (9)
  • Screw M4 * 12mm (5)
  • Screw M4 * 25mm (2)
  • Nut M4 (6)
  • Washer M4 (5)


Plastic (printed models)

  • Bloom (Flower)
  • Stand (Base)
  • Socket
  • Bulb
  • Peg (2)
  • Piston
  • Connecting Rod
  • Bottom
  • Bottom Clip

Source files:

Tools (recommended)

  • Needle-nose Pliers
  • Micro Cutters
  • File
  • Power Drill
  • Drill Bit 2mm (5/64″)
  • Drill Bit 8mm (5/16″)
  • Phillips Screwdriver (standard)
  • Phillips Screwdriver (micro)
  • Digital Caliper
  • Ball Peen Hammer (or Jeweler’s Hammer)



2. Flash the microcontroller with the latest Puzzlebox Bloom firmware. Arduino software should be used for the flashing the firmware and instructions for your computer platform is available from their website. By bringing up the Arduino serial monitor and setting the baud rate to 115200, you should be able to enter “0”  (zero) to move the servo into the “closed” position and “1” to move it into the “open” position (seen here). This step confirms your electronics are working correctly. Your RGB LED strand should have already been confirmed (see separate guide, coming soon).



3. Enter “0” (zero) into the serial monitor to move the servo into the closed position. Connect a plastic arm to the face of the servo so that one end is in the closed position (about 5 o’clock with the servo mechanism closest to you, about 11 o’clock going by the labels on the servo). The plastic arm should normally be provided by the servo manufacturer and will have fine inner teeth with correctly mesh with the servo head. Using the micro cutter, clip one end of the plastic arm (as seen here). This will prevent the unused portion from striking the microcontroller during movement, once installed inside the Stand. Remove the MicroUSB or 9V power source from the microcontroller.




4. Use a needle-nose pliers to insert 4 screws (M3 * 19mm) with washers (M3) from behind mounting plate. Attach 4 nuts (M3) with washers (M3) over interior side of screws. These nuts will hold the microcontroller in place above the mount and should be as tight as possible so as to not rattle.





5. Move the microcontoller into place over the mounting screws and carefully slide it down to reach the mounting bolts. Lock the microcontroller in place using 4 nuts (M3). As one of the nuts will not fit between the mounting screw and solder-less input port on the microcontroller, a washer (M3) may be employed to except the necessary force (as seen here).





6. Thread the power and signal wire from the servo through the slot in the bottom of the Stand. The servo should be upside-down according to the labels, with the moving mechanism at the bottom of the Stand. Use a short thick screw (M4 * 12mm) for the side which goes into solid plastic. Use a longer thick screw (M4 * 25mm) coupled with washers on either end (M4) and a single nut (M4) inside the slot to attach the other side of the servo.






7. Connect the Male-to-Male 3-strand solderless jumper cable from the servo’s power and signal wire. Pay attention to which colors get matched to which wires if the jumper cable does not match. On the servo cable yellow is signal, red is positive, and black is ground.




8. Run the jumper cable behind the microcontroller such that the positive and ground leads for the servo arrive at the bottom of the Stand. The power lead connects to the port marked “5V” and the ground lead connects to one of the two “GND” ports.





puzzlebox_bloom-assembly_guide-09 9. Connect the signal lead for the servo to pin 7 at the top of the microcontroller. Tuck all excess wire behind the back of the microcontroller so that it is out of the way of the moving parts. The servo is now fully installed.






10. Attach the Bloom printed part to the Piston using two thin screws, one short (M2 * 12mm) and one long (M2 * 19mm), with washers on either side (M2 * 4) and use nuts (M2) to secure them in place. While aligning the pieces, pay attention to which direction the mounting stub for the Bulb is pointing. Find the front of the Bloom by examing the three socket mounting holes spread around its base. One of these holes will be aligned with the interior brackets that attach to the piston. With this hole facing you, the stub for the Bulb should be pointed to the right. The shorter M2 screw should be at the far side of the bloom, the long one closest to you.


puzzlebox_bloom-assembly_guide-11 11. Prepare the Bulb for mounting using a screw (M2 * 12mm) and washer (M2) on the top, and a nut (M2) with no washer on the bottom. This nut is meant to secure the screw in place later when attaching to the Piston. Since the Bulb will become flush against the interior of the Bloom, without this nut to hold the screw in place there would be no means to stop the screw from falling out during assembly.




puzzlebox_bloom-assembly_guide-12 12. Insert the RGB LED light strand inside the Bulb. The loose cables can hang out of the groove cut into the bottom of the Bulb.






puzzlebox_bloom-assembly_guide-13 13. Affix the Bulb to the Piston using a washer (M2) and nut (M2). Then slide the Socket over the piston. Be careful to thread the RGB LED light strand wires through the Socket’s protective ring. Note that the smaller M2 screw which was used to mount the Piston should fit over a groove cut into the Socket. If significant friction is experienced when slotting the Piston into place, it may be desirable or necessary to first widen the hole in the Socket for the Piston using a 8mm drill bit.



puzzlebox_bloom-assembly_guide-15 14. Attach the Connecting Rod to the Piston and plastic arm using a pair of screws (M2 * 12mm) and sequence of washers (M2) and bolts (M2): Screw, washer, component (Piston or servo arm), washer, nut, washer, Connecting Rod, washer, nut, nut. Make sure the teeth of the plastic servo arm end up aligned with the rear of the Piston arm. Note that this design could certainly be improved so as to reduce parts, but this combination has proved effective at preventing pieces from falling off. It may be desirable or necessary to first bore out all holes for using a 2mm drill bit.



puzzlebox_bloom-assembly_guide-16 15. Connect the RGB light strand colored wires to the microcontroller such that the Red lead attaches to pin 3, the Green lead attaches to pin 5, and the Blue lead attaches to pin 6. Note that the actual colors of the wires might not match this pattern (in the photo a yellow wire is used for the Blue lead).





puzzlebox_bloom-assembly_guide-17 16. Right the ground lead for the RGB light strand behind the microcontroller and connect to the remaining “GND” pin on the bottom of the micocontroller. Finally check that the Bloom is fully closed, so that the Piston is at it’s lowest position. Pull the Connecting Rod slightly to the right, and attach the plastic arm to the servo at the 5 o’clock position (the servo should still be spun to the “closed” position from Step 3). Slide the Bloom and socket into position over the base and attached with 3 screws (M4 * 12mm) or 1 screw (M4 * 12mm) and 2 Pegs (3D printed).



Congratulations your Puzzlebox Bloom is finished!


License: Creative Commons – Attribution – Share Alike



source credit: “Blooming Lamp” by Emmett Lalish
source credit: “Arduino OpenSCAD mounting library (v2.0)” by Kelly Egan
source credit: “Pin Connectors V3” by Tony Buser and Emmett Lalish
source credit: “Write.scad” by Harlan Martin

creative credit: Patrick Jouin

© 2022 Puzzlebox Productions LLC. All Rights Reserved.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.