Arduino Primo Core is open-source hardware! You can build your own board using the following files:
SCHEMATICS IN .PDF DSN FILES IN .ZIP
The Arduino Primo Core can be powered using the integrated slot for an external battery.
The battery used in the slot is the button cell CR2032 of 3V.
Furthermore it is also possible to use an external power supply to the Vin pin.
The nRF52832 has 512 KB of Flash memory and 64 KB of SRAM. There is no onboard EEPROM memory.
Input and Output
Each of the 10 digital pins on the Arduino Primo Core can be used as an input or output, using pinMode()
, and digitalRead()
functions. They operate at 3.3V. Each pin can provide or receive a maximum current of 14 mA.
In addition, some pins have specialized functions:
- Serial: RX and TX: these pins are used to receive (RX) and transmit (TX) TTL serial data.
- External Interrupts: all pins can be used as external interrupts. 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 pins. The 12-bit PWM output resolution can be adjusted using the analogWriteResolution() function.
- SPI: a Serial Peripheral Interface (SPI) bus is available using pins 4 (MOSI), 5 (MISO), and 6 (SCK) and 7 (SS) but it is possible to change them and use other pins. For more information about it visit the SPI library.
- TWI: Two-wire interface (TWI) communication is available from the serial data line (SDA) and serial clock line (SCL) pins. TWI communication is supported using the Wire library.
- RESET. Bringing the reset line LOW will reset the microcontroller.
- NFC1 and NFC2 for NFC communication
The Primo Core has also 8 analog inputs, labeled D0 through D7, each of which provide up to 14 bits of resolution (i.e., 16384 different values). By default they measure from ground to 3.3 volts, though it is possible to change the upper end of their range using the analogReference()
Onboard there are some sensors and actuators:
- A Led managed using the macro USER_LED or LED_BUILTIN. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.
- A RGB managed using the macro RED_LED, BLUE_LED and GREEN_LED.
- Temperature and Humidity sensor (ST HT221)
- Accelerometer and Gyroscope (ST LSM6DS3)
The Arduino Primo Core has a number of facilities available for communicating with other devices.
In particular it has a Bluetooth interface 4.0 that allows to communicate with PC, tablet and smartphone and to program the board. This interface is managed from the BLE library. This library is contained in the nRF52 platform, downloadable from Board Manager of the Arduino IDE 1.8.x or later.
The board supports also the NFC communication until to 106 kbps as bit rate and 13,56 MHz of frequency. It needs only to connect the NFC antenna in the corresponding connector. The NFC is managed from NFC library and also this is contained in the nRF52 platform.
Furthermore the nRF52832 supports also the I2C (TWI) communication. The Arduino software includes a Wire library to simplify use of the I2C bus.
In the Arduino Primo Core is also possible to use the SPI communication, using the default configuration (MOSI=4, MISO=5, SCK=6, SS=7) or defining the pins that you use directly in the sketch. For more information visit the SPI library.
The Arduino Primo Core can be programmed in different ways, using:
All these procedures use the Arduino IDE. The board is available from Arduino IDE 1.8.x version, downloading the corresponding platform (Arduino NRF52) from the Board Manager.
For more information about it look the Getting Started.
The Arduino Primo Core is characterized from small size so that can be used wearable. The length and width of board is 32 x 32 mm respectively.
Now you are ready to begin using your Arduino Primo Core following the Getting Started.