The Blinkenlight Shield is my first significant contribution to the Arduino community. I joined this community in 2009 under my real name Udo Klein. Since then I am playing around with Arduino and related boards. End of January 2011 I wanted to make something blink. I also had the feeling that I need some shield to help me debugging, especially to visualize the pin states of the Arduino. This is how the idea for the Blinkenlight Shield was born.
Since then quite a lot has happend which eventually culminated in this Blog and Webpage as well as a “real” Arduino shield.
If you are interested in this history read on. If you just want to see what the shield is and what it does go the experiments. The history is quite lengtyy since it summarizes a little bit more than half a year. Future blog entries will be shorter. Promised.
Yesterday I wanted to make somethink blink. Also I wanted something to help me debug Arduino IO. That is I desired some means to visualize Arduino pin states. Thus I dug into my junk box and found some pretty helpful stuff: a generic Arduino protoboard, a LED stripe with 20 LEDs and a bunch of resistors. The shield was soldered the same evening.
I did this without any real planning whatsoever. Especially i did no schematics and layout. Thus I had to resolder some parts. As a consequence the result not look to nice, the solder joints got pretty ugly. But it works as expected. Actually it works much better. I have much more fun with it than I would have expected. I am already creating several cool sketches for it. Maybe I will put them to the Arduino playground.
By now I realize that this shield has way more potential than just some simple sketches. I think it could be possible to sell some of those. My own small business? Eventually I could tax deduct my micro controller stuff? Maybe even make some money? World domination!!! Down to earth: how to manufacture enough of those boards? How to package and stock them? How to ship and sell them? Hmmm. World domination seems slightly harder than expected.
Anyway I to sift through the internet and find quite some resources. One of the best I found was the German electronics FAQ. Not really encouraging though. Especially the electronic waste part. This seems to be designed specifically to keep home tinkerers out of electronics business. OK so not yet really started and the first legal complications arise. Obligatory XKCD on success.
So I start this thread in the Arduino community. At least the community does not offend against trying to sell some self made contraption.
The Arduino community thread got me in contact with Rugged Circuits. They offer to stock and sell my stuff. Good. At least something moving into the proper direction. However they have concerns if my simple board will catch anyones attention. Arghh – lack of faith – bad mojo – nobody but me sees the full potential of my idea. Seems I have to code more demo sketches such that anyone can see how cool it really is. Anyhow I already know that this is so cool. It WILL make it at least to hackaday.
Some people hinted me into the direction of „the Chinese“. Unfortunately you can not just stand up and say “Chinese please help me”. It is not that easy. What I found is that „the Chinese“ can manufacture much cheaper. But I found none that will help me with development. I also found none that will start with so small quantities. Maybe I did not search hard enough or did not look into the right places but finding a business partner remotely is not at all easy.
On the other side the Rugged Circuits guys are very supportive. They give me hints here and there. For example they point out that SMD is the way to go. SMD has many advantages. From the manufacuring side SMD is definitely better. But for hand soldering as well. I did not believe this maybe a year ago. But once I got the hang of hand soldering SMD I found it is definitely faster and simpler than through the hole. At least as long as the SMD parts are big enough to see them with the naked eye. Where SMD really sucks is breadboarding though. Since my board will be prefabricated this is of no concern. Last not least SMD makes any board look so much more professional.
This month I am just drawing and tweaking the schematics. I also create more and more sketches. Given the relative low complexity of the stuff I am making very slow progress. This is not to surprising though. My current work is not just an evening hack or two. This work must be actually „nice and tidy“. And it has to be documented. Although less fun than just straight hacking it is satisfying nevertheless.
By now I also have an idea for a name. Of course the name must be catchy, cool and hackish. It must also relate to blinking LEDs. Of course it must not be occupied by any existing brand, at least by none in the realm of electronics. If possible I must be able to buy a related domain name. Turns out that there is such a name. Drum roll. I will go for „Blinkenlight“. This name relates to Blinkenlights as described by Wikipedia. There is already some very cool project out there that uses a similar name blinkenlights.net. Very cool stuff indeed. Although my work is not in any way connected with theirs I admire them a lot. So consider my use of this name a hommage to their work.
I am ready with my PCB design. Rugged Circuits will create the first prototype. Since I opt for the cheapest possible prototype process I will have to wait quite some time though.
Two weeks later. The board is ready but of course not populated. The first tricky question is which LEDs to use. Since it is a prototype we agree that we use the „cheapest possible“ LEDs. That is the LEDs that are in the parts bin, just some left overs from the last project. Not red as initially intended but orange. Not diffuse but with lenses. But who cares. This is a prototype and we are not yet making any money.
We also discuss how the sales model will be. This is tricky. I have quite some constraints. I must not interfere with my employment. So I must ensure that I will never have time critical tasks on my side. Especially I could never guarantee timely shipment of any orders. This in turn implies that I will not be able to handle orders. Unless of course I would hire someone to do this for me. Since the my board will probably not have such a high margin and since I have absolutely no clue about the potential market size this is completely impossible. Anyway it would raise another much more critical issue. As I would be shipping from Europe I would have to import the boards to Europe and then comply to European regulations on electronic waste. Although these regulations go into the right directions their implementation is a major obstacle for small scale innovation. So I am very happy that Rugged Circuits will not only take care about the manufacturing but also about packaging, stocking and shipping. Of course they will get their share of the margin for this. But that’s life. They do some of the work and they need to live as well. And I get something for it. I do not need to take care of stuff that I can not really handle anyway.
Rugged Circuits finally has the shield ready. Of course it works as expected. I did not expect anything else from them. They can manufacture much more complex boards. So this was a piece of cake for them.
Finally the prototype reaches me. Good that I paid for sending this to me. It is good but not good enough for me. I do not like the headers and the switch at all. The whole board is nice and flat but the switch and the header stick out like a red flag. This is uncool. I will not agree to sell something like this.
Also the LEDs are not like I expected them. The whole appearance is strange compared to the LED stripe. Seems I need more experimentation. So I start to order several sets of different SMD LEDs for experimentation.
Unfortunately all the other LEDs I try on this board make it look worse. Especially they are not even close as the bright as the incidental choice. Seems the lenses and the orange color give some pretty bright combination. Anyway by now I start to like the new setup the old LED bar setup starts to look strange to me. So maybe I was just used to the bar in the same way I now get used to the new setup.
Eventually I only switch the jumper to the backside and discuss with Rugged Circuits what kind of switch would be a better choice. That is I “flatten” the front side.
After tweaking the CAD files (probably for the 100th time by now) Rugged Circuits starts to create the next prototype.
In the meantime I start to write up the „Blinkenlight tutorials“. Just the documentation for my set of sketches. All in one flat file. The feedback from Rugged Circuits is very good but they think that I should make it available online instead of a flat file. They are right. Oops now I need a website. And I need to run it. At least step 0 is easy. I register the domain blinkenlight.net. But the website — where to go with it? From a software architect’s point of view it is no good to set this up on my own. I have quite some knowledge about all the implications of this stuff if it is done large scale. But small scale? Do I really want to do this? Definitely not. So I will search for some hosting solution. And I need it ASAP. Fortunately hosting services abound. Unfortunately this makes the choice no easier.
I got the second prototype. Rugged Circuit guys soldered a straight header on the top instead of an angular header to the bottom. Also the switch is still the old through the hole switch. Because the switch is not available in single packages I order 5 switches. After I get them I desolder the switch and the headers and solder the desired parts. The result is awesome even though I messed again with the solder joints. Seems I am somewhat out of practice.
That’s how I want it to look like. I immediately call my friend Sebastian Ritter to arrange a foto session. The session will be next month and then I will have lots of nice pictures for my tutorials.
I finally „finished“ the write up of my tutorials. Now I definitely need to nail down the online CMS choice. Something I am still somewhat reluctant to decide.
There is good news from Rugged Circuits as well. The manufacturing process changed. I have now free choice of color for the board and the silk screen at no additional cost. I choose to match the Arduino. Thus blue board with white silk screen. Since everything is ready for production I confirm this to Rugged Circuits. Since I have to prepay all of the boards I need to transfer money to the US. Turns out this is a total rip off. The fees for international money transfer of moderate amounts are ~4%. I understand that international money transfer is complicated. But 4%??? Even sending a check is cheaper. I double checked this. It is cheaper including all fees and postage. How on earth can banks get into trouble if they are able to reap such fees? And I will have the same penalty once I will get money back from Rugged Circuits.
I even thought about opening a bank account in the US. But I found no way to do this from Germany without a US residence.
If anyone who ready my blog knows any practical way to transfer money between the US and Germany at lower fees I would be very grateful to learn about it. If anyone knows a way how I could get an online US bank account I would also be happy to learn about it.
This month I start very actively to search where my web page and blog will be hosted. I figure that lots of tinkerers seem to go to WordPress. Even hackaday uses it. So I setup a trial account and test drive it for two days. Let’s see what they offer for me:
- Blog — check
- Website CMS — check
- Enough (free) space — check
- Can upload images — check
- Can upload and pretty print code — check
- Videos — not free but possible as a paid upgrade — check
- Located in the US — check
- Open source, low lock in — check
- Community support — check
- Free or reasonable low price — check
- Domain mapping possible — check
- Easy to learn — check
This is my initial assessment. Actually it is slightly more complicated than that. Especially I am very concerned about lock in.
I fix the missing free video support by opening up a Youtube account. I could also fix this by buying a video upgrade but right now I have to keep tight budget control.
There is one small issue though. The user „blinkenlight“ is already occupied by somebody else. Seems someone took this name just some months ago, plaid around and then kept a zombie account. I write some requests but get no response from said user.
Here is where the domain mapping service comes into play. Since I own the blinkenlight.net domain I fix this by paying for the domain mapping service and presto I completely bypassed this issue. This solution is even better than what I would have done in the first place. Now the traffic gets directed according to my DNS entries. That is this reduces lock in even more. If I should ever want to move somewhere else I can redirect my DNS entries and not lose any readers. Except for those using WP’s shortlink service of course.
I now have a foto session with Sebastian. We create lots of pictures. Especially the light paintings are quite cool. So most of my work is now to select pictures and finish them. That is cutting them to proper borders and in case of the light paintings to remove hot pixels and any undesired background. Once you get the hang of it this is pretty easy to do with Gimp. The results are pretty cool.
Much more time consuming are the videos. It already starts with the choice of the video cutting software. Since I am working with Linux the choices are all somewhat poor. I evaluate several of them and I find Openshot to be the best choice for me. It is not perfect but it is pretty stable and allows all basic operations that I need. That is: correction of white balance, cutting, insertion of titles / text, separate audio. And it is fairly easy to use. Like all Linux Video solutions it has some issues that I still do not fully understand. Although the white balance works the preview icon still has improper white balance. Also the copyright text at the end of the videos is not really sharp. Probably this is an issue with the codecs. Both things that I do not fully understand. If there is an expert here reading this – I am grateful for hints on how to fix these issues.
Another issue with the videos is the sound. I would have liked some music but I did not find anything suitable. Since I am located in Germany I do not want Youtube to block them for Germans. Otherwise my friends and colleagues would not be able to see my stuff. This implies that I can not use anything that is copyrighted / chart music. I was searching around for suitable free music but found none that I like. I could try to add explanations to the videos. But since I did not plan this upfront the footage is to short. No sound at all is not an options as well. In the end I settled with crickets. All videos start with the title on dark background and crickets in the audio track. Then there is a light switch audible. At the same time I will start with the video content. That is the light will go on and the crickets will be silent. Like real crickets they do not like the light ;) At the end the light will be switched out again and the crickets will be audible again. I think this is a pretty good compromise.
Rugged Circuits finally received their money. Seems that during the transfer an additional USD 25 fell into the Atlantic Ocean. Rugged Circuits aggrees that I can cover this from my first sales. Good – at least I do not have to pay the banks their insanely high fees twice.
They manufactured all and ordered all parts. They even hand soldered one shield and send me pictures.
The jumper sucks. Arghhh. Seems the BOM was not 100% clear about what I really wanted and they forgot to ask. So we order another set of jumpers and agree to split the loss because none of us really clarified this 100% before.
Since the light paintings came out so nice I setup another foto session with Sebastian. This time dedicated to light painting only. We create lots of nice pictures.
Rugged Circuits notices that the LEDs do not 100% fit the boards. I used standard 1206 footprints and put „1206“ LEDs into the BOM but did not double check that these specific „1206“ LEDs actually have a 1206 footprint. So the footprint is slightly of the mark.
Now what to do? Reorder the LEDs? This will be expensive. Or just run the production and risk to ruin all boards? We agree on a 1 piece pre production run. If this piece comes out flawless we will risk it.
Luckily both the pre production run and the production run are flawless. So all boards are OK. Anyway I fix the board layout in case of possible future production runs.
Rugged Circuits sends me lots of pictures. The boards came out really nice. At least as good as I had hoped.
The jumpers on the back are now fixed as well.
Although we are now ready to ship we agree to not start before 1st of November. The point is that I will be on vacation and that I want to be online when we start.
I open up my website to the public. Hello World!