
This circuit consists of an Arduino 101 microcontroller connected to a 0.96" OLED display via I2C communication. The Arduino runs a program that initializes the OLED and continuously displays an animated sequence of frames on the screen.
The Arduino 101 is a microcontroller board based on the Intel Curie module. It combines the simplicity of the Arduino platform with advanced features such as built-in Bluetooth Low Energy (BLE) capabilities and a 6-axis accelerometer/gyroscope. This makes it an excellent choice for projects involving wireless communication, motion sensing, and IoT applications. The board is compatible with the Arduino IDE, making it accessible to both beginners and experienced developers.

This circuit consists of an Arduino 101 microcontroller connected to a 0.96" OLED display via I2C communication. The Arduino runs a program that initializes the OLED and continuously displays an animated sequence of frames on the screen.

This circuit features an Arduino 101 microcontroller connected to a touch sensor, an 8x8 LED matrix, and a DHT22 temperature and humidity sensor. The Arduino provides power to all components and interfaces with the touch sensor via a digital I/O pin and the DHT22 sensor via another digital I/O pin. It controls the 8x8 LED matrix using SPI communication, with dedicated pins for data, clock, and chip select.

This circuit features an Arduino 101 microcontroller as the central processing unit, interfaced with a variety of peripherals. It includes an LCM1602 IIC LCD for display, a membrane matrix keypad for user input, a SparkFun Load Cell Amplifier (HX711) for weight measurement, and a voice recognition module for audio-based commands. The circuit is powered by a 9V battery connected through a 2.1mm barrel jack, with power distribution to the Arduino and other components.

This circuit features an Arduino 101 microcontroller interfaced with various components for sensing and actuation. A touch sensor and a PIR motion sensor provide input signals, which the Arduino can use to drive a micro servo, a passive buzzer, and communicate with an ESP32 CAM module for potential image capture or video streaming. The circuit also includes a red LED with a current-limiting resistor, and all components share a common power supply from the Arduino's 5V output.
The Arduino 101 features a variety of pins for interfacing with external components. Below is a detailed description of the pin layout:
| Pin | Type | Description |
|---|---|---|
| Digital 0-13 | Digital I/O | General-purpose digital input/output pins. Pins 3, 5, 6, and 9 support PWM. |
| Analog 0-5 | Analog Input | Used for reading analog signals (0-1023 range). |
| GND | Ground | Ground connection for the circuit. |
| 3.3V | Power Output | Provides 3.3V regulated power. |
| 5V | Power Output | Provides 5V regulated power. |
| VIN | Power Input | Input voltage to the board when using an external power source (7-12V). |
| AREF | Analog Reference | Reference voltage for analog inputs. |
| I2C (A4, A5) | Communication | SDA (A4) and SCL (A5) pins for I2C communication. |
| UART (0, 1) | Communication | TX (0) and RX (1) pins for serial communication. |
| BLE | Wireless | Built-in Bluetooth Low Energy for wireless communication. |
| IMU | Sensor | Built-in 6-axis accelerometer/gyroscope for motion sensing. |
Powering the Board:
Programming the Board:
Using BLE:
CurieBLE library to create BLE peripherals or central devices.Using the IMU:
CurieIMU library.Here is an example of how to read accelerometer data using the CurieIMU library:
#include <CurieIMU.h>
void setup() {
Serial.begin(9600); // Initialize serial communication
while (!Serial); // Wait for the serial port to open
CurieIMU.begin(); // Initialize the IMU
Serial.println("IMU initialized!");
// Set accelerometer range to ±4g
CurieIMU.setAccelerometerRange(4);
}
void loop() {
int ax, ay, az;
// Read accelerometer values
CurieIMU.readAccelerometer(ax, ay, az);
// Print the values to the Serial Monitor
Serial.print("Accelerometer: ");
Serial.print("X = "); Serial.print(ax);
Serial.print(", Y = "); Serial.print(ay);
Serial.print(", Z = "); Serial.println(az);
delay(500); // Wait for 500ms before the next reading
}
CurieBLE and CurieIMU libraries for BLE and IMU functionality, respectively. These libraries are specifically designed for the Arduino 101.Problem: The board is not recognized by the Arduino IDE.
Solution:
Problem: BLE connection is unstable or not working.
Solution:
CurieBLE library is correctly implemented in your code.Problem: IMU readings are inconsistent or incorrect.
Solution:
CurieIMU library's calibration functions.Problem: The board does not power on.
Solution:
Q: Can I use the Arduino 101 with 5V sensors?
A: Yes, but you will need a level shifter to convert the 5V signals to 3.3V.
Q: Is the Arduino 101 compatible with all Arduino shields?
A: The Arduino 101 is compatible with most Arduino shields, but ensure the shield operates at 3.3V logic levels.
Q: How do I update the firmware on the Arduino 101?
A: Use the "Firmware Updater" tool in the Arduino IDE to update the Curie module firmware.
Q: Can I use the Arduino 101 for battery-powered projects?
A: Yes, you can use a battery pack (7-12V) connected to the VIN pin or DC power jack.