I love to build things, especially robots. Much of my day job at Dragon Innovation is focused on helping other companies build complex, high volume consumer electronics products. For a change of pace on my own time leading up to Halloween, I really enjoy building a single robot to hand out candy to trick-or-treaters.
Last year, I was fortunate to get a Glowforge laser cutter and MarkForged 3D carbon fiber printer. These tools, coupled with Onshape, opened a new world of possibilities for me. For my previous version of the Halloween Robot, I needed to use off the shelf (OTS) components to build the machine. Now that I had access to better tools, I could design and fabricate custom components that are purpose built. As I was going through this design and fabrication process, I was interested in thinking through the design approach as a function of unit volume, which are highly coupled.
For a Proof-of-Concept (Version 1 of the Halloween Machine), my fabrication tools were limited to a bandsaw and hand tools. As a result, I had to select OTS components and then modify their geometry. A good example is the candy slide ramp - I used PVC tubing and cut away the parts I didn’t need. This was fast and cheap but limited me to the sizes available in Home Depot. For Version 2, I was able to design everything from scratch for my laser cutter. This approach gave me the freedom to make it any size, but I was limited to 2D cuts. This required more effort on the design (tabs, etc), but resulted in greater freedom to increase performance (less wasted space inside the machine). If I ever build in high-volume, then I could switch to a full custom design using injection molding to unlock 3D shapes and reduced part counts and assembly time. This would come at the expense of a more complex design up-front and tooling cost / lead-times.
For Version 1, I used a simple breadboard, which made it very easy to hook up and prove out a circuit. However, the wiring was not robust to withstand 100’s of sugar-crazed kids, so for Version 2, I switched to a Perma-Proto which followed the same wiring plan but let me solder the wires in place. My main need was a microcontroller for the stepper motors and I/O. I selected the AdaFruit Feather M0, which is based on an ATSAMD21G18 ARM Cortex M0 processor. This device, plus some stepper motor shields and strings of LEDs, provided the interactive parts of the robot. All of these components were shipped to me from Adafruit and arrived in a day or two. As a result, I could be very nimble in my design and modify it quickly as I learned through build and test.
For higher volume, I would need to optimize my design for cost, lead-time and quality. I’d also need to design my own custom PCB using more advanced tools such as Eagle.
I heavily leveraged the Arduino IDE and copied Adafruit’s example code. This was quick and fairly easy to debug (I am excited to try out the debugger). When I’m ready to build a lot of Halloween Robots, I’ll need to switch to a lower cost solution and port my code. I like the Microchip approach Bob Martin has championed that takes an Arduino sketch into Atmel Studio and then creates a formal C++ project that can be source level debugged. This approach allows for complete access and control of the Arduino target platform while permitting the code overhead of the Arduino runtime library to be peeled away.
Stay tuned and follow the Dragon Blog as we keep you posted while we continue assembling the robot in time for Halloween!