It’s never too late to start

Vuong Ngo
4 min readAug 1, 2017

--

I’m always inspired to explore and build new things, but the journey has never been easy for me. Three years ago, I got an idea about an app from an course that I did in university. With no technical background (I was studying HR), I spent one year and small investment on the project but I couldn’t complete the prototype. It was painful, so I decided to learn programming by myself to build what I want.

Fast forward three year later, while I’m working as full-time developer, it is still challenging to start. Last year, I was fascinated by ML. However, with faded knowledge in Math, I had to start learning ML by acquiring basic statistic and linear algebra. It was stressful, but enjoyable and by the end, I got a Recruitment app built with some unsupervised learning. I was happy with it.

Currently, I want to start an IoT project, but still, I don’t know much about electrical engineering, and the whole ‘dangerous’ security world. I bought an Arduino kit three weeks ago; I thought it is easy to start, but it wasn’t. No excuse for my laziness, today I decided to explore my first Arduino toy. This is the start of my IoT learning series, hopefully you enjoy my mistakes and not repeat them :)

1. Planning

I convinced myself not a type of person starting something without objective. So I planned ‘in my head’ to build a home-aware system for myself. Great start, what is required to do it? With my one night exp (from meetup), I believed it’s unnecessary to have a RasPi, so I seek for a micro-controller. Cool, let’s do the search!

I went to Digikey.com as some people buy cool stuffs from it, micro-controller returns many search results, and I had no idea what to choose. Ended up with cheap one (Arduino Leonardo) and a safe choice (Arduino kit) !!! For networking solution, I decided to try ZigBee for my home. Anyways, I bought a couple ZBee with ZBee shields, and different sensors (thermal, humidity, light). I was excited for my unplanned plan!

2. Mistakes

A week later I got all delivered. Nice! Took me three hours to go to to pick up at FedEx, but I’m happy with the package.

I quickly realize that I spent around twenty bucks for unused sensors (I don’t have a tool and know how to attach them). First lesson learned, don’t spend money for small stuffs with no wire/pin when starting.

Open the Arduino kit. I didn’t realize that I need different USB cable to connect with Arduino Uno. Not a big deal, but really frustrate me as the kit doesn’t have the right cable. Lesson two, double check what is shift with the kit, don’t blindly buy it liked me.

Last one, I got this board but have no idea how to use it. If you buy things, bookmark what you bought. It is helpful to figure out what is what later on.

3. JFDI

I started with a thermal detector, it worked but I don’t think I get accurate value from it. I followed another build with joystick to get position input. Simple stupid things, but importantly, I was motivated.

Awesome! What should I go from here. The tutorial online show me how to connect the wires to the pins; I followed them and they worked! But I don’t really understand the underlying principle!!! For example, why some wired in connected to digital pin, while others are connected to analog??? So I decided to get an Arduino cookbook to acquire better understanding.

There is a small sketch that attract my attention. It basically control turn on the led when I press the button.

Source: Arduino Cookbook by Michael Margolis

It looks easy, but I couldn’t get it works in a few attempts (actually I place the button on wrong position). Nooo, time to get a coffee. After a break, I had an idea to put a resister in between button and GnD, it turned out worked as I expect. But one led still didn’t work (physically but took me a while to realize).

First attempts failed, I had no idea why!
It works with resister. Hola!

Continue with the cookbook, it turns out Arduino has embeded resister in it, I just put the button in wrong position in bread board. Now, it works without external resister!!!

Starting up is hard; so I always try to find small motivation and celebrate the outcomes. If you are curious about IoT as I am, lets make it happen together.

Next post I will try to build alerting system with thermal sensor that I had. Stay tuned!

--

--