RoadTest: We’re Giving away 10 Intel Genuino 101 Dev Boards
Author: powderjockey
Creation date:
Evaluation Type: Evaluation Boards
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?: Ardunio Uno
What were the biggest problems encountered?: Board would only function under the Windows operating system.
Detailed Review:
Receipt
Date: 17-06-28
Microcontroller | Intel Curie | ATmega328P |
Operating Voltage | 3.3V (5V tolerant I/O) | 5V |
Input Voltage (recommended) | 7-12V | 7-12V |
Input Voltage (limit) | 7-17V | 6-12V |
Digital I/O Pins | 14 (of which 4 provide PWM output) | 14 (of which 4 provide PWM output) |
PWM Digital I/O Pins | 4 | 6 |
Analog Input Pins | 6 | 6 |
DC Current per I/O Pin | 20 mA | 20 mA |
Flash Memory | 196 kB | 32KB (ATmega328P) of which 0.5 kB used by bootloader |
SRAM | 24 kB | 2 k |
Clock Speed | 32MHz | 16 MHz |
LED_BUILTIN | 13 | 13 |
Features | Bluetooth LE, 6-axis accelerometer/gyro |
|
Length | 68.6 mm | 68.6 mm |
Width | 53.4 mm | 53.4 mm |
Weight | 34 gr. | 25 g |
Set up
Starting download script...
Serial Port: /dev/cu.usbmodem1421
BIN FILE /var/folders/fl/pgnzpz8x2n97hdpf191k0lvr0000gn/T/arduino_build_272500/LedControl.ino.bin
Waiting for device...
Waiting for device...
Waiting for device...
Waiting for device...
Waiting for device...
Flashing is taking longer than expected
Try pressing MASTER_RESET button
Waiting for device...
Waiting for device...
Waiting for device...
Waiting for device...
Waiting for device...
ERROR: Timed out waiting for Arduino 101 on /dev/cu.usbmodem1421
ERROR: Timed out waiting for Arduino 101 on /dev/cu.usbmodem1421
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
EVOThings
App look on the mobile device.
So with that in mind, I decided to just use the Windows laptop to perform the testing of the board. The libraries and boards are all loaded up and good to go. Now, when I decided to throw my name into the hat to review the Arduino 101, I did not have any huge experiment to perform that would blow the 101 up or out of the water. So I decided to attempt to run through the tutorials that are offered on arduino.cc and then look for some other experiments , perhaps on Hackster.io. The problem with the latter is the extra parts required to create the projects. I live in a semi small city and with no hobby store in the area. Everything has to be ordered on-line and then wait, depending on where it comes from. so, let's get on with it.
01.Basics>Blink
Example>CurieBLE>Central>LED Control
The sketch loads into the IDE and with a couple of button clicks, the sketch uploads to the 101, with out any problems. The sketch is setup to blink the LED 13 on and off at a rate of 1 second each. The LED on the board of the 101 blinks. I then played with the sketch changing the HIGH and LOW values to the get the LED to change the rate. Re-uploading the sketch and all of the changes work as expected.
Examples>CurieBLE>Central>Peripheral Explorer
Load the example onto the board and and with the assistance of the serial monitor the board located 4 MAC address. These addresses were all know to me and were in the house (good thing).
Tutorials on arduino.cc
CurieIMUOrientation Visualiser
This tutorial has two IDE’s that it has code written for. Arduino and Processing.
Processing: Could not get the sketch to use the OpenGL window as according to the error message the video driver may need to be update. I’m using Windows 10 on a Dell Inspiron 1525. Any other graphic program still works, so I moved onto the Arduino IDE.
Arduino: The sketch was load up into the 101 without any problems. The serial monitor was opened and the sketch run. Right away the lines of numbers scrolled past in a hurray. The 101 was then moved in a numerous directions to see the numbers change as the direction of the board was taken on all directions.
I like what the board’s potential with the movement can do. Little disappointed with the Processing IDE.
CurieIMUAccelerometer
This tutorial uses the three axes of the accelerometer contained in the IMU(Inertial Measurement Unit) of the 101.
The Examples>CurrieIMU>Accelerometer sketch was uploaded to the 101. The setAccelerometerRange() was set to 1 and then re-uploaded. The 101 board was then placed into my hand and the a windmill style swing began. The board generated output onto the serial monitor showing the value for a:. From the sketch, it stated the setAcelerometerRange range to 2G. Moving to 1 would be 1G which is not than much.The image below shows some of the output that was received from the 101. I was able to get the first column, ax, into the -2.00+. Depending on the which way, up down, back and forth and anything else I tried, each of the columns, ay and az, also recorded into the high -2.00.
CurieIMUAccelerometer Orientation
CurrieIMUStepCount
The Step Count sketch was loaded and the Arduino placed into the top of my sock with the USB cable still attached. While all connected to the laptop, I took a little stroll around the house. The Serial Monitor began to show the number of steps I was taking. I was impressed with the fact it works as well as any pedometer I’ve used.
I tried to get the Bluetooth to connect to my laptop, but the laptop never recognized the 101, so I just left the cables all attached and did my strutting.
CurrieIMUShockDetect
The tutorial as one of the ones that seemed to really work in a hurray, no pun intended. The upload was seamless. I placed the 101 in a stationary position and with a quick movement the Serial Monitor displayed where the shock detected was either positive or negative. It also showed which axis the positive/negative shock detection was made(Y,Z). The The sketch deals in “g’s” but the output to the Serial Monitor does not show the number of g’s the movement produced. It did not matter which direction the board was moved, it still produced results.
CurrieIMUTapDetect
This sketch was loaded and the Arduino 101 place on a flat surface. I first start to table the surface with a pencil. Nothing registered in the Serial Monitor. I then tapped my finger repeatedly on the surface with varying levels of force. Nothing. So I then slapped my hand on the surface with a ver good smack and the Serial Monitor registered a Tap Detection in the Monitor.
void setup() {
Serial.begin(9600); // initialize Serial communication
while(!Serial) ; // wait for serial port to connect.
// Initialise the IMU
CurieIMU.begin();
CurieIMU.attachInterrupt(eventCallback);
// Increase Accelerometer range to allow detection of stronger taps (< 4g)
21 CurieIMU.setAccelerometerRange(4);
// Reduce threshold to allow detection of weaker taps (>= 750mg)
24 CurieIMU.setDetectionThreshold(CURIE_IMU_TAP, 750); // (750mg)
// Enable Double-Tap detection
CurieIMU.interrupts(CURIE_IMU_TAP);
Serial.println("IMU initialization complete, waiting for events...");}
Lines 21 and 24 in my sketch are noted above and were played with to see if I could get the board to recognize a light tap on the surface. I did work and I was able to get a response in the Monitor with a normal drumming of the fingers.
CurrieIMUZeroMotionDetect
As the name in the title would suggest, Zero Motion Detect. If the board does not move, it detects zero motion and the Serial Monitor reports exactly that. It the board was move in even the slightest bit the movement was reported as the figure below shows. This was sensitive as even the slightest bit of movement changed the output.
CurrieTime
Ran the sketch and it produced the time that was written in the sketch. The Serial Monitor turned into a digital clock of sorts.
CurieBLEHeartRateMonitor
I ordered a low cost Heart Rate Pulse Sensor Module For Arduino. One of the problems living where I do, there are no hobby stores, no maker stores, no small electronic stores
and no stores to purchase add-ons for anything when you want it in a hurry. So I dialled up Amazon and ordered one of the pulse sensors back in August. Today, October the 10th, the module arrived.
Using the tutorial from the arduino.cc site, I placed the sketch into the IDE and attached one end of the monitor to the Ardunio 101 (A0, Gnd, 3.3v). The other end was placed on my finger and secured with a Velcro strap. The sketch was uploaded to the 101.
The second part of the tutorial is to use an app on a smart phone connected via the BLE on the Arduino 101. Images noted above. The app used for this tutorial is the nRF Toolbox which was loaded onto my Blackberry Passport. The app provides 11 different applications which uses the Bluetooth connection to interact with different device. Noticed there were errors loading the sketch if the Serial Monitor is left open between sketch uploads.
Conclusion
Wrapping this up and it did seem like a long time to get here. As you can see by the date on the report, it was started on June 28, then life and work got in the way as many of you can all attest to. I waited 10 weeks for a heart monitor to arrive in the mail, but that was my fault, waiting.The Arduino 101 looks like its counterpart, the Uno in size and shape. But this is where where the similarities stop. Different processors and one has the ability to connect via Bluetooth.
The 101 gave me a lot of troubles getting connected to a computer, never mind connecting via Bluetooth. It took me a couple of weeks just to figure out which Operating System the board was going to work properly with. Not sure what I would have done if I didn’t have all 3 operating systems in the house.
Once up and running, the board performed as expected in all of the tutorials I tested it in. I was most impressed with the Bluetooth connectivity and the things that could be accomplished with the board, and app and the computer. Using the gyroscope, the accelerometer and the motion detector. I can see lots of uses for this type of hardware, especially if it is paired using the on-board Bluetooth.
I’m going to continue to see if I can get the other OS’ to work with the board. Perhaps it was the version of the Arduino IDE, i’m hoping. It has its quirks, like the “Master Rest” button which needed to be pressed each time I uploaded a sketch to the board. The Uno is plug, click and play, which I was hoping to find for the 101.
The on-line forum at Arduino were not very kind to the board and the Intel chip. Not enough love was being provided to board/chip and now Intel has decided to stop support for the Curie.
I would encourage all of you who are interested to give this board a go. I believe the 101is less expensive than a Pi or some of the other Arduinos. The purchase will be worth it and even if you just play around with the Bluetooth and the motion aspects of the board.
Scott Milliken
Top Comments
Nice review.
Yes, sometimes you just have to roll with the events and change your schedule.
DAB
Thanks DAB