RoadTest: Arduino MKR1000 IoT Bundle Kit
Author: gustavovelascoh
Creation date:
Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: There are diverse WiFi-enabled modules out there. For example the ESP modules or Photon WiFi
What were the biggest problems encountered?: Some of the code or steps in the example projects could be outdated.
Detailed Review:
As I was totally new with the Arduino ecosystem, I wanted to start from the basics with this MKR 1000 IoT Bundle Kit and also wanted to check the impact on people non-related to technology. I think this could help us to understand what are common people's interests and how they could be more interested in technology and IoT. And in this way, they will also know what can be done with current technology.
Based on that, the plan is divided into 3 steps: A survey, the implementation, and conclusions.
I prepared a survey in two sections. The first section was intended to know the background and level of knowledge regarding technology and IoT from each person. First of all, I explained the plan and asked for some demographic information. Then, I asked about how often they use computers, the Internet and smartphones. I also asked their definition of these concepts: Hardware, Software, Internet, WiFi, Cloud, App, programming, sensor, Raspberry Pi, Arduino, 3D printing and Internet of Things (IoT). And finally, I presented a one-line description of the five demo projects promoted by Arduino (link) and asked if they are interested in following up with the second section of the survey. Here is the summary of this survey
Property | Comment |
---|---|
Number of surveys sent | 15 |
Number of surveys completed | 14 |
Number of participants who wanted to follow-up | 11 |
Age range | 14-54 |
Countries of origin | Colombia, England, Germany, Holland, Ireland, Poland, USA |
The given definitions for concepts of "hardware", "software", "internet", "App" and "Programming" were correct enough for most of the participants. In the case of "WiFi", it was treated as a synonym of access to the Internet, with just one person mentioning a WiFi connection to a printer. In the same way, "Cloud" was defined as Storage but no one mentioned computing (Cloud computing). It was interesting that 4 definitions of "sensor" were related to movement or presence sensors.
Now, regarding more specific concepts like Raspberry Pi, Arduino, 3D printing and Internet of Things (IoT), these are the metrics:
In the second section of the survey, I explained the concepts presented in the first one and explained the proposed projects in a bit more detail. In this case, I asked for their opinion about how interesting, how useful and how difficult the projects seemed to them. And finally, I ask if they would like to test any of the projects. These are the results, the score is the average of 6 responses, and scores are from 0 to 5:
Project | Interesting | Useful | Difficult | Improvements | Test |
---|---|---|---|---|---|
Pillow | 1.6 | 1.2 | 2.3 | - 2 Pillows to interact with each other remotely | |
Puzzle | 3.5 | 2.5 | 2.5 | 2 | |
Pet | 2.5 | 2.8 | 2.3 | - Adapt it to give treats during time alone | 1 |
Toy | 2.5 | 1.7 | 2.3 | 2 | |
Plant | 2.8 | 2.3 | 2 | 2 |
{gallery} Unpacking |
---|
Packaging |
MKR IoT Bundle Box |
Full Kit |
As stated before, this was my first time using an Arduino board and Arduino resources, so I started from the beginning, going to the website for the MKR1000 Board and IoT Bundle kit. The first step is to set up the environment for connecting to the board and start programming. I use Gnome Ubuntu 16.04.5 and although Linux is supported by Arduino IDE, I preferred to start with Arduino Web Editor and installed it and ran the blinky example as shown in the following pictures:
{gallery} Using web editor |
---|
Arduino plugin for Linux |
Arduino agent setup (Step 1) |
Arduino agent setup (Step 2) |
Arduino agent setup (Step 3) |
Arduino agent setup (Step 4) |
Arduino create icon on Gnome tray |
Now sketches can be opened from the browser |
or search through the examples |
Then, I started implementing the first project from the examples
In the first part of the project, I set up Telegram bot following the tutorial and everything went well. I installed the desktop version for Linux and it worked.
For the second part, the Arduino configuration, I realized that the web editor is not supported for updating the certificates with the FirmwareUpdater example so I had to install de Arduino IDE for Linux. After that, I installed the required libraries and found an error with the latest version of the Json library. To make the project work, I had to install the previous version, Arduinojson 5.13.
Here is the video of the project working. I did not have a cushion or pillow to modify, so I simulate it touching the wires to change the capacitance. You can hear the beeping and the notification sound when the message arrives at the Telegram client
Following the tutorial, I started with the installation and setup of Blynk app and it was very straightforward, both the account and the project creation. Then I assembled the hardware in the breadboard and uploaded the firmware to the Arduino. Most of the things were working according to the description, but I found that the potentiometers were toggling between 0 and 9 values. I thought it was a contact issue in the breadboard so I connected them using jumper wires, but the issue persisted. In the next video it can be seen that just touching and moving one of the potentiometers, the system reads the code for opening the box:
Then, in order to prevent more connection issues, I soldered them in a board along with headers. Although it improved a bit, one of the potentiometers still had some problems. However, I finished the project and here in the video is shown that after the first opening using the default code "1 1 1", it is changed via the Blynk App for "9 4 4".
This project started with the configuration of Zapier which was easy enough and worked as expected. Then the hardware part worked fine based on the steps provided in the tutorial, but for setting the configuration for Zappier I had to look through the comments what was the expected format for the URL to set in the code. Even the comments in the code refer to the "Blynk API token" which is not used in this project.
I choose the "Pro" version of this project and then set up ThingSpeak account and channel to start receiving data. I was checking my data and found that after 250 messages it did not receive any more. It seems like this is the message limit per day ThingSpeak. At the end, the project worked as expected. Here are some pictures of the implementation.
{gallery} Plant Communicator |
---|
The talking plant |
Email received from Zapier |
Historic data in ThingSpeak |
The Arduino MKR1000 IoT Bundle Kit is a good starting point for those who want to begin developing devices for IoT. It gives the opportunity to start exploring the basics of circuits, sensing, embedded programming, communication (WiFi), the cloud and IoT backend platforms; this is, the full stack of IoT solutions.
The whole Arduino ecosystems provide ideas, materials, and tools to promote the development of solutions from a basic level to a more complex level, and ranging different areas and applications. Now, regarding the Arduino MKR1000 IoT Bundle Kit, I will detail my thoughts based on the proposed items for evaluation:
Product Performed to Expectations 8
The overall performance is good, the board and the components included in the kit are enough for the kind of projects it is intended. I just had the issue with the potentiometers and some disconnections from the serial port while testing. I am not sure if any of those were due to mishandling by my side.
Specifications were sufficient to design with 9
Demo Software was of good quality 7
Support materials were available 8
The guides and tutorials work well with some minor fixes, and with some updates and clarification, they could provide everything needed for the projects to work at the first try. In my opinion, I think that the Fritzing diagrams could be more clear. The software needs to be reviewed, both for clarity and for it to be up to date.
Product was easy to use 8
The price to performance ratio was good 9
As I said before, the kit is good for those starting because it allows to create very simple projects and start increasing the complexity. You can start with a "blinky" example, just from the web editor and plugging the board using USB. And finally, I consider that the price is reasonable as you are acquiring a basic electronics kit with a wide range of components like resistors, diodes, LEDs, motors, etc.
On the other hand, although most of the people use and know about different internet-related concepts like WiFi and Cloud, most of them are not familiar with the Internet of Things concept. However, they are aware of different things that can be done using the internet in day-to-day things and even have heard at least about some maker and DIY terms. One point I want to remark here is that working with surveys and people is hard in the sense that it is difficult to generate interest and engagement in the whole process from the first survey until the end of the project.
UPDATE:
Top Comments
Great review. You went above an beyond what I would have expected in a review.