Taking the plunge…
I have been invested in IoT for a few years, and considering how much kit I have now, and how much money I’ve sinked into it, I think invested is the right word…
I started out with a project in mind. I wanted to build something specific, and had no idea how. I have been coding for 36 years, so that part was covered. Making something physical was the issue. I am not skilled with my hands, and the memories of 14 year-old me trying to solder some resistors and various bits on a breadboard, and mostly failing, were not heart-warming.
So, with a project in mind (a monitoring solution), I set forth, and started researching. I discovered Arduino (the company) and after looking through the company’s (2013) offerings, and settled on an Esplora, with an LCD and SD card slot.
Then on eBay I bought a few sensors and accessories. On the photo above, it is talking to a uBlox GPS chip. Other common guests were a DHT11 (and then DHT22) Temperature and Humidity sensor, and an HC-05 Bluetooth module.
The thing about Arduino machines is that they brought me back, in a way, to the 1980s. The Esplora has 32KB of Flash memory (4 of which are occupied by the bootloader, more about that later), 2.5 KB of RAM, and 1 KB of EEPROM. That kind of specs belongs to 1982, the ZX Spectrum, give or take. (Re-)Learning to code for such machines is another challenge. Every BYTE counts.
I’m fortunate, for once, to be old, and to have learned coding on 8-bit processors in assembler. Been there done that. But it doesn’t mean one has to like it… It became obvious that even with squeezing every single byte out of the code, there wasn’t much I could do with the the Esplora (and subsequently with a few other similar machines, like your regular Arduino Uno, original or clone, which all share the same cramped memory).
And the bootloader. Right. This brought me back to the 1980s again. When you turned on a computer and nothing much happened. Because there wasn’t much of an OS on it. Same thing here. Arduino machines don’t have an OS. Just (if you’re lucky) a bootloader, that will help you upload code on it, and run it. YOU provide the OS, such as it is.
So two years after starting off, and having learned more than I ever wished I did about electronics, and relearning how to code for 8-bit processors, I acquired a Mega 2560, which offers 256/8/4 KB respectively. This provided enough to code everything I needed. I bought my stuff from a couple of Chinese vendors, the main one being SeeedStudio. They’re reasonably priced, and their stuff works, which isn’t always the case with Chinese vendors…
That monster mushroomed quite a bit. I has a small TFT screen, more sensors than a nuclear power plant, and can talk to my phone, my MacBook, and other machines through an array of frequencies that would make the NSA suspicious, or jealous. Bluetooth, WiFi, RFID/NFC, nRF24L01, other RF frequencies, and I have my eyes set on LoRa. I want to be able to talk to my Mega from the train station. Why? Because I can. Hopefully…
Yeah, the project became a hobby of its own. I now build things because I [think I] can. But the original project is still ongoing, and has reached a stage where it can morph into a startup. And the Arduino platform, while still occupying a large space of my storage, has been set aside, mostly, for other platforms. Most prominently, lately, Linux.
The latest version of my project works on Onion.io’s Omega2. It runs, like the Linkit Smart 7688 (Duo), OpenWrt, a Linux distribution for WiFi routers. Both can run an ATmega chip in parallel (the Duo has it on the board, the Omega2 has an Arduino dock). These things are small and provide an environment that is less “strange” to beginners than the Arduino platform. Although I’d still advise to learn about the Arduino ecosystem, if one would like to take full advantage of the Omega2/Linkit Smart.
So if you take the plunge, go in with an idea. It doesn’t have to be a grand idea, but having in mind what you’d like to build will help putting together the stumbling blocks required to become proficient.
This little essay was written with one person in mind.