Usually I don’t like to talk about something abstract but today people are asking me the same things like “What is the best board to create own project?” or “How to buy thousands of Galileo/Raspberry/Arduino boards to start production?” or “What is the next step if we already have a prototype?” So, I decided to share my OWN opinion about all these things.
When I was studying at the university I didn’t like Delphi and used C++ and Visual Studio for all my assignments and labs. But, finally, I got some experience in Delphi when somebody asked me to create a prototype of an analytic application “for tomorrow”. The prototype had to contain many graphics, tables and forms but at that time I needed to wait 2 more years for .NET and Windows Forms. So, I simply used Delphi to create it because Delphi contained all needed components and didn’t require much knowledge in Pascal. That’s why almost all students in my class didn’t use C++ but used Delphi. They simply didn’t want to be software developers but needed a tool which would help them to make prototypes and labs very quickly without deep knowledge there. We just had different answers to the question “Should we really have knowledge in software development?” Because I had positive answer I spent much time to learn object oriented programming, Windows API, Assembler etc. but all these things were not needed for pure mathematics.
I believe that we have the similar situation in IoT today and things like Arduino, Raspberry, Netduino, different sensors etc. are our “Delphi components”. But we are developers and today we need to answer the question “Do I really have to have knowledge in electronics?” Frankly speaking, I don’t think so. Of course, it’s easy to buy several common sensors, connect them to a board and develop something but what about things like price, the right PCB design, user experience, power consumption etc. Usually we don’t think about all these things when we are implementing a prototype. We just want to get working model. But your working model usually doesn’t have any common things with device which will go to production like my Delphi prototype didn’t have any common parts with the final product.
Just check some toys in the market like different robots, nano bugs, talking pandas etc. All these things even don’t have any microcontroller inside. Do you have enough knowledge to build a robot which will move around your house, avoid obstacles and follow some algorithms? And you should not use any microcontrollers and development at all.
Some things like flight controller boards contain chips like ATMega and even Arduino IDE compatible but I wonder if you are ready to build the board like this from scratch to satisfy you own solution and make it better?
So, my advice is simple. If you are going to create some cool prototypes just use existing components and make it fast because everything is changing quickly. But if you start thinking about production and have some ideas about who will invest money into your project – it’s time to invite engineers to your team and start building your project from scratch.