Intel Curie-based Arduino 101 Programmable Microcontroller Review

Intel Curie-based Arduino 101 Programmable Microcontroller Review

Intel's Curie-based Arduino 101 Programmable Microcontroller development board goes under the microscope today to see exactly what it brings to the table.

@StevenBassiriTT
Published Thu, May 19 2016 8:16 PM CDT   |   Updated Thu, Jul 30 2020 4:20 PM CDT
Rating: 91%Manufacturer: Intel

Introduction, Specifications, and Pricing

Intel Curie-based Arduino 101 Programmable Microcontroller Review 01 | TweakTown.com
VIEW GALLERY - 27 IMAGES

What the heck is an Arduino? Simply put, it's a programmable microcontroller used to control hardware based on inputs from a wide array of sensors. Arduino-based products are open source, inexpensive, and very versatile. Microcontrollers have been utilized for a while to bring digital functionality and control to systems where a full blown operating system is unneeded and where reliability is important. Cars have many microcontrollers monitoring and controlling systems from windows to airbags. Many motherboards have dedicated microcontrollers for USB-based BIOS recovery flashing, fan control, and even overclocking features. The Arduino allows you to mix and match sensors with hardware to interact with the physical world, opening up possibilities for new devices in the internet of things (IoT).

The Arduino 101 provides Bluetooth LE, a 6-axis combo gyro and accelerometer, and even a real-time clock, but you also get a lot more processing power than you might need. The Curie SoC is using a Quark SE core which offers a capable sensor hub along with a 128-node Neural Network for quick pattern recognition of the inertial motion unit. To make things easier for the adoption of this new Arduino product, the Arduino 101 is pin compatible with Arduino Uno R3 shields, it's 5v tolerant even though it's designed for low power 3.3v operation, and it's fully compatible with the Arduino IDE. The purpose of the Arduino 101 is to bring students, developers, and makers closer to the hardware using the tiny Curie module which offers much more than many might expect.

Specifications

Intel Curie-based Arduino 101 Programmable Microcontroller Review 02 | TweakTown.com

The Arduino 101 has the same dimensions as the Arduino Uno, and the pins are compatible. You can stick shields designed for the Uno on the 101. While the optimum voltage for the 101 is 3.3v, the device does support 5v operation. The Curie SoC uses a Quark core and an ARC core that work together to tackle tasks. The SoC also provides a 32MHz/32-bit DSP sensor hub and 128-node neural network used for pattern recognition of the 6-axis accelerometer/gyro, which means the device can report a step count or other recognized inertial patterns with ease. The Curie module also has Bluetooth Low Energy built-in. As with the Uno, you can power the 101 through USB or a DC input jack.

Pricing

The Arduino 101 costs only $29.99 as most places we checked online.

Arduino 101

Intel Curie-based Arduino 101 Programmable Microcontroller Review 03 | TweakTown.com Intel Curie-based Arduino 101 Programmable Microcontroller Review 04 | TweakTown.com

A small box holds the Arduino 101 in an anti-static bag and a paper pamphlet.

Intel Curie-based Arduino 101 Programmable Microcontroller Review 05 | TweakTown.com Intel Curie-based Arduino 101 Programmable Microcontroller Review 06 | TweakTown.com

The top of the unit looks very similar to the Arduino Uno; the pin layout is identical to that of the Uno, so shields will easily plug in. On the back of the unit is a sticker with a unique identifier for the Bluetooth LE (BLE) connection.

Intel Curie-based Arduino 101 Programmable Microcontroller Review 07 | TweakTown.com Intel Curie-based Arduino 101 Programmable Microcontroller Review 08 | TweakTown.com

A USB 2.0 connector is used to load code and can provide enough power to run the unit. You can also monitor serial output using USB and the Arduino IDE. There is a DC power jack which can handle higher voltages from battery packs or an AC/DC converter. There is a Master Reset and Reset button. The Reset button will reset the sketch (code), and the Master Reset button will reset the sketch as well as both the cores (Quark SE and ARC) in the Curie SoC.

Intel Curie-based Arduino 101 Programmable Microcontroller Review 09 | TweakTown.com

Part of the PCB is almost translucent, and that is where the BLE antenna is integrated.

Intel Curie-based Arduino 101 Programmable Microcontroller Review 10 | TweakTown.com Intel Curie-based Arduino 101 Programmable Microcontroller Review 11 | TweakTown.com

Side by side images of the Uno and 101, and the Mega, Uno, and 101.

Intel Curie-based Arduino 101 Programmable Microcontroller Review 12 | TweakTown.com Intel Curie-based Arduino 101 Programmable Microcontroller Review 13 | TweakTown.com

The Curie module is one powerful little beast. Stamped with Intel's traditional SSpec, the SR2NW carries a 32MHz x86 Quark SE core and a 32MHz/32-bit ARC core. The Curie also uses a real-time OS (RTOS) developed by Intel, and you can take advantage of it by using the Curie libraries in the Arduino IDE. The Arduino site says that this RTOS should become open-source in March 2016, but considering it's already May 2016, it would be safe to assume that Intel isn't done optimizing it yet.

Apart from the schematics located on the Arduino website, which includes a full pinout and diagram in case you want to build the board yourself, I could not find a datasheet on the Curie module. There is mention that the 6-axis gyroscope/accelerometer is a BOSCH BMI160. The Curie is a 3.3v device, which is great for scenarios where lower power is better, but since many devices use 5v, the Arduino 101 utilizes three voltage level translators to support both voltages.

Intel Curie-based Arduino 101 Programmable Microcontroller Review 14 | TweakTown.com Intel Curie-based Arduino 101 Programmable Microcontroller Review 15 | TweakTown.com

As I mentioned before, three Texas Instruments LSF0108 8-channel bidirectional multi-voltage level translators are used to support 5v although the Curie is a 3.3v device. The Curie also needs some flash memory, and in this case, it's a Winbond 25Q16DVSIG 16Mbit SPI Flash module.

Intel Curie-based Arduino 101 Programmable Microcontroller Review 16 | TweakTown.com Intel Curie-based Arduino 101 Programmable Microcontroller Review 17 | TweakTown.com

Power input for the Arduino 101 can come from either the USB port or the DC jack, and the selection is automatic. However, the input range of the DC jack is quite wide, and most input will be above 5v, so a Texas Instruments TPS62153 switch mode power supply is used to step down the voltage to 5v. To take the 5v down to 3.3v, a Texas Instruments LM1117 LDO is used to provide a steady 3.3v output. The Arduino 101 also has voltage and over current protection. The tiny black square in the image on the right is a Fairchild FPF2496 IntelliMAX chip with OVP and OCP, and you can short the pad to allow higher current operation up to 1.5a.

Setup and Example Sketches

Setup

Intel Curie-based Arduino 101 Programmable Microcontroller Review 18 | TweakTown.com

As of now the Arduino IDE version 1.6.8, which is the programming interface for the Arduino, doesn't include the Intel Curie Boards such as the Arduino 101 by default.

You need to open up the "Boards Manager" perform a quick search for the Arduino 101, and then install it. It is very easy to do, and once you install the package, the Curie example sketches and libraries will become available.

Example Sketches

Intel Curie-based Arduino 101 Programmable Microcontroller Review 19 | TweakTown.com

With the Arduino 101 connected to your PC through USB, you can load the example sketch "AccelerometerOrientation" which takes advantage of the Curie's inertial monitoring unit (IMU) to help understand the abilities of the IMU. The sketch will send back real-time information about the orientation of the board through USB to the serial monitor built into the IDE.

Intel Curie-based Arduino 101 Programmable Microcontroller Review 20 | TweakTown.com

Another example sketch called "StepCount" will use Curie's RTOS and its pattern recognition capabilities to take inputs from the accelerometer and gyroscope to determine whether the user has taken a step. I modified the sketch a little to output the information to a simple 1602 LCD shield, in this case, I am using USB only for power. I can say that the example sketch is accurate enough with normal stepping movements, I could get it to increase one step at a time if I walked slow, and it did pick up many steps at a time if I walked faster.

Intel Curie-based Arduino 101 Programmable Microcontroller Review 21 | TweakTown.com

The Arduino 101 has a Real Time Clock built into the Curie module, allowing the Arduino 101 to keep time as long as it's powered. Having a dedicated clock built into the module makes utilizing time in your code simpler.

Inertial Monitoring Unit and Bluetooth

Inertial Monitoring Unit

Intel Curie-based Arduino 101 Programmable Microcontroller Review 22 | TweakTown.com

As discussed in earlier sections, the Arduino 101's Curie module contains a 6-axis combination accelerometer and gyroscope. The built-in CurieIMU library uses the RTOS to produce a raw feed of the orientation vectors of the board. There are many guides on how to visualize board movements; I used the one located on the Arduino website.

As you can see the example works quite well, but I had to decrease the sensitivity of the unit a little to get a more accurate real-time representation of the board. I was impressed with how easy it was to set this up.

Bluetooth

Intel Curie-based Arduino 101 Programmable Microcontroller Review 23 | TweakTown.com

I used the guide on the Arduino website to setup this Bluetooth sketch. The LED will turn on as a connection indicator, and the potentiometer will provide a varied voltage input to the analog 0 pin to emulate a battery sensor. The point is to show how Bluetooth can be used to monitor sensor inputs to the board.

Intel Curie-based Arduino 101 Programmable Microcontroller Review 24 | TweakTown.com Intel Curie-based Arduino 101 Programmable Microcontroller Review 25 | TweakTown.com

To read the Bluetooth connection on my phone, I downloaded the nRF Master Control Panel. Once I opened the program and the code was loaded into the Arduino, it quickly found the Arduino 101. The Arduino 101's broadcast name can be changed, and in this case, it is called "BatteryMonitorSketch". Once connected, I opened up the "Battery Service" tab and under "Battery Level" was the value controlled by the potentiometer.

It was very simple to setup this Bluetooth connection. Bluetooth range was roughly 30 feet, and latency was quite low. The integrated Bluetooth is a nice feature of the Arduino 101.

What's Hot, What's Not & Final Thoughts

Here are key points about the Arduino 101.

What's Hot

Built-in 6-Axis Gyroscope/Accelerometer with Pattern Recognition: You can buy shields which can add on a gyroscope and accelerometer, but the Arduino 101 already comes with it built-in, saving space and removing compatibility headaches. However, what sets the Arduino 101 apart is its 128-node neural network which allows it to perform quick pattern recognition of the inputs from the gyroscope and accelerometer. Users can easily utilize the Arduino 101 to track motion and recognize gestures.

Built-in Bluetooth: What's the Internet of Things without a portal to the Internet? While Bluetooth isn't a direct link to the internet, it does offer the ability to connect to devices such as phones and computers, which do have internet connections. The example Bluetooth sketches from the Arduino website worked quite well, and it was easy to figure out how to utilize the code to build your own.

Native 3.3v with 5V Tolerance: A huge part of Intel's vision for the Curie module is wearable devices and the majority of those run off low voltage button batteries. The Curie module's ability to run at 3.3v makes it a great contender for scenarios where higher voltages aren't available. The board's many voltage translators allow for 5v usage, which is more common with shields and other additions.

Very integrated: The Curie module is a new-age microcontroller. It's a highly-integrated SoC with two different types of processing cores and a lot of useful features such as the inertial monitoring unit and Bluetooth. The Arduino 101 is open source, so when you develop your design and perfect it, you can presumably design a significantly smaller device using the same tiny Curie module and a button sized PCB.

What's Not

RTOS Still Not Public: The Arduino website says that the real-time operating system which runs inside the Curie module would be made public in March 2016. It's May 2016, and it seems that Intel is still tweaking the RTOS for public release. While this doesn't impact the majority of users such as myself, it could pose a problem to developers who might want to utilize internal parts of the Curie in novel ways. Intel also hasn't made a full datasheet on the Curie module available to the public.

Final Thoughts

The Arduino 101 is priced relatively well at only $30, and its availability is quite good; I even saw it at my local Microcenter a few weeks ago. Intel has tried hard to make inroads into the open-source maker space for a while, but this might be their big hurrah with the Curie module on the Arduino 101. The Arduino 101 is basically an Uno replacement on steroids; with almost identical pinouts it would be very simple to add an Arduino 101 to your arsenal and still use your current Uno compatible shields.

Intel Curie-based Arduino 101 Programmable Microcontroller Review 26 | TweakTown.com

The integration of the 6-axis inertial monitoring unit along with the Bluetooth makes the Arduino 101 a good value at only $30, perhaps even cheaper than buying an Arduino Uno and adding a few shields - and it's more compact. Since the two functions are integrated, you won't have any issues with compatibility of add-on shields. Overall, I found that the Arduino 101's Curie libraries were quite fun to play with and very easy to use. If you are looking for an elegantly equipped Arduino with a lot of versatility, then the Arduino 101 is a solid option.

TweakTown award
Performance92%
Quality including Design and Build92%
General Features95%
Bundle and Packaging85%
Value for Money90%
Overall91%

The Bottom Line: The Arduino 101 equipped with Intel's Curie module integrates a 6-axis gyro/accelerometer and Bluetooth, which sets it apart from the rest of the Arduino line up.

PRICING: You can find products similar to this one for sale below.

USUnited States: Find other tech and computer products like this over at Amazon.com

UKUnited Kingdom: Find other tech and computer products like this over at Amazon.co.uk

AUAustralia: Find other tech and computer products like this over at Amazon.com.au

CACanada: Find other tech and computer products like this over at Amazon.ca

DEDeutschland: Finde andere Technik- und Computerprodukte wie dieses auf Amazon.de

Steven went from a fledgling forum reader in 2003 to one of the internet's brightest tech stars by 2010. Armed with an information systems degree, a deep understanding of circuitry, and a passion for tech, Steven (handle Sin0822) enjoys sharing his deep knowledge with others. Steven details products down to the component level to highlight seldom explained, and often misunderstood architectures. Steven is also a highly decorated overclocker with several world records.

We openly invite the companies who provide us with review samples / who are mentioned or discussed to express their opinion. If any company representative wishes to respond, we will publish the response here. Please contact us if you wish to respond.

Related Tags

Newsletter Subscription

Latest News

View More News

Latest Reviews

View More Reviews

Latest Articles

View More Articles