text: From Prototype to Kickstarter to Production: How blink(1) was made - CrowdFunding Union
  posted Jun 18, 2014, 10:54 AM by Siamak Ebarhimi [ updated Jun 18, 2014, 10:54 AM ]
  From Prototypeto Kickstarterto ProductionHow blink(1) was madeusing Arduino & 3D printingblink(1) Maker Faire Bay Area18 May 2013Tod E. Kurt
  blink(1)USB RGB Notification LightWhat is blink(1)? It's just an RGB LED that you can control over USB.You can control it via many different applications and programming languages.Make anything visible to your computer, visible as a flashing colored light.
  blink(1)Connect the Cloud to a Color via IFTTTVia IFTTT or your own code, you can hook blink(1) up to events in the cloud.
  In mid 2012 we decided to try out Kickstarter as a way to help us fund the initial production run. Itended up being a *lot* more popular than we anticipated.
  My BackgroundBut first, who am I? I write occasionally for Make. I make open source tools for the Arduino communitylike the WingShield and the Wiichuck adapter. I founded a hackerspace in Los Angeles, and sometimesI make big kinetic art installations with others. But what I mainly do is...
  BlinkM FamilySo blink(1) was easy then, right? Well...ThingM, the company I co-founded with Mike Kuniavsky. ThingM produces the BlinkM line of Smart LEDproducts, which we've sold tens of thousands of units of.Here's a quick demo of some of our BlinkM products. The original BlinkM is a superbright RGB LEDwith a tiny computer behind it, and gives you a simple serial interface and scripting engine tocontrolling 3-channel PWM for RGB LEDs. BlinkM was designed for Arduino and lets you save PWM pinson your Arduino and saves you from coding a color-mixing engine in your Arduino sketches. TheBlinkM MinM is the same as the BlinkM, but tiny and works great for wearables. The BlinkM MaxMworks just like the BlinkM but adds inputs to the scripting engine and lets you control several watts ofLED clusters or LED strip tape. We also have our LinkM USB adapter for BlinkMs if you don't want to usean Arduino. And since all BlinkMs use the same class of AVR chip that's in an Arduino, you canreprogram any BlinkM to run Arduino sketches.You might think that since we've had so much experience in manufacturing, blink(1) would've beeneasy right?crowdfunding marketing
  idea prototype kickstarter productionblink(1) hardware Timeline2 weeks 3 months 1 month 3 monthsactually, it took both less time and more time....Well, sort of. The amount of time it took is a difficult question, because blink(1) is similar to otherproducts we've done.In one since, it took less time, because if we didn't focus so much on the enclosure and software, wecould've made it to Kickstarter faster. In our paticular case, it took longer because I've been thinkingabout USB LEDs for quite a while.
  blink(1) Process■ Arduino sketch to prove the hardware■ Migrate to smaller chip■ Add USB■ Iterate, iterate, iterate■ Design enclosure, packaging, software■ Iterate enclosures, 3d print variations■ Commit to productionThis was the rough process for the blink(1) hardware. It doesn't cover the software, retail packaging,customer service, etc. etc. All these are actually more important than the hardware, depending on thedevice you are creating. We would've done better by focussing on the non-hardware aspects earlier.
  Smart LED PrototypesAt the same time I was exploring the tiniest microcontrollers at the time. These are "ATtiny" chips.These chips have just enough I/O for controlling an RGB LED and some sort of control input. Iexperimented with sensor-based input and then started thinking about combining this with theproblems of I/O-limitations of Arduino.The techniques (and much of the code) for these chips is the same as an Arduino sketch.For more details, see: http://todbot.com/blog/2007/03/25/smart-led-prototypes/
  Smart LED Prototypesto BlinkMBlinkM!After several iterations of the Smart LED idea, the result was BlinkM. BlinkM is designed to plug directlyinto Arduino for programming, but can work on its own without an Arduino. It's been a great hit.I later generalized my desire for smart components in the talk "Smart Interface Components" atSketching07. For more details, see: http://todbot.com/blog/2007/07/03/smart-interface-components-my-sketching07-talk/
  AVR USB RGB LED FOBThe same time the Smart LED research was happening, I also was experimenting with USB. Here in2007 I strapped an RGB LED to my USB research and created the "AVR USB RGB LED FOB". This usedlightly-modified Arduino sketches plopped into an "AVR-USB" demo.
  LinkM USB adapterThe USB RGB FOB turned into LinkM, a BlinkM programmer. By this time, we had many BlinkM usersand some wanted to program them without needing an Arduino. Thus LinkM. It let us play a little bitwith injection-molded enclosures and the logistics issues of managing PCB assembly vs. finalpackaging assembly. But it was not meant to be a huge seller; we made it more as a convenience forour users.
  +=LinkMBlinkMblink(1)blink(1)So in many ways, blink(1) is the shrunk-down combination of a BlinkM and a LinkM.indiegogo marketing
  Explore Making it SmallThe first real blink(1) task then was making it small like a proper USB dongle should be.Using Eagle for drawing schematics, and then SketchUp (with EagleUp), let's you get a good idea.EagleUp is a plugin for SketchUp. Having a board design with dimensionally-accurate parts is a greatway to explore the "physicalness" of a design without spending a lot of money on prototypes.
  Make it smallerHere is another size study I did using Eagle, SketchUp and EagleUp. This particular case was testingthe size difference between a proper metal USB connector vs a connector created by traces on a PCB.We found that while the area size shrunk, the height increase (particularly the distance between the topof the LED to the top of the case), was too much for us. Also, the PCB-based connector could haveflakey electrical connections.
  Enclosure VisualizationAnd with 3D models of the circuit board, we can start fitting it into enclosure ideas to see how thingsmight all go together. It's incredibly instructive.
  3D Print EnclosuresWith a 3D printer like a Makerbot, Ultimaker, Bukobot, or similar, we could try out a bunch of ideas inphysical form using prototype electronics. This lets us get very close to a production look & feel.Unfortunately, consumer 3d printers don't have the same resolution as injection-molding, so we had tointuit a bit what was actually possible for the finer details.
  Kickstarter!And with that we had enough to make a video and launch a kickstarter.kickstarter marketing
  Finalize the DesignYou hope. Then you change it yet again.During the Kickstarter, we finalized the design and started getting production quotes. And we foundthat some aspects of our design weren't actually manufacturable. 3d printers and injection molding &CNC techniques have different requirements on what's actually possible. The biggest issue is that allvertical walls in a molded part actually are at a slight angle, so the part can be pulled out of the mold.
  Many many attemptsMakerbot -> Shapeways -> ProtoMold -> CNCSo we did a few more design iterations using 3d printers, Shapeways (which produces higher-res 3dprints), and ProtoMold to do CNC versions.
  Final, reallyA CNC and SLA production sample. Finally.
  Production!Congratulations! You're done!**Nope
  Production ProblemsExpect production problems. They will cost you money, cost you time, make you feel dumb. In thetop photo are three ways the blink(1)s metal tops were bad: too thick, too thin, or crooked. In thebottom photo, we had a sizable portion of our retail boxes damaged in shipping.
  Production w/ FriendsDon't do this if you have sizable quantitiesAnd our original production process had the finished electronics being snapped into the enclosure byme and some friends. This is okay for a few hundred units, but not for 6000.
  Production!But we got them built.
  Time To ShipAnd finally shipped all the hardware to our fulfillment house to be shipped to our backers.
  Not Covered Here■ Software Design & Implementation for multiple platforms■ Shipping / Handling Logistics■ Shipping Mistakes / Returns / Customs■ Ongoing Customer SupportIn blink(1)'s case, there's a large aspect of the product that exists as software. And it has to exist onMac, Windows, Linux, Raspberry Pi, WRT, Beaglebone, etc. And the Mac & Windows versions need to beuser-friendly, stable, and have good design. This is something we definitely didn't have muchexperience in and we should have started it much sooner.Shipping 6000 units to 2500 people means there's lots of ways you can screw up shipments. Having athird-party help with this can save you from going crazy but even they will make mistakes.And even if you don't make any obvious mistakes in packing & addressing, international orders have anadditional level of complexity. And even if you get all that correct, your shipments may still be held upin customs for no understandable reason. Particularly if it's German customs, for some reason.And the most important thing to consider is that you're making a product. You will have ongoingcustomer support questions to handle. You will need to put in place mechanisms to help people.But Kickstarter is a great community to get to try your product. They are curious, eager to help you dowell, and love to see the details of how you're doing what you're doing. Show them your mistakes,even though it pains you. Part of the fun of being a Kickstarter backer is learning how people go aboutcreating, so don't deprive backers of the full story. Show them your successes and your mistakes.
  What's Next?■ Improve the hardware■ Improve the software■ Find better manufacturing partner■ Streamline fulfillment with resellers■ Increase productionFor blink(1), we're still working on it. We're working on a improving the hardware to work on evenmore USB hosts. We're planning a major update to the software that will be easier and more powerful.We're also looking at different ways of manufacturing. We used the same company we used forBlinkMs, who is a great PCB and assembly company, but doesn't do retail packaging. Maybe we findsomeone who can do everything.We're also trying to get blink(1)s out there quicker and more efficiently by finding resellers (particularlyin EU)And once we have those in place, we can really ramp up production.