79 lines
4.6 KiB
Markdown
79 lines
4.6 KiB
Markdown
# SparkFun MicroMod nRF52840 Processor
|
|
|
|
Featuring the nRF52840 SoC from Nordic Semiconductor, the [SparkFun MicroMod nRF52840 Processor](https://www.sparkfun.com/products/16984) offers a powerful combination of ARM Cortex-M4 CPU and 2.4 GHz Bluetooth transceiver in the MicroMod form-factor with the M.2 MicroMod connector to allow you to plug in a compatible MicroMod Carrier Board with any number of peripherals.
|
|
|
|
The MicroMod nRF52840 Processor features the same Raytac MDBT50Q-P1M found on our [Pro nRF52840 Mini](https://www.sparkfun.com/products/15025). This module includes an integrated trace antenna, fits the IC to an FCC-approved footprint along with including decoupling and timing mechanisms that would need to be designed into a circuit using the bare nRF52840 IC. The Bluetooth transceiver included on the nRF52840 boasts a BT 5.1 stack and supports Bluetooth 5, Bluetooth mesh, IEEE 802.15.4 (Zigbee & Thread) and 2.4Ghz RF wireless protocols (including Nordic's proprietary RF protocol) allowing you to pick which option works best for your application.
|
|
|
|
We've also routed two I<sup>2</sup>C buses, 2 SPI buses, eleven GPIO, dedicated digital, analog, PWM & PDM pins along with multiple serial UARTS to cover nearly all of your peripheral needs.
|
|
|
|
## CircuitPython Pin Defs
|
|
|
|
CircuitPython pin definitions, while simialr to other boards represent a slight departure from just the typical `A` and `D` pin definitions. The majority of general pins are labled as `G` (or alternatively, `BUS`,) as the MicroMod system they build on uses those names to specify pins that may not be specficially analog or digital.
|
|
|
|
This can be somewhat confusing, especially around the analog pins. Here's a quick pin-map:
|
|
|
|
MicroMod Pin # | ATP Pin Label | Pin Definition | Additional Definitons | Pin/Port Reference | Notes
|
|
:--------------|:--------------|:--------------|:-----------------------|:-------------------|:------
|
|
8 | G11 | | | (Not Connected) |
|
|
10 | D0 | D0 | | P0_27 |
|
|
11 | BOOT | BOOT | | P0_07 |
|
|
12 | SDA | I2C_SDA | SDA | P0_08 |
|
|
13 | RTS1 | UART_RTS1 | | P1_02 |
|
|
14 | SCL | I2C_SCL | SCL | P0_11 |
|
|
15 | CTS1 | UART_CTS1 | | P1_09 |
|
|
16 | /I2C INT | I2C_INT | |P0_15|
|
|
17 | TX | UART_TX1 | TX | P1_03 |
|
|
18 | D1 | D1 | | P1_08 |
|
|
19 | RX | UART_RX1 | RX | P1_10 |
|
|
20 | RX2 | UART_RX2 | | P1_05 |
|
|
22 | TX2 | UART_TX2 | | P1_07 |
|
|
32 | PWM0 | PWM0 | |P0_06|
|
|
34 | A0 | A0 | | P0_04 | Attached to AIN2
|
|
38 | A1 | A1 | | P0_05 | Attached to AIN3
|
|
40 | G0 | G0 | BUS0 | P0_29 | Attached to AIN5
|
|
42 | G1 | G1 | BUS1 | P0_03 | Attached to AIN1
|
|
44 | G2 | G2 | BUS2 | P1_13 |
|
|
46 | G3 | G3 | BUS3 | P1_12 |
|
|
47 | PWM1 | PWM1 | |P0_16|
|
|
48 | G4 | G4 | BUS4 | P1_11 |
|
|
49 | BATT_VIN | BATT_VIN3 | | P0_30 | Attached to AIN6, will be battery voltage / 3.
|
|
50 | PDM_CLK | PDM_CLK | | P0_25 |
|
|
51 | SDA1 | I2C_SDA1 | | P1_01 |
|
|
52 | PDM_DATA | PDM_DATA | | P0_26 |
|
|
53 | SCL1 | I2C_SCL1 | | P0_24 |
|
|
55 | /CS | SPI_CS | | P0_20 |
|
|
57 | SCK | SPI_SCK | LED_CLK | P0_28 | Attached to AIN4
|
|
59 | COPI | SPI_COPI | SPI_MOSI, LED_DAT | P0_31 | Attached to AIN7
|
|
60 | SCK1 | SDIO_SCK | SPI_SCK1 | |
|
|
61 | CIPO | SPI_CIPO | SPI_MISO | P0_02 |
|
|
62 | COPI1 | SDIO_CMD | SPI_COPI1 | |
|
|
63 | G10 | G10 | | P0_10 | Attached to NFC2
|
|
64 | CIPO1 | SDIO_DATA0 | SPI_CIPO1 | |
|
|
65 | G9 | G9 | | P0_09 | Attached to NFC1
|
|
66 | DAT1 | SDIO_DATA1 | | |
|
|
67 | G8 | G8 | | P1_14 |
|
|
68 | DAT2 | SDIO_DATA2 | | |
|
|
69 | G7 | G7 | BUS7 | P1_04 |
|
|
70 | CS1 | SDIO_DATA3 | SPI_CS1 | |
|
|
71 | G6 | G6 | BUS6 | P1_06 |
|
|
73 | G5 | G5 | BUS5 | P0_15 |
|
|
|
|
## Peripheral Naming
|
|
|
|
The SparkFun MicroMod spec uses a zero-based peripheral numbering scheme. The 0th peripheral is the default and the "0" is omitted from the peripheral name. For example, the first I2C peripheral is named `I2C` (instead of `I2C0`) and the second I2C peripheral is named `I2C1`. Note: MicroMod `UART` is not present in the edge connector pinout because the primary debug serial port (i.e.`UART0`) is exposed as a virtual serial port over USB. As a result, the first UART peripheral in the edge connector pinout is `UART1` and the second UART peripheral is `UART2`.
|
|
|
|
For more details, see https://www.sparkfun.com/micromod#tech-specs.
|
|
|
|
|
|
## Bootloader Notes
|
|
|
|
The MicroMod nRF52840 Processor needs to have the [Adafruit nRF52 UF2 bootloader](https://github.com/adafruit/Adafruit_nRF52_Bootloader/releases/latest) flashed on it.
|
|
|
|
## Hardware Reference
|
|
|
|
The MicroMod nRF52840 Processor hardware layout is open source:
|
|
|
|
* [Schematic](https://cdn.sparkfun.com/assets/f/0/9/9/e/MicroMod_Processor_Board-nRF52840.pdf)
|
|
* [Eagle Files](https://cdn.sparkfun.com/assets/3/0/5/d/a/MicroMod_Processor_Board-nRF52840.zip)
|
|
* [Hookup Guide](https://learn.sparkfun.com/tutorials/micromod-nrf52840-processor-hookup-guide)
|