Saturday, March 14, 2015

THP 2014/2015, OpenMV, Kickstarter and Pi Day!

It's been a while since I last wrote about anything, been very busy with THP, Kickstarter, new projects and day dreaming (more on that later), also I've been documenting OpenMV mostly on

However, today is a very special day, it's Pi Day of course, but it’s not just any Pi Day, today at 9:26:53 will describe Pi up to 10 digits, yay!  Something that happens once in a lifetime, and if that's not enough, today marks exactly 5 years since my very first blog post and it also happens to be my birthday ;D

Not being able to resist this historic day, I had to write something, so here's a long overdue post in which I'll try to document my experience with all this stuff, and share with you some of the lessons I've learned along the way.

THP 2014
Last year I submitted OpenMV for THP, I clearly remember saying to myself "Well, here goes nothing" and then I clicked submit, and bang it went viral! I received lots of comments, feedback, orders, even a few job offers!
Shortly after that, OpenMV became the second most "Skulled", viewed and commented project on (and still is, so far). Even though I did not make it to the finals at the end of it, but overall, I think joining the contest was one of the best things I ever did.

Hint: Just put your project out there, you have nothing to lose, try to document a lot, and if you're lucky, lots of awesome people will give you feedback and support.

Having received lots of request for cameras, with the help of my friend Michael Shimniok we (well, mostly just him :D) went ahead and made a small prototyping run, just to see how things go before doing anything serious:

This was the original OpenMV cam in the photo, we only made about 20 units of these, the biggest issue was Windows support, which had me recently sit down and rewrite the whole debugging interface to use CDC and, sadly, ditch libusb all together (it's a shame because I enjoy coding with libusb) I might document this issue here one day.

Hint: plan and *test* cross-platform support as early as possible, before anything else, if you want that eventually (in my defense I didn't want to support Windows at all when I started)

20 cameras were sold on Tindie, and we had more than 100 backorders, at this point, we decided to move forward and seriously consider mass production (by "mass" I was thinking 500-1000 units)

Making a product is no picnic, everyone knows that, you have to consider many factors when doing more than a few prototypes, from parts sourcing, programming and testing to order fulfillment and support, then there's always some product-specific issues that might catch you off guard, something as simple as focusing the lens!

At this point small costs start to creep in and If you're not careful enough or don't know what you're doing, something is bound to go wrong, and you might end up loosing money instead making profit.

One option is to outsource the whole thing to someone, and that's exactly what we did to minimize risks as much as we could, we've been in contact with MacroFab and decided to go with them, they'll be taking care of everything, I have to say I'm still impressed with the idea of a whole production backend as a service :)

On my end of things, other than working on the software, I went through a few designs trying to find that perfect balance between features, cost and "manufacturbility".

Some of the things that I've encountered may (or may not) surprise you, I found out that a cheaper connector or sensor might end up costing a lot more to assemble and test, so unless you plan on assembling 1000s of something yourself, think very carefully which parts you want to use, and consider the costs of assembling and testing those parts.

I finally settled on the latest hardware seen on the Kickstarter and then designed a small programming/testing jig, which I'll keep working on and improve further, if needed, in the following days.

Hint: think very carefully which parts you want to use, and consider the costs of assembling and testing those parts.

This brings us to funding and the Kickstarter, although we've been planning this for a while but it obviously was not enough, I think we did great and all (900 backers/208% funded) but we could have done much better (with some more planning and time) but that's okay for a start :)

If I learned anything from this KS, is that one should plan on every little detail before starting, this the best advice I can give anyone who wants to do this, plan and then plan some more, this includes reward tiers, stretch goals, content, logos, even updates timing and post-KS sales!

Hint: Be prepared for post-KS sales, have a website up and running, ready to receive back orders as soon as the KS ends (A lesson painfully learned as we still can't accept backorders yet :( )

THP 2015
Moving on to THP 2015, which just launched a few days ago, I've been eager to participate this year too, if for no other reason than the excitement of it :) sadly, I'm not sure I'll have the time this year and so far I don't have any worthy ideas (well maybe I have one or two tucked away ;))

This year's theme is about solving important world problems, some folks like this theme, personally I believe the world is doomed and I can hardly solve my own problems :) but I am still interested, also there's something new this year "The Best Product Prize" a grant of sorts to bring your product to the market, which sounds great.

If you have an idea go ahead and sign up, you do have a chance (not to save the world of course) but you'll get exposure for your project and maybe you'll win some cash too ;)


  1. Nice to read from you. Not only as a backer of OpenMV I wish you success (at least break even including remuneration of invested time :-). Please keep up your fantastic work. Best regards from Germany. /herbert

    1. Thank you! I couldn't have done it without you :)

  2. your stm32f429-linux-builder/configs/sources is not working

    i change localy
    #FETCH_CMD_uboot := git clone
    FETCH_CMD_uboot := git clone
    #FETCH_CMD_kernel := git clone
    FETCH_CMD_kernel := git clone

  3. Hey, any word on when those post-KS sales are gonna start up?

  4. Yes, we have two suppliers so far. Still figuring out details.

  5. Hello, I really like the Openmv project. OV5642 5MP camera module is comptable with Openmv 2 ?

    1. Thanks. No unfortunately OpenMV2 has a hardwired sensor.