DEV Community

Cover image for How I started my IoT Company?
Muhammad
Muhammad

Posted on

How I started my IoT Company?

A biological marvel, the human itself known as homo sapiens. In the Latin language, it stands for a wise man. A wise man that survived about 200,000 years of evolution and extinction. There are many perspectives towards its survival and today I would like to share my perspective, slightly vague but different. There is a concept of what drives you that has become popular within the last decade. Certain presumptions about the driving force are based upon raw emotional aspects such as passion and rage. I find to myself that these aspects are reactions to our stubbornness to keep on going on but the negative aspect is that these reactions are short-lived and eventually man settles with peace. I would like to share a certain experience in a short period of my life that has produced results beyond my expectations. It is a small story of how I created my IoT Device converted into a product and made a company out of it.

IoT Roadmap

It all starts with what I had observed about me, it’s called self-recognition. It is a subjective evaluation of my image that encompassed my beliefs. In a world connected by the internet that has enabled us to communicate faster, our horizon for success has far broadened more than we can actually digest. From stories of small startups evolving into big enterprises and basic ideas which we ignore on daily basis that have become world-changing solutions, the urge seeps in us, an urge to be part of this transformation, an urge to be not left behind. It is this urge that pushes us to buy the latest versions of the things that we use daily, like smartphones, laptops, computers, and cars. This urge is a trigger that satisfies our egos. It ensures titles for example, “I am loved”, “I am worthy”, “I am unloved”, “I know stuff”. These titles are emotional states like pride, despair or shame. A set of evaluations of ourselves in a positive or negative manner, as in how we feel about ourselves.

My Ego
Let’s talk about ego, my ego. Ego would mean a heightened extent to which we think of ourselves. Everybody loves to think great about themselves and to my findings, it is that struggle to find ways to think highly of ourselves that pushes and makes us to all these vague things that become our innovation. I would like to mention Sigmund Freud who was an Austrian neurologist and the founder of psychoanalysis, a clinical method for treating psychopathology through dialogue between a patient and psychoanalysis. Freud's perception of ego is simply the regulation of sexual and aggressive impulses that navigate in between our impulses, our demands and the values of the society that surrounds us. I find this as a metaphor for a self-consciousness. Our self-consciousness is a major portion of being which reflects on our thoughts, feelings, and actions. These thoughts, feelings, and actions become the identity that we legitimize. The constant need for us to belong by contribution is perhaps a reflection of our superego which is damped down by the society we live in for their constant need to control our us by eliminating our urges using concepts such as humility through faith. So here I was aiming to achieve self-worth and my journey started.

Research
The second part of my journey began, I call it the big research. At that moment in time, the most initial issue that clogged the news was air quality which greatly influenced me to find possible solutions. The question arises how do you find a solution to a problem. It’s simple, just find what others have done to solve the problem. What you find is what will you be competing with. This is called finding similar products. These are always well-made products designed to certain perspectives perfection. They are all good verses in my opinion but to my ego, I state them as prototypes because these products always have reviews and comments that are more interesting than the product itself. Now what you have are their users opinions telling what they expected and what they found. The expected part of the opinion is the shortfalls and to my amazement, some bigger products have a user base that is actually hacking sometimes the software and the hardware to better suit it for their own personal requirements. These hacks and fixes are what they expect it to be. Your ingredients are complete, you have the perfect formula for your own creation. You take the product, change it by the users opinions and apply the hacks and fixes to it and what you have in your own product. I like to repeat the process around 3-5 times before I can start documenting my findings. Now, this collection of findings is your formula for which you have to arrange all the raw materials needed for it.

Circuits
Next, I started my approach towards the hardware and you can easily lose your way through it. This stage does carry a bit of weight in your pocket but in the end, it pays off. To start with the hardware, you start by finding a devkit. A devkit is a complete prototype board that has all the basic components for the system on chip to function. Its literally plug and play. All devkit come with their native framework but I would like to say Arduino is your best friend. Arduino is an open-source software and an integrated development environment that has a simple and accessible user experience. It is based on C programming language which can be easily expanded by using their libraries in C++. Now Arduino is compatible with multiple devkits and it will save you a lot of pain. There are a lot of tutorials on YouTube and Google which can easily help you absorb the language, so plus one for acquiring this new skill. You have the devkit and the language, now get the sensors and make them work one at a time with the devkits. If you're using multiple sensors, each time you make one work, save your work as per individual sensor. Once you get all sensors working now it’s time to merge all the sensors together. I like to refer to this process as a divide and conquer by breaking a bigger problem into smaller problems and just focusing on one smaller problem at a time. It just solves so fast.

Once you have all the sensors and the hardware code working, I say compile them up on a breadboard and make it work so it works in harmony with each other. At this stage, you should have your hardware prototype up and running.


