

The Curiosity Nano is a compact, low-power microcontroller platform designed for Internet of Things (IoT) applications. It features built-in wireless connectivity and an array of onboard sensors, making it ideal for environmental monitoring, smart home devices, and other connected applications. Its small form factor and energy-efficient design make it a versatile choice for both prototyping and deployment in embedded systems.








| Specification | Value |
|---|---|
| Microcontroller | Varies by model (e.g., ATmega4809, SAMD21) |
| Operating Voltage | 3.3V |
| Input Voltage Range | 3.3V to 5V (via USB or external supply) |
| Wireless Connectivity | Integrated (e.g., Bluetooth, Wi-Fi) |
| Onboard Sensors | Temperature, humidity, light, etc. |
| Clock Speed | Up to 48 MHz |
| Flash Memory | Up to 256 KB |
| SRAM | Up to 32 KB |
| GPIO Pins | Varies by model (typically 14-20) |
| Communication Interfaces | UART, SPI, I2C, USB |
| Dimensions | ~20mm x 50mm |
| Pin Name | Description |
|---|---|
| VCC | Power supply input (3.3V) |
| GND | Ground connection |
| GPIO | General-purpose input/output pins (digital or analog, depending on model) |
| UART (TX/RX) | Serial communication pins for UART interface |
| SPI (MISO/MOSI) | SPI communication pins (Master In Slave Out, Master Out Slave In) |
| I2C (SCL/SDA) | I2C communication pins (Clock and Data lines) |
| RESET | Reset pin to restart the microcontroller |
| USB | USB interface for programming and power |
Powering the Board:
Programming the Microcontroller:
Connecting Sensors and Actuators:
Wireless Connectivity:
If the Curiosity Nano is compatible with Arduino IDE, the following example demonstrates how to read data from an onboard temperature sensor and send it via serial communication:
// Example: Reading temperature from onboard sensor and sending via Serial
#include <Wire.h> // Include Wire library for I2C communication
#define TEMP_SENSOR_ADDR 0x48 // Replace with the actual I2C address of the sensor
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
Wire.begin(); // Initialize I2C communication
Serial.println("Curiosity Nano Temperature Sensor Example");
}
void loop() {
Wire.beginTransmission(TEMP_SENSOR_ADDR); // Start communication with sensor
Wire.write(0x00); // Request temperature data (register 0x00)
Wire.endTransmission();
Wire.requestFrom(TEMP_SENSOR_ADDR, 2); // Request 2 bytes of data from sensor
if (Wire.available() == 2) { // Check if 2 bytes are available
int tempRaw = (Wire.read() << 8) | Wire.read(); // Combine MSB and LSB
float temperature = tempRaw * 0.02 - 273.15; // Convert to Celsius
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
}
delay(1000); // Wait 1 second before next reading
}
Board Not Detected by IDE:
Wireless Connectivity Problems:
Sensor Readings Are Incorrect:
Overheating or Power Issues:
Q: Can I use the Curiosity Nano with a 5V power supply?
A: The Curiosity Nano operates at 3.3V. While it can accept 5V input via USB, ensure all connected peripherals are compatible with 3.3V logic levels.
Q: Is the Curiosity Nano compatible with Arduino libraries?
A: Some models of the Curiosity Nano are compatible with Arduino IDE and libraries. Check the specific microcontroller model for compatibility.
Q: How do I update the firmware?
A: Use the manufacturer's firmware update tool or IDE to flash the latest firmware. Refer to the official documentation for detailed instructions.
Q: Can I use external sensors with the Curiosity Nano?
A: Yes, the GPIO pins support external sensors. Ensure proper voltage levels and communication protocols (e.g., I2C, SPI) are used.