Introduction: Arduino 101 Review

Hi everyone!

So I didn't make an instructable for quite a while, so until the tests aren't here yet, I decided to make a review on the Arduino 101.

So a story is quite interesting. I bought this board very soon as I was really interested in it. It has BLE, 6 axis gyro and accelerometer and on board temperature, clock, it's 32 bit new Intel Curie processor, IT IS 5V TOLERANT although the pins work on 3.3V and has a beefy 5V regulator supplying 1A or 1,5A when the 2 little pads are shorted.

So let's see what it can offer and what problems I had with it.

Step 1: Connecting to the Board

Then the fun began. I plugged the board in and it installed the drivers.

Make sure to download the latest IDE 1.6.7 and install the new board. To do that, go to:

Tools --> Board --> Boards Manager --> Type in the search "101" --> Intel Curie Boards --> Click install

This will also install all libraries and examples.

Then I wanted to upload the code and I got this error message: "Cannot open DFU device 8087:0aba"
I was searching on forums, made a thread : http://forum.arduino.cc/index.php?topic=368777.0 where I introduced the problem and got a lot of feedback.
Now, the problem still exists and I also contacted Arduino LLC and they have responded, that they are working on this problem with Intel. Now this doesn't do much for me or any of you who want or have this juicy board. And I also asked myself; How did the Sparkfun make a video on them, programming them, sorely it must work somehow.

As being a photographer, my only USB 3 port on my laptop is always plugged in with my hard drive. But yesterday I plugged my 101 in there and IT WORKED. It is a problem related to USB controllers and somehow, USB 3 port works although the Arduino doesn't utilize the USB 3 port properties as it is a USB 2 device. So this is currently the only advice that I can give you. Try it out as it is the only thing that works for me.

Step 2: Features

So what does the board have to offer.

The official table says it all, but let me summarize the important parts.

It is fast with the clock speed of 32 Mhz

It has 14 digital I/O pins

It has 4 PWM pins

20 mA per I/O pin

Arduino Uno Layout board

ALL PINS ARE 5V TOLERANT

BLUETOOTH LE

6 AXIS accelerometer/gyro

BUILT IN RTC

Master reset button that resets the whole processor

Reset button that resets only the code

500 mA - 1 A - 1,5A (shorted pads) 5V regulator

Step 3: Software

So when you install the board, it also installs a few libraries:

CurieBle Bluetooth LE communication

CurieImu 6 axis gyro/accelerometer

CurieSoftwareSerial Software Serial

CurieTime Time keeping and RTC

You can experiment with these libraries. Use example codes to find commands as they are really easy to use and can be implemented into other project, for say RTC or BLE.

I will show 2 examples for you to see the commands as there is no other way but for looking at examples, learning what certain commands do and using that in projects.

Step 4: ​Gyro Visualizer With Processing

i'm going to demonstrate how we can visualize the position of the board using just a few lines of code in Arduino and Processing. Go ahead if you don't have it yet, and download processing here and use the codes from the website.

Set the number in the brackets of the line in processing: myPort = new Serial(this, Serial.list()[0], 9600); to 0 to select the serial port or experiment if you have multiple serial devices plugged in.

Now, just click the "play" button and you will be presented with a simple display where you can see your 101 visualized. Now you have successfully visualized your Arduino 101's movement. You can inspect the code to learn the commands and to understand how it all works.

Try to modify it and see what you can come up with.

Here is also a video of me using the complete setup.

Step 5: Time

Here is another cool sketch where the Arduino counts time and date with internal rtc.

You can use parts from this sketch to build greater purpose as it's really not that hard. It's all in the library and you only need to use expressions like: print2digits(hour()); that will print a digit of and hour, minute, second, day, month or year. , where print2digits part is only a small loop, that prints a zero before a number below 10. That works for time, but for day, month and year, you can just use Serial.print or anything like that.

See the example code "ReadTest" under CurieTime example folder.

And another nice thing is that i keeps counting in the background as long as it has power and you can check the time anytime you want.

Step 6: Conclusion

The board is amazing and for additional 8,5$ you get a very nice, fast board, that should handle more demanding tasks as driving larger lcds with larger refresh rates, where Uno just shuts down.

For now, I haven't seen any good BLE apps for Android that I could use to see serial outputs and inputs to the board. Once BLE gets more attention, I'll shore make an Intructable on Curie Bluetooth LE which is one of the biggest features for me to buy this board.

One of more disappointing thing is that it doesn't work on USB 2 ports as it keeps giving the error described in the beginning. They've said to me, that they are working on the problem and that is the top priority problem, whatever that means. We will see an update in boards menu but it's worth a try.

Share with me your thoughts on the board and current owners, share your knowledge and problems if you have some. I would like to see this board getting more attention in the future.

Comments

author
BallscrewBob (author)2017-03-08

The most common fix for 101 and USB 3.0 issues is to insert a POWERED USB 2.0 hub between the computer and the Arduino.

Tends to fix around 95% of the issues seen with USB 3.0

A lot depends on the chipset and implementation of USB 3.0 on a particular computer.

Some users have said that rolling back Microsoft updates regarding USB has also helped.

author
marcusobrien (author)2016-10-23

I wrote a review of the 101, concentrating on the built in 128 Node Hardware Neural Network...

http://www.electricalengineeringschools.org/2016/c...

author
shadey_dave (author)2016-08-22

I have the arduino 101 working with the IDE 1.6.9. I found that i needed to install the ide fresh, then do the board driver selection from the ide, then physically attach the 101 board. Works fine. Not sure if that will help you.

author
kiltedken (author)2016-07-03

One of the frustrating things is that I can't seem to add the board using Arduino 1.6.9. :( I am working on this though.

author
jg254 (author)2016-03-24

Hi do you know what distance of its Bluetooth can coverage?

author
Matej Blagšič (author)jg2542016-03-24

I don't know exactly but bluetooth 4 claims to about 200ft or 60m but I haven't got around to measure it for the 101 particular particularly.

About This Instructable

8,096views

17favorites

License:

Bio: I'm a high school student that likes electronics, Arduino projects and photography. I began working with electronics when I was 11 and got my ... More »
More by Matej Blagšič:Wi-fi weather station with BynkSimple 20 LED VU meter + datasheet guideGuide to Neopixel
Add instructable to: