Physical Transduction & Telemetry Synchronization
This publication-grade interactive environment bridges physical silicon micro-structures with empirical telemetry. The page is synchronized live with your Arduino Nano 33 BLE Sense board over Server-Sent Events (SSE). As you physically move, tap, or tilt the hardware on your desk, the mathematical equations and MEMS silicon models evaluate and animate in real time.
Arduino Nano 33 BLE Sense Rev2 β Pinout & Electrical Schema
Explore every physical pin, silicon port multiplexer, onboard peripheral bus, and power rail of the Nordic nRF52840 SoC (ABX00069 / ABX00070). Click on any header pin or onboard IC chip in the vector graphic below or choose a subsystem filter to inspect its electrical characteristics, 3.3V logic constraints, and physical wiring in the Shram table robot.
β‘ Power Regulation & Dedicated Bus Architecture
P0.22. Pulling this pin LOW cuts power entirely, dropping standby sensor current to sub-microamps.
P1.00 (PIN_ENABLE_I2C_PULLUP). The user header pins A4/A5 (Wire) remain 100% free with zero address collisions!
| Header Pin # | Arduino Pin | nRF52840 Port.Pin | Category | Primary Function | Multiplexed Peripherals | Voltage & Drive Spec | Shram Robot Wiring |
|---|
1. 3-Axis Accelerometer (Differential Capacitive Comb MEMS)
The accelerometer utilizes a suspended micro-machined polysilicon proof mass ($m$) anchored via flexure beams with spring constant $k$. Inertia deflects the mass relative to the substrate:
π¬ ASIC Architecture & Silicon Registers (Bosch BMI270)
Silicon Package: 16-pin LGA ($2.5 \times 3.0 \times 0.83\text{ mm}$). AFE: High-impedance charge amplifier $\to$ $\Sigma\Delta$ ADC $\to$ DSP filter pipeline.
| Address | Register Name | Configured Value | Function & Operating Mode |
|---|---|---|---|
| 0x00 | CHIP_ID | 0x24 | Fixed silicon silicon identifier verification |
| 0x04 | STATUS | drdy_acc, drdy_gyr | Data ready interrupt status register |
| 0x0Cβ0x11 | ACC_DATA_X/Y/Z | 16-bit 2's comp | Linear acceleration: Scale $8192\,\text{LSB}/g$ at $\pm 4g$ range |
| 0x40 | ACC_CONF | 0xA8 (100 Hz, OSR2) | Configures ODR (100 Hz) and 2x oversampled moving average filter |
| 0x41 | ACC_RANGE | 0x01 (Β±4g) | Dynamic full-scale selection ($8192\,\text{LSB}/g$) |
| 0x7D | PWR_CTRL | 0x0E (acc_en, gyr_en) | Powers up internal analog charge pump and front-end amplifiers |
2. 3-Axis Gyroscope (Vibratory Coriolis Rate Sensor)
Angular velocity ($\vec{\Omega}$) is measured via the Coriolis pseudo-force coupling energy from the primary drive oscillation into the secondary sense frame:
π¬ ASIC Architecture & Gyroscope Registers (BMI270)
Component Retrimming (CRT): Laser-trimmed NVM coefficients reduce sensitivity error to <0.4%. Synchronous Demodulator: Multiplies Coriolis AC signal with carrier clock $\sin(\omega_d t)$.
| Address | Register Name | Configured Value | Function & Operating Mode |
|---|---|---|---|
| 0x12β0x17 | GYR_DATA_X/Y/Z | 16-bit 2's comp | Angular velocity: Scale $16.384\,\text{LSB}/(^\circ/\text{s})$ at $\pm 2000^\circ/\text{s}$ |
| 0x42 | GYR_CONF | 0xA9 (100 Hz, OSR2) | Configures ODR (100 Hz) and high-performance noise filtering |
| 0x43 | GYR_RANGE | 0x00 (Β±2000Β°/s) | Full-scale range setting ($16.384\,\text{LSB}/(^\circ/\text{s})$) |
| 0x18β0x1A | SENSORTIME | 24-bit counter | Hardware Sensortime clock ($39.0625\,\mu\text{s}$ per LSB) |
3. 3-Axis Geomagnetic Magnetometer (FlipCore Technology)
Bosch FlipCore technology utilizes high-permeability soft-magnetic flux guides to focus the geomagnetic field onto internal Hall elements. Thermal carrier mobility drift is compensated using factory polynomial trim registers and live Hall resistance ($R_{\text{hall}}$).
π¬ ASIC Architecture & Silicon Registers (Bosch BMM150)
FlipCore Principle: Periodic excitation saturates the core; asymmetric flux generates second harmonics proportional to external field.
| Address | Register Name | Configured Value | Function & Operating Mode |
|---|---|---|---|
| 0x40 | CHIP_ID | 0x32 | BMM150 chip verification identifier |
| 0x42β0x47 | DATA_X/Y/Z | 13-bit / 15-bit | Raw magnetic field readouts requiring Hall trim polynomial |
| 0x48β0x49 | RHALL | 14-bit | Hall spiral resistor temperature measurement |
| 0x4B | POWER_CONTROL | 0x01 | Enables internal oscillator and bias circuits |
| 0x51 | REP_XY | 0x04 (9 repetitions) | XY-axis regular oversampling ratio |
| 0x52 | REP_Z | 0x0E (15 repetitions) | Z-axis regular oversampling ratio |
| 0x5Dβ0x71 | TRIM_REGISTERS | Factory OTP | 11 calibration constants (dig_x1..z4, dig_xyz1) |
4. Relative Humidity & Bandgap Temperature
Water molecules ($H_2O$) possess an intense permanent electric dipole ($p \approx 1.85\ \text{Debye}$) with $\epsilon_{\text{water}} \approx 80.1$, increasing effective capacitance linearly as humidity diffuses into the polymer matrix.
π¬ ASIC Architecture & Protocol (Renesas HS3003)
I2C Protocol: Address 0x44. No internal register sub-addresses. Measurement request is initiated by sending an I2C write with 0 bytes, followed by a 35 ms conversion delay.
| Byte Index | Data Field | Bitfield Allocation | Description |
|---|---|---|---|
| Byte 0 [15:14] | STATUS | 00 = Valid, 01 = Stale | Indicates freshness of capacitive ADC conversion |
| Byte 0β1 [13:0] | HUMIDITY | 14-bit ADC | Scaled by $100 / 16383 = 0.0061635$ |
| Byte 2β3 [15:2] | TEMPERATURE | 14-bit ADC | Scaled by $(165 / 16383) - 40$ |
| Byte 3 [1:0] | MASKED | Don't care | Internal diagnostic padding bits |
β’ The Water Molecule ($H_2O$): Two hydrogen atoms sharing covalent bonds with one oxygen atom in an asymmetrical V-shape ($104.5^\circ$). Oxygen has a powerful greed for electrons (high electronegativity), pulling the electron cloud toward itself. This leaves the oxygen with a partial negative charge ($\delta^-$) and the hydrogens with partial positive charges ($\delta^+$), turning every water molecule into a permanent electric dipole.
β’ The BJT Transistor: A single-crystal silicon matrix doped with boron (p-type) and phosphorus (n-type), creating p-n junctions where thermal kinetic energy jostles electrons across energy barriers.
5. Piezoresistive Barometer & Hypsometric Altitude
Atmospheric pressure deflects a monocrystalline silicon membrane sealing a micro-machined vacuum cavity ($P_{\text{ref}} \approx 0$). Mechanical stress shifts carrier mobility in four piezoresistors wired in a Wheatstone Bridge:
π¬ ASIC Architecture & Registers (ST LPS22HB)
Architecture: Suspended silicon membrane over hermetic vacuum $\to$ 24-bit $\Sigma\Delta$ ADC $\to$ selectable digital low-pass IIR filter ($\alpha \in \{2, 9, 20\}$).
| Address | Register Name | Configured Value | Function & Operating Mode |
|---|---|---|---|
| 0x0F | WHO_AM_I | 0xB1 | Fixed device identification code |
| 0x10 | CTRL_REG1 | 0x50 (25 Hz ODR) | Configures output data rate, block data update (BDU), and IIR filter |
| 0x28 | PRESS_OUT_XL | LSB [7:0] | 24-bit 2's complement pressure word: $P_{\text{hPa}} = \text{raw}_{24} / 4096.0$ |
| 0x29 | PRESS_OUT_L | MID [15:8] | |
| 0x2A | PRESS_OUT_H | MSB [23:16] | |
| 0x2Bβ0x2C | TEMP_OUT_L/H | 16-bit 2's comp | Internal die temperature: $T [^\circ\text{C}] = \text{raw}_{16} / 100.0$ |
6. Directional Proximity, Gesture & RGBA Color
The sensor pulses an internal $950\text{ nm}$ IR VCSEL LED. Reflected radiant flux is collected by four directional photodiodes (Up, Down, Left, Right). Target motion produces directional phase shifts across the quadrant array.
π¬ ASIC Architecture & Registers (Broadcom APDS-9960)
Architecture: $950\text{ nm}$ IR LED driver ($100\text{ mA}$) + 4 directional photodiodes (U, D, L, R) with 32-dataset circular FIFO (`GFIFO`).
| Address | Register Name | Configured Value | Function & Operating Mode |
|---|---|---|---|
| 0x80 | ENABLE | 0x4F (PON, AEN, PEN, GEN) | Enables power, color ADC, proximity engine, and gesture state machine |
| 0x81 | ATIME | 256 - (10/2.78) | ADC integration time ($10\text{ ms}$) |
| 0x8F | CONFIG2 | LED Boost 100%β300% | Pulsed infrared transmitter drive current boost |
| 0x90 | ID | 0xAB | Fixed device identification |
| 0x9C | PDATA | 8-bit Proximity | Raw proximity ADC count (returned as $255 - \text{PDATA}$) |
| 0xFCβ0xFF | GFIFO_U/D/L/R | 32 datasets FIFO | 4-quadrant gesture dataset ring buffer |
β’ An on-chip 950 nm infrared VCSEL/LED that fires out photons with energy $E = 1.30\text{ eV}$ (just above silicon's bandgap threshold).
β’ A 4-quadrant photodiode array arranged in a diamond pattern (Up, Down, Left, Right) shielded by microscopic color and infrared filters.
7. Acoustics & 1-Bit Sigma-Delta PDM Decimation
Acoustic sound waves deflect a flexible silicon diaphragm charged by an internal charge pump. An on-chip $\Sigma\Delta$ modulator outputs a 1-bit high-frequency pulse density stream at $1.280\text{ MHz}$, decimated $80\times$ by the nRF52840 hardware Sinc$^5$ CIC filter into 16-bit PCM samples at 16 kHz.
π¬ nRF52840 PDM Peripheral & Double Buffer Registers
CRITICAL DRIVER INVARIANT: In ArduinoCore-mbed, the double-buffer must be drained inside the ISR callback `PDM.onReceive()`. Failure to drain causes the Mbed driver to execute `nrf_pdm_disable()` within ~32 ms.
| Offset | Register Name | Configured Value | Function & Operating Mode |
|---|---|---|---|
| 0x500 | PSEL.CLK | P0.26 | Microphone master sampling clock output pin |
| 0x504 | PSEL.DIN | P0.25 | 1-bit high-frequency PDM serial data input pin |
| 0x518 | PDMCLKCTRL | 0x0A000000 (1.280 MHz) | Clock divider: $32\,\text{MHz} / 25 = 1.280\,\text{MHz}$ |
| 0x520 | GAINL / GAINR | 0x28 (+20 dB) | Digital gain trimming applied prior to decimation |
| 0x528 | RATIO | Ratio80 | Decimation factor $R = 80 \implies 1.280\,\text{MHz} / 80 = 16\,\text{kHz}$ |
| 0x540 | SAMPLE.PTR | RAM DMA Address | EasyDMA target RAM buffer pointer |
β’ Loud clap: Diaphragm pinned inward $\implies$ a dense blast of ones: `1 1 1 1 0 1 1 1 1`.
β’ Quiet silence: Diaphragm resting $\implies$ an even 50/50 checkerboard: `1 0 1 0 1 0 1 0`.
The Nordic nRF52840 SoC's hardware Sincβ΅ CIC decimation filter mathematically groups and averages 80 of these 1-bit pulses together, producing rich 16-bit PCM audio samples at 16,000 times a second ($16\text{ kHz}$) directly in RAM!