Once upon a time, there was a server and an IT guy who used to manage the server. The server had a fixed IP and was either running Windows Server or a Linux Version. The IT guy was 24 hours online with no sleep always looking at his computer screen into a terminal with all the fascinating green text scrolling up. Every now and then an evil hacker came and put his sleepless nights to waste by putting the server out of use. The IT guy got frustrated to a point at which he committed suicide by quitting the IT. Eventually, the number of IT guys started fading away until one day a cloud came. It was a big white glooming cloud that showered gave shade and showered rain to the IT guys. The IT guys stopped committing suicide and started sleeping more. They were at ease and rarely a hacker could render their server offline. They flourished and multiplied in numbers and lived happily ever after.


So what is the cloud? The cloud is an on-demand delivery network of IT resources over the internet. It follows the model of pay as you go. Instead of purchasing and maintaining a physical server, you access server services such as computing, storage, and database as on needed basis, everything else is handled by the cloud and the leading cloud provider today is Amazon Web Services. Now if you want consistency and persistence in your service, you have to be on the cloud. Keeping IoT (Internet of Things) in context, AWS (Amazon Web Services) has a beautiful service known as AWS IoT core. It works upon MQTT(Message Query Telemetry Transport). MQTT is a very lightweight protocol that transports messages from devices to the internet. It is designed for connections with remote locations where a very lightweight data packet is preferable when bandwidth is limited. Now you have your prototype board communicating with the internet on the cloud using MQTT. The data that you are being sent can now be stored in a database that is existing in the cloud. Once my prototype board was working on a breadboard and the data being sent to the cloud, I started working on the software end of things like handling the data, doing analytics and making the data into useful information. This included small microsystems like user registration and notifications through email. The initial process was using a framework like Angular to build a dashboard that enables me to monitor my hardware on the internet. So here we have another new word and that is Angular. Angular is a JavaScript framework that works by helping you create reusable code as components. It helps you better organize the way you develop things. The great thing about Angular is that there is another framework developed on top of this framework and it's known as Ionic framework. Ionic framework helps you develop a mobile application in HTML, CSS, and JavaScript which is then ported into an Android and IOS application. Now, you have the best of both worlds. By this time, you should have a bigger and clearer picture of where you are going and let me tell you, it is way satisfying when reaching this stage.

Lets get back to the hardware, so now you have your software and cloud figured out, what to do next. Take your breadboard circuit and use a piece of software known as Autodesk Eagle. Autodesk Eagle is an electronics schematic and board design software. You create your circuit logic as a schematic in Eagle and then convert it into a board. Now you have a board and you export it using Eagle as Gerber files. A Gerber file is used for printing a printed circuit board. It is a standard used by the PCB manufacturing industry. Now you have the Gerber files so open up google and search for PCB manufacturers in your area. I got my PCBs from china and a very famous one that is always putting google ads is allpcb.com. They are cheap and have a really nice online system to place your order and keep track of your PCB manufacturing process. You should at this stage place an order of your PCBs and in the time, it reaches you, lets work on designing the enclosure of your IoT device. Autodesk software is fully connected using the cloud; therefore, you can export your board to Autodesk Fusion 360 within Autodesk Eagle. Autodesk Eagle is a 3D modeling product design software and its neat. Once you have your boards with exact measurements to scale in Autodesk Fusion, your all good to design the enclosure around it. I think at this point, I highly recommend purchasing a 3D printer like Ender 3 Pro because it will help you reduce your prototype for enclosure costs substantially. Get your design finalized in Autodesk Fusion and give it to a 3D printing service or your 3D printed to print it. Now put those PCBs into the enclosure and give it a run. There you have it a complete prototype of your IoT product. I always pay special notice and attention to detail on how the product looks before finalizing my enclosure design.

Once your enclosure design is finalized, you need to find a company that provides injection molding for your enclosure. Injection molding is a process of producing parts by injecting material in a mold. It is very cost-effective and puts your product into a production line. Almost all of these companies have a mold maker. This mold maker will take your design and create a mold for you.


Your all ready for launch now. Make some great packaging and branding for your IoT device, polish your hardware and software, create a perfect landing page and get into the growing market of IoT devices by bringing in your innovation to technology.

At the end of this article, I would like to say, it was a fabulous journey for me and by the end of the road lay the fruits of my labor that surely satisfied and boosted my ego to proudly call myself from a league of entrepreneurs struggling their way to the top.

References
https://en.wikipedia.org/wiki/Self-esteem
https://www.psychologytoday.com/intl/blog/theory-knowledge/201306/the-elements-ego-functioning
https://aws.amazon.com/what-is-cloud-computing/
https://en.wikipedia.org/wiki/MQTT
https://en.wikipedia.org/wiki/Angular_(web_framework)
https://en.wikipedia.org/wiki/Gerber_format
https://en.wikipedia.org/wiki/Injection_moulding

Top comments (0)