SparkFun Thing Plus - NINA-B306 Hookup Guide
In this section we'll take a closer look at the hardware on the SparkFun Thing Plus - NINA-B306.
The NINA-B306 is a Bluetooth 5 low energy module with an integrated Arm Cortex-M4 processor allowing for powerful computing power on top of Bluetooth connectivity.
The module uses the nRF52840 chip at 64 MHz clock speed with 1 MB of Flash and 256 KB of RAM for program and data storage. The NINA-B306 has an integrated PCB antenna for the 2.4 GHz radio. The NINA-B30 series features the open CPU architecture and the modules on this board comes with a bootloader to work with the Arduino IDE.
For a complete overview of the NINA-B306, refer to the datasheet.
On Board Sensors
This Thing Plus has two on board sensors; the BME280 for environmental and ISM330DHCX 6 DoF IMU for motion sensing. Both sensors communicate over the NINA-B306's I2C interface and operate at 3.3V.
The BME280 environmental sensor is a combined humidity and pressure sensor capable of measuring relative humidity, ambient temperature and atmospheric pressure.
The sensor has operational ranges of 0 to 100%RH, -40 to +85°C (full accuracy from 0 to 65°C), and 300 to 1100hPa. The table below outlines several of the sensor's operational characteristics. For a complete overview of the sensor, refer to the datasheet.
|Operational Modes||Sleep (Default), Normal, and Forced (low power; single measurement)|
|Current Consumption (Typical)||
Sleep: 0.3 µA
Standby: 0.5 µA (inactive period of normal mode)
Humidity Measurements: 340 µA (peaks at 85°C)
Pressure Measurements: 714 µA (peaks at -40°C)
Temperature Measurements: 350 µA (peaks at 85°C)
16-bit output from ADC
(*IIR filter and oversampling can increase this to 20-bit; excludes humidity data.)
Range: 0 to 100 %RH
Absolute Accuracy: ±3 %RH (from 20 - 80 %RH)
Resolution: 0.008 %RH
Range: 300 to 1100 hPa (30,000 - 110,000 Pa or approx. 4.35 - 15.95 PSI)
Absolute Accuracy: ±(1 - 1.7) hPa
Resolution: 0.18 Pa
Range: 0°C to 65°C (32°F to 149°F)
Absolute Accuracy: ±(0.5 - 1.5)°C
The ISM330DHCX six degrees of freedom IMU is a high-performance 3D digital accelerometer and 3D digital gyroscope tailored for Industry 4.0. The IMU has user selectable full-scale acceleration ranges of ±2/±4±/±8/±16 g and wide angular rate ranges of ±125/±250/±500/±1000/±2000/±4000 dps.
The ISM330DHCX includes a robust feature set including Machine Learning Core1, programmable FSM, FIFO, event decoding and interrupts. The Thing Plus connects both of the sensor's interrupt pins to two of the NINA-B306's GPIO pins (INT1 to IO21 and INT2 to IO22) for configuring and monitoring interrupt events from the ISM330DHCX. The table below outlines a few of the characteristics of this IMU. For a complete overview of the ISM330DHCX, refer to the datasheet.
|Acceleration Ranges||±2/±4±/±8/±16 g|
|Angular Rate Ranges||±125/±250/±500/±1000/±2000/±4000 dps|
Power and Battery Components
The Thing Plus - NINA-B306 offers several ways to power the board. Primary power options are over USB-C or through a single-cell LiPo battery. The board includes both battery charging and monitoring circuits using the MCP78381 single cell battery charge IC and MAX17048 fuel gauge.
Both the USB-C and battery power inputs are regulated down to 3.3V to power the rest of the system through a 3.3V/700mA voltage regulator. Let's take a closer look at the power components on the Thing Plus - NINA-B306.
The USB-C connector acts as the primary serial interface for programming and interfacing with the NINA-B306 and also provides input voltage for charging a connected LiPo battery.
2-Pin JST LiPo Connector
The 2-pin JST LiPo connector provides a standard connection for a single-cell lithium-ion battery. The battery is charged and monitored by the following components.
MCP73831 Battery Charger
The MCP73931 single-cell battery charger provides an on-board LiPo charging option at 500mA@5V. The USB-C connector acts as the primary input voltage for the charge circuit. The V_USB pin can act as a 5V input for the charge circuit but is not recommended for most users.
MAX17048 Fuel Gauge
The MAX17048 fuel gauge monitors a connected LiPo battery's voltage level over I2C. The MAX17048's I2C address is 0x36. The fuel gauge's battery alert pin connects to IO39 on the NINA-B306.
The board routes one UART, I2C, and SPI bus to the pair of 0.1"-spaced headers on the board as well as six analog pins labeled A0-A5, eight GPIO configured as digital pins (with D38/IO38 to the Freebie pin).
The headers also include the Reset and Enable pins as well as the voltage pins for VUSB, VBATT, and 3.3V. The NINA-B306 offers full multiplexing for many of the module's pins so the labeled pins are mostly software defined through the Arduino Board definition allowing for users to customize them if they prefer.
The Thing Plus - NINA-B306 has four LEDs labeled PWR, CHG, STAT, and RGB.
The red Power LED indicates if the board is powered or not. The yellow Charge LED illuminates when a connected battery is actively being charged. The blue Status LED is tied to IO41 on the NINA-B306 and can be toggled through software. The WS2812 data in pin connects to IO34 on the NINA-B306.
The board has five solder jumpers labeled: SHLD, MEAS, CHG, PWR, and I2C. The table below outlines their functionality, default state and any notes regarding their use.
|SHLD||CLOSED||Connects USB-C shield pin to ground plane.||Open to isolate this pin from the board's ground plane.|
|CHG||CLOSED||Completes the Charge LED circuit||Open to disable the Charge LED|
|PWR||CLOSED||Completes the Power LED circuit||Open to disable the Power LED|
|I2C||CLOSED||Pulls SDA/SCL to 3.3V through a pair of 2.2kΩ resistors.||Open completely to disable I2C pull-up resistors|
The Thing Plus - NINA-B306 packs in a few more components than most Thing Plus boards so it is a bit longer the standard Thing Plus footprint and measures 2.60" x 0.90" (66.04mm x 22.86mm).