Arduino: Finally getting started
Arduino
I always wanted to write a post with some sort of help for those curious about the fascinating world of Arduino. Here it is. Finally my getting started guide.
Please, stay only if…
- you’re curious
- you’re looking for new hobbies
- you have some programming skills
- you’re at no risk of divorce
A real disclaimer, arduino is a time sucker, same level as:
- 3D printing,
- video games,
- aeromodelling,
- etc.
Be careful.
Overview
What is it?
Arduino is a company and a community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices <with the framework to program them>.
Its uses?
Mostly pocket-sized devices with:
- A specific purpose (embedded system)
- A minimalistic or no user interface
- High power efficiency
- Need for portability
- Low price
- No Operating System needed
NOTE: For those more into it already, keep in mind that all the items above are indicative. Sure you can have an arduino with 3 simple purposes, the user interface could be a color LCD still, maybe not efficient if you use no sleep features, no portability if you have a automatic window opening system, price can vary if you have a very expensive sensor, there are some so called operating systems for Arduino like Mongoose OS, …
Arduino vs. Raspberry?
- Also a pocket-size board
- It’s a full computer though
- Has an Operating System
- More expensive than most Arduino boards (~30€ the cheapest on amazon.fr)
- could last a day on batteries (maximum)
OUT OF SCOPE
NOTE: Saw some videos making a big deal out of a Raspberry running on batteries for 14 hours. That’s nothing for a serious Arduino battery-powered based project.
Arduino vs. *?
- FPGA
- ESPuma
- uPython
- Blynk
- Mongoose OS
- …
OUT OF SCOPE
Why so trendy?
- Boards are way cheaper than a laptop
- Lots of cool applications (IoT)
- Smart Home
- Smart City
- Environment
- Security
- Industrial IoT
- …
- Wider scope than just programming
- Interact with the real world / physics
- Actuators
- Sensors
- Build something useful
- Be creative
- Think out of the box
- Have fun
In layers
- Your code
- Arduino code
- SDK
- Hardware
Example:
How to get started?
Main ingredients
- An arduino-compatible board
- Some sensor/s
- Some user interface/s
- A power supply
- A firmware (on top of Arduino / SDK)
Proposed ingredients (to buy):
- Board: NodeMCU esp8266 (~5€)
- Sensor: a button (~3€ each)
- UI: some leds (~3€)
- Power: laptop (+ an usb cable (~3€))
- Firmware: semaphore using PlatformIO
- Wires: here
The component aboves are not the cheapest, but the simplest to get started with!!!
About the incredible ESP8266…
Procedure
- Install PlatformIO Core
- (opt.) Install the PlatformIO IDE
- Connect your laptop to the NodeMCU esp8266 using the usb cable
- Clone the blinking led project
- Connect the leds to the board as described in the Pinout.h header
- Launch
platformio run --target upload
to load firmware
That’s it!
In my pipeline
- Framework to facilitate
- Properties setup
- Development
- Logs retrieval
- Projects
- Botino
- Sleepino
- Bimbino (proto ready)
- Zino (to come)