Looking back a few years ago, there weren’t too many IoT services around. Most consisted of experimental services and “Do it yourself”© solutions. Today, it’s a totally different world with Cloud vendors such as Microsoft Azure and Amazon Cloud Services offering IoT communication solutions, specialized PaaS solutions such as IBM Bluemix, or full-on product retailers such as Samsung SmartThings. And, this is of course just a handful of all the available service providers that exist today.
Back in those days, there were also no Arduino or Raspberry Pi, but just regular microcontrollers on which you had to spend quite some time to figure out how they worked. With all that said, it might seem strange to think that someone would suggest you to spend time, disassembling a piece of hardware such as a doorbell and build a custom solution, rather than buying into the existing Eco platforms that exist today.
Pre-made hardware is often much cheaper, unless you are running production batches of hundreds or thousands or units. Fail-fast/prototype/proof of concept items are probably going to be what most start-ups will run with; and arguably if you don’t know electronics, you can find someone to partner with who can design your hardware for you.
Custom made hardware is a lot more expensive from the start and will, generally, take both more time to construct / develop and will require a team with more diverse knowledge as they will be coding and constructing the hardware. However, most of the shelf solutions will not meet all your needs and you will be forced to make generalizations for your product.
Needless to say, it would be hard to give a general pointer for what is right for your company; but for the developers, I think nothing makes more sense than to take stuff apart, build custom solutions and just, generally, play around with electronics!
There are quite a few reasons to do it. First and foremost, it will teach you a great deal, which otherwise, you may never learn. Many people who play with ready-made hardware solutions never learn how a transistor works, but when you need to “digitally push” a button in your computer controller doorbell, it could very well be one of the first things your learn. Building custom electronics solutions will also give you a pool of stuff that you can use when you wish to build apps and services, implement custom features like muting your doorbell or build a program/solution that would automatically mute the doorbell when your baby is asleep.
It will help your future hardware debugging experiences, when you are stuck with a problem. Even if it’s built around ready-made hardware, knowing more about ‘how electronics work’ will help you sort out the problem much faster. Doing AVR development teaches you more about the intricate parts of the Arduino, and custom electronics development knowledge/experience will help you own and learn how to use a oscilloscope or even a signal analyzer.
Also, it will be a lot of fun. Hacking hardware have given me some of the most fun experiences of my life. Learning to build USB communications from ground up was one of my most rewarding experiences as a hobbyist developer.
So, happy summer hacking!