This was legit one of the coolest projects I’ve built. It had an unfortunate turn, but in the end it found a good home.
The initial concept
Early 2020 before everything went … you know … bonkers, my co-worker Jon Simons came over to my desk with an awesome idea. He wanted to know if I could reverse engineer a Rock’n Flower! You know, those flowers that were everywhere in the early 90’s that danced when you played music near by …
Yeah, those. So cool 🙂
Jon asked if we could figure it out and build nine flowers. I thought about it for a min, ran through possibilities in my head, and said “yeah, I think we could figure that out”! We didn’t have one of the actual flowers on hand, but we had some pictures and a couple of reference videos. How hard could it be??
Proof of concept – Figuring out how to wiggle
The first big hurdle was “how do we make this thing dance?”. I’m not the greatest at kinematic design just yet, so I didn’t have a great idea right off the bat. I started working through proof-of-concepts.
I tried a couple of different approaches. Some aren’t even worth mentioning because they failed hard immediately, but the first one that seemed at least viable was to use a string pulled down through a compression spring to create a bouncing movement.
The motion seemed really good, but I couldn’t quite figure out how to automate it. I tried a simple dc motor setup with a crude gearbox.
I wasn’t able to get this going. Aside from the fact that I couldn’t quite get the movement working with the gears I had on hand, I also worried that over time the string would snap and the flower would stop working, so I put aside that proof of concept (it proved that this concept wasn’t viable, so time to move on) and tried more stuff. The compression spring held somewhat rigid by heat shrink did work pretty well though, so I kept that idea.
Eventually I reached out to one of the dev communities for different perspectives and one of the users on Adafruit’s discord channel suggested a rigid rod running up through the compression spring. So I gave it a try and it worked!
The idea was to add a short arm to the shaft of a stepper motor, offset a small hole, insert the brass rod (I used a coat hanger) through the hole, and then run the rod through a compression spring held rigid.
This way, when the stepper motor turned and the arm rotated, the brass rod would rotate within the compression sprint. Since the spring is metal the rod would slide easily against the inside of the spring, and because the spring was held rigid to the top of the frame it would move around without actually rotating.
So very quickly with some scrap plywood and spare parts I was able to prove out the idea. It was crude, but it worked 😀
Now that I had a viable proof of concept the next step was to start building a prototype.
I had the mechanical movements down from the proof of concept, so the next step was to write the code to make it work.
The original Rock’n Flower looked like it had a microphone to detect sound differences and determine if the motor should run or not, so I grabbed a small electret microphone from adafruit, put it in a circuit with a stepper motor driver and a Trinket M0, and popped open my code editor.
I’d not written code to take in audio and act on it, so I had to do a bit of research into audio sampling. Adafruit had a great example. The gist is that we take a reading from the mic for a 50 millisecond window grabbing the max and min volume levels, calculate a peak to peak range, and then compare that to an arbitrary threshold value. If the peak to peak range is greater than our threshold we trigger the dance routine.
Once I proved that out, making the flower “dance” was pretty simple; I would just trigger a rotation of the stepper motor clockwise and then counter clockwise. The brass rod going through the compression spring is slightly bent giving the illusion of a wiggle 🙂
At the same time I started working on the 3D model and print of the scaffolding to hold the stepper motor, spring, rod, and a circuit board. I hopped into Fusion 360 and made a massive number of iterations on the idea. The goal in all of them was to keep that hollow square shape to hold the motor and spring rigid while giving room for the small arm to rotate.
The combination of the code, the wiring, and the 3D prints got me my first functional prototype 😀
Next step was to get the circuit off of a solderless breadboard and onto a soldered perma proto board and to design a more permanent scaffolding for everything.
There was a lot of iteration and design, but in the end the prototype was working great. We were getting the movements we wanted, the circuit board was manageable (for a prototype), and I was able to get it running off of a single 9volt battery.
With the working prototype we knew that there were some big to-dos in the design for the final flower:
- We needed a custom circuit board to cut down on size and so I DIDN’T NEED TO HAND WIRE NINE OF THESE BOARDS!
- Everything needed to be slimmer and smaller
- The 3d printing for the parts needed to be simplified to cut down the number of parts.
The final build
With a working prototype in hand, Jon and I were able to put our heads together and think about the final version.
While I had been working through the product design and build of the flower, Jon had been working on box design and 3D modeling for some of the more detailed pieces like the instruments.
A whole separate article could be written on the design Jon did, but it’s outside of the scope for this one (plus I don’t have pics of his process).
A custom circuit board
Next was the circuit board. While I love hand wiring while prototyping, I did not want to do that again 9 times, so I took this as the opportunity to start learning EagleCAD.
I was actually really excited for a chance to learn Eagle. For a long time in my early career I did break->fix support on Apple computers and getting looks at the complexity and organization of the circuit boards was awesome. Once I started building circuits myself it just made me that much more facinated with the process.
So, I designed a more compact version of the circuit board I hand wired and then went to one of the local maker workspaces, MADE, got training on their Bantam PCB mill and cut my first custom circuit board!
Now we have a slimmer footprint for the circuit!
A new scaffold and pot design
Aside from saving some repetitive work, the desire for a custom circuit board was also to help slim down the design. The box that Jon was designing was pretty slim, and the perma-proto made the pot way to wide for it, but the custom board allowed me to pack the components in tighter.
So I brought the board design over in to fusion and designed a new scaffolding and pot using the board size as a guide.
And this slimmed down scaffolding led to a slimmer pot! We ordered the parts needed to crank out multiple flowers and got ready for final assembly!
The pandemic and the death of the dancing flower
And then the pandemic came started.
Jon and I were waiting on some final design input and time to go to made to mill the circuit boards for the finals when the pandemic hit and the shelter in place orders came through. At the beginning it felt like there was a possibility that the public would work together, do what they could to keep each other safe, and we’d be able to get back to regular life in a couple of months, but after a while it was clear that we weren’t coming out of this anytime soon.
Since many businesses, including MADE, closed temporarily to keep people safe and refocus their efforts on producing face shields for local hospitals it meant we couldn’t mill the rest of the circuit boards. The lack of that vital piece, the inability to order from board manufacturers overseas, and the indefinite timeline for getting access again cause the plug to be pulled on the project. The only thing we were left with were the proof of concept, the prototype, and the adjustable version of the final.
A rebirth and new home
It’s been nine months since the project was cancelled and the flowers have been sitting on a shelf in my basement workshop. The other day my daughter came down into the shop, spotted the flower, and asked if she could have it in her room.
I thought about it and told her of course 🙂
The existing pot on the working version of the final was just a bit to short, so I hopped back into fusion, extended the pot a bit, and reprinted it.
It was bittersweet coming back to the flower. I poured a lot of effort and excitement into the design and build of the flower and I took it pretty hard when the project got cancelled.
But when I handed the final version to my daughter and she gave it a big hug and said she loved it, it made everything worth it.