The Primo is the first Arduino board featuring a Nordic nRF52 processor with WiFi.
There are three onboard microcontrollers:
- nRF52832, the main Arduino microcontroller with integrated BLE and NFC
- STM32f103, a service microcontroller used for advanced debugging and programming of the other microcontrollers
- ESP8266, for Wi-Fi and related internet connectivity functions.
- 14 digital input/output pins (of which 12 can be used as PWM outputs)
- 6 analog inputs
- 64 MHz ceramic resonator
- micro-USB connector
- ICSP header
- battery charger
- Infrared receiver and transmitter
- NFC antenna
- BLE interface
- two service buttons
- reset buttons (to reset the various microcontrollers).
Tensilica Xtensa LX106
8 MB instruction, 12 MB data
802.11 b/g/n 2.4 GHz
Wake up time
Analog I/O Pins
6 + 1 DAC
DC Current per I/O Pins
BLE4.0: TX power up to +4dBm -96dBm sensitivity in BLE mode
PDM interface, AES HW enc, NFC tag
2.0 to 3.6 V
up to 72 MHz
USB/Uart converter, CMSIS-DAP, GPIO expander, Board power management, IrDA
Digital I/O Pins
0.936(Min) - 94.4(Max)mA
53 x 68.5 mm
- using a micro-USB connector
- connecting a power supply to the Vin pin
- using an external battery connected via the 2-pin JST-PH connector.
The power pins are as follows:
- VIN. The input voltage to the Arduino board can be supplied using an external power source or battery. It must supply between 2.7V and 5.5V.
- 5V. This pin outputs a regulated 5V power supply voltage that is generated from the onboard regulator. Connecting an input power source to the 5V or 3.3V pins bypasses the regulator, and can damage your board. We don't advise it.
- 3V3. This pin outputs a regulated 3.3V power supply voltage that is generated from the onboard regulator. Maximum current draw is 50 mA.
- GND. Ground pins.
- IOREF. This pin on the Arduino board provides the voltage reference at which the microcontroller operates. A properly configured shield can read the voltage on the IOREF pin to select the appropriate power source, or to enable voltage translators on the 5V or 3.3V outputs.
Input and Output
- Serial: 0 (RX) and 1 (TX): Pins 0 and 1 are used to receive (RX) and transmit (TX) TTL serial data.
- External Interrupts: all pins (digital and analog) can be used as external interrupts except pins 0 and 1. Keep in mind that you can’t use more than eight interrupt pins at the same time. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details.
- PWM: pulse width modulation is available on all digital pins except pins 0 and 1. The 12-bit PWM output resolution can be adjusted using the analogWriteResolution() function.
- SPI: A serial peripheral interface (SPI) bus is available using pins 10 (SS), 11 (MOSI), 12 (MISO), and 13 (SCK) as well as using the onboard ICSP header. SPI communication is available using the SPI library.
- LED: There is a built-in LED connected to digital pin 9. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.
- TWI: Two-wire interface (TWI) communication is available from the serial data line (SDA) and serial clock line (SCL) pins (located near AREF). TWI communication is supported using the Wire library.
- AREF. Unlike some other Arduino boards, the analog reference (AREF) pin cannot be used to connect an external reference voltage for the analogRead() command. But it can be used to compare analog inputs (see Comparator library).
- RESET. Bringing the reset line LOW will reset the microcontroller. RESET pin will reset only nRF52832 microcontroller. In order to reset all the three microcontrollers on board use reset button instead.
The easiest method to communicate is to use a USB cable between the micro-USB port on a Primo, and a standard USB port on a PC. This is the same method used to communicate between the classic Arduino UNO and a PC, in order to upload sketches. Also like the UNO, the Primo supports a serial monitor function, which enables checking the communication between the board and a PC, and sending text messages and sensor data to help debug or analyze the operation of a sketch.
A SoftwareSerial library allows for serial communication over any of the digital pins.
The nRF52832 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus and the SPI library for the SPI communication.
The board allows wireless communication with other devices via Bluetooth, NFC, WiFi and IR, using specific libraries for each protocol.
The BLE interface allows Primo to communicate with other BLE devices. It can also be used by PCs, tablets, and smartphones. The library used is BLE that allows peripheral and central capabilities.
The NFC peripheral supports type A communication signals at a106 kbps rate. The NFC library is contained in the NRF52 platform for Arduino software (Arduino IDE 1.8.x or later).
The Primo Wi-Fi communication is supported by the ESP8266 module, which includes a self-contained SoC with integrated TCP/IP protocol stack. This module allows connecting the Primo to a Wi-Fi network. The Primo Wi-Fi configuration supports access point (AP) mode, station (STA) mode, and the combination of the two: AP + STA by the WiFi Link library
The CIR library allows the Primo board to interact with a large number of IR sensors. The board has both receiver and transmitter capability, to give full flexibility to your sketches.
Note that like the Arduino Uno and several other boards, the distance between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.
Now you are ready to begin using your Arduino Primo following the Getting Started guide guide.
If you couldn’t find what you were looking for, please see our Forum Section