

The Arduino 101 is a microcontroller board based on the Intel Curie module. It is designed for Internet of Things (IoT) applications and wearable devices, offering advanced features such as built-in Bluetooth Low Energy (BLE) capabilities and a 6-axis accelerometer/gyroscope. The board is ideal for projects requiring wireless communication, motion sensing, or real-time data processing.
Common applications of the Arduino 101 include:








The Arduino 101 combines the ease of use of the Arduino platform with the power of the Intel Curie module. Below are the key technical details:
| Specification | Details |
|---|---|
| Microcontroller | Intel Curie module (32-bit Intel Quark SE SoC) |
| Operating Voltage | 3.3V |
| Input Voltage (recommended) | 7-12V |
| Input Voltage (limit) | 7-20V |
| Digital I/O Pins | 14 (of which 4 provide PWM output) |
| PWM Digital I/O Pins | 4 |
| Analog Input Pins | 6 |
| DC Current per I/O Pin | 20 mA |
| Flash Memory | 196 KB (for user applications) |
| SRAM | 24 KB |
| EEPROM | None |
| Clock Speed | 32 MHz |
| Bluetooth | Bluetooth Low Energy (BLE) |
| Sensors | 6-axis accelerometer/gyroscope |
| USB Connector | Micro USB |
| Dimensions | 68.6 mm x 53.4 mm |
The Arduino 101 has a standard Arduino Uno form factor, making it compatible with most Arduino shields. Below is the pin configuration:
| Pin | Description |
|---|---|
| Digital Pins | Pins 0-13: General-purpose digital I/O pins. Pins 3, 5, 6, and 9 support PWM. |
| Analog Pins | Pins A0-A5: Analog input pins with a 10-bit resolution. |
| Power Pins | 3.3V, 5V, GND, and Vin: Power supply pins. |
| I2C Pins | A4 (SDA) and A5 (SCL): Used for I2C communication. |
| SPI Pins | 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK): Used for SPI communication. |
| UART Pins | 0 (RX) and 1 (TX): Used for serial communication. |
| Reset Pin | Resets the microcontroller. |
The Arduino 101 is programmed using the Arduino IDE, which supports the board natively. Follow these steps to use the Arduino 101 in a circuit:
Install the Arduino IDE:
Tools > Board > Boards Manager. Search for "Intel Curie Boards" and install the package.Connect the Arduino 101:
Arduino/Genuino 101) and port from the Tools menu.Write and Upload Code:
#include <CurieBLE.h> // Include the BLE library for Arduino 101
BLEPeripheral blePeripheral; // Create a BLE Peripheral object
BLEService customService("19B10000-E8F2-537E-4F6C-D104768A1214");
// Define a custom BLE service
BLECharacteristic customCharacteristic("19B10001-E8F2-537E-4F6C-D104768A1214",
BLERead | BLEWrite, 20);
// Define a BLE characteristic with read and write permissions
void setup() {
Serial.begin(9600); // Start serial communication
blePeripheral.setLocalName("Arduino101"); // Set the BLE device name
blePeripheral.setAdvertisedServiceUuid(customService.uuid());
// Advertise the custom service
blePeripheral.addAttribute(customService); // Add the service
blePeripheral.addAttribute(customCharacteristic); // Add the characteristic
blePeripheral.begin(); // Start BLE
Serial.println("BLE device is now active!");
}
void loop() {
BLEDevice central = blePeripheral.central();
// Check if a central device is connected
if (central) {
Serial.print("Connected to central: ");
Serial.println(central.address());
while (central.connected()) {
// Send data to the central device
customCharacteristic.setValue("Hello from Arduino 101!");
delay(1000); // Wait for 1 second
}
Serial.println("Disconnected from central.");
}
}
The board is not detected by the Arduino IDE:
Arduino/Genuino 101) and port are selected in the Tools menu.BLE is not working:
CurieBLE.h) is included in your code.Code upload fails:
Q: Can I use Arduino shields with the Arduino 101?
A: Yes, the Arduino 101 has the same form factor as the Arduino Uno, making it compatible with most Arduino shields.
Q: Does the Arduino 101 support Wi-Fi?
A: No, the Arduino 101 does not have built-in Wi-Fi. However, you can use an external Wi-Fi module for wireless connectivity.
Q: How do I calibrate the accelerometer/gyroscope?
A: Use the appropriate libraries (e.g., CurieIMU.h) to calibrate the sensors. Refer to the library documentation for detailed instructions.
This concludes the documentation for the Arduino 101. For further assistance, visit the Arduino Forum.