

Open Telemetry digitalSensorShield
The OFT001v1 card has an L80-M39 GPS with a built-in patch antenna, and an optional connector for an external 50 Ohm active antenna; an MP-9250 3D axis for each of: Accelerometer, Gyroscope and Magnetometer; and a…
- Size
- 50.8 × 22.9 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 44
- Nets
- 47
- Pads
- 154
- Tracks, vias
- 874, 75
- Pours
- 7
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 27 Oct 2019
- Updated
- 6 Feb 2020
Overview
Open Telemetry digitalSensorShield is an open-source printed circuit board by jonasbjurel, from the jonasbjurel/open_telemetry_HW repository on GitHub. It is a 4-layer board of 50.8 × 22.9 mm with 44 parts on 47 nets, routed with 874 tracks and 75 vias.
It is built around the L80-M39, BME280 and MPU-9250, with the BC846BPN among its other parts. Its parts include 20 resistors, 8 capacitors, 7 connectors, 3 ICs and 3 diodes.
Main components
4L80-M39
SMD,16x16Hot start acceleration、RTC backup power、Short-circuit detection SMD,16x16 GNSS Modules ROHSQuectelGNSS ModulesBME280
LGA-8(2.5x2.5)-40℃~+85℃ 0%RH~100%RH 1.71V~3.6V 1.8uA 16bit I2C、SPI ±0.5℃ ±3%RH LGA-8(2.5x2.5) Temperature and Humidity Sensor ROHSBoschTemperature And Humidity SensorMPU-9250
QFN-24-EP(3x3)-40℃~+85℃ 2.4V~3.6V 8uA IMU (accelerometer + gyroscope) Motion event detection SPI、I2C X,Y,Z X,Y,Z ±16g ±2000dps QFN-24-EP(3x3) Accelerometers ROHSTDK InvenSenseAccelerometersBC846BPN
SOT-363UncategorisedGOODWORK
README
pcb/sensors/Open_Telemetry_digitalSensorShield/README.mdOFT001v1 Inertial navigation board
The OFT001v1 Inertial navigation board captures navigational data, such as GPS positioning, 3D acceleration data, 3D Gyroscopic data, 3D Magnetic data, Barometric pressure, Temperature and Humidity. Those data are provided to the ESP32 processor card (and any other shield cards) through I2C and RS232. The data will be filtered, processed and transferred by the ESP32 card and the OFT System card FPGA. It is still to be seen if we can/will implement a high-performance Inertial navigation fuse fixed point Kalman filter in the FPGA, or if it is better done in SW?
Figure 5: OFT001v1 Inertial navigation card overview
The OFT001v1 card has an L80-M39 GPS with a built-in patch antenna, and an optional connector for an external 50 Ohm active antenna; an MP-9250 3D axis for each of: Accelerometer, Gyroscope and Magnetometer; and a BMP280 Barometric pressure- humidity- and temperature sensor. Note that the axise's for the acelerometers and Gyrometers differs from those of the manetometers (x swaped with y, and neative Z), clearly marked on the board. The communication with these sensors have been segmented so that the MPU runs on its own high speed I2C channel, allowing fast updates, Kalman filtering-, integration- and Quaternion calculation cycles by the CPU (and possibly later offloaded by the OFT System card FPGA); the BMP280 is less latency critical, and shares an I2C channel with potentially other devices in the stack; while the GPS communication happens over an RS232 serial channel using extensions of the NMEA protocol.
There is one green LED indicator for GPS lock, one orange LED indictor for External GPS antenna use, and an RGB LED for generic system status indication driven from the ESP32 CPU board. There are also two push buttons: one which is connected to the overall system reset, and another multi-purpose push button intended for system calibration activities.
It is important that OFT001v1 sits on the top of the mother-daughter board stack (unless an external GPS antenna is used) in order to achieve a good GPS signal. Cupper layers have been kept out from ESP32 Bluetooth and WIFI PCB antennas to not deteriorate the signal strength from those.

Figure 6: OFT001v1
?
OFT001v1 shield pin-out
| OFT001 12 pin header (J2) | ESP32 HUZZAH 12 pin header (JP3) | ESP32 silicon | Comments |
|---|---|---|---|
| 1 - N/C | VBAT | - | N/C |
| 2 - N/C | EN | - | N/C |
| 3 - N/C | VBUS | - | N/C |
| 4 – RED LED | IO13_A12 | 13 - IO13/A2_6 | Red system status led |
| 5 – BLUE LED | IO12_A11 | 14 – IO12/A2_5 | Blue system status led |
| 6 – GREEN LED | IO27_A10 | 12 – IO27/A2_7 | Green system status led |
| 7 - N/C | IO33_A9 | 9 - IO33/A1_5 | N/C |
| 8 - N/C | IO15_A8 | 23 – IO15/A2_3 | N/C |
| 9 - N/C | IO32_A7 | 8 – IO32/A1_4 | N/C |
| 10 - N/C | IO14_A6 | 13 – IO14/A2_6 | N/C |
| 11 - I2C_0_SCL_3V | SCL | 36 – IO22 | Common non-critical I2C |
| 12 - I2C_0_SDA_3V | SDA | 37 – IO23 | Common non-critical I2C |
Table 1: J2 shield pin connector
| OFT001 16 pin header (J3) | ESP32 HUZZAH 16 pin header (JP1) | ESP32 silicon | Comments |
|---|---|---|---|
| 1 – INT_0 | IO21 | 33 - IO21 | Interrupt from MPU9250 |
| 2 - I2C_1_SDA_3V | IO17 | 28 - IO17 | Critical MPU I2C |
| 3 - I2C_1_SCL_3V | IO16 | 27 - IO16 | Critical MPU I2C |
| 4 - N/C | MISO | 31 - IO19 | N/C |
| 5 - N/C | MOSI | 30 - IO18 | N/C |
| 6 - N/C | SCK | 29 - IO5 | N/C |
| 7 - CALIB | A5_IO4 | 26 - IO4/A2_2 | System calibration button |
| 8 - UART_1_CLIENT_RXD | A4_IO36 | 4 - IO36/A1_0 | L8-M39 GPS UART (NMEA) |
| 9 - UART_1_CLIENT_TXD | A3_I39 | 5 – IO39/A1_3 | L8-M39 GPS UART (NMEA) |
| 10 – N/C | A2_I34 | 6 – I34/A1_6 | N/C |
| 11 – N/C | A1_DAC1 | 10 – IO25/DAC1/A2_8 | N/C |
| 12 – N/C | A0_DAC2 | 11 – IO26/DAC2/A2_9 | N/C |
| 13 - GND | GND | - | GND from ESP32 motherboard |
| 14 – N/C | N/C | - | N/C |
| 15 - +3.3V (VDD) | +3.3V | - | 3.3V max 120 mA from ESP32 motherboard (rated for max ???) |
| 16 - RESET | RESET | 3 - EN | 2-Way reset |
Table 2: J3 shield pin connector
| OFT001 Ext GPS Ant. (J1) | Comments |
|---|---|
| 1 – AGND | External active GPS antenna ground |
| 2 – EXTANT | External active GPS antenna signal with VDD DC applied for power feed |
Table 3: J1 External PS Antenna
OFT001v1 addressing
| I2CBus | Addr | Function | Comments |
|---|---|---|---|
| 0 | 0x77(0x761) (1) | BME280 | - |
| 1 | 0x68(0x692) (2) | MPU9250 | - |
- Alternative address if NULL resistor R4 is mounted (not default)
- Alternative address if NULL resistor R7 is mounted (not default)
Table 4: OFT001v1 I2C addressing
OFT001 v1 operating specifications
Operational conditions:
| Parameter | Nom | Max | Min |
|---|---|---|---|
| Voltage | 3.3 V | 3.6 V | 3.0 V |
| Current | 30 mA | 120 mA | - |
| Power dissipation | 100 mW | 400 mW | - |
| Ambient temp | - | 85 degC | -40 degC |
Table 5: OFT001v1 Operational conditions
GPS antenna operational conditions:
The built in GPS patch antenna provides the following characteristics:
Figure 7: OFT001v1 Built in L80-M39 path GPS antenna characteristics
External GPS antenna operational requirements:
| Parameter | Value |
|---|---|
| DC feed: | 3.6V – 2.5V |
| DC current (max): | <??? |
| Center frequency: | 1575.42MHz |
| Band width: | >5MHz |
| VSWR: | <2 (Typ.) |
| Polarization: | RHCP or Linear |
| Noise figure: | <1.5dB |
| Gain (antenna): | >-2dBi |
| Gain (embedded LNA): | 20dB (Typ.) |
| Total gain: | >18dBi (Typ.) |
Table 6: OFT001v1 External operational conditions
OFT001v1 schematics
Figure 8: OFT001v1 schematics
OFT001v1 - third party data sheets
Parts
44| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | 10k | Open_Telemetry:RESC0603X26N | R1, R8, R9, R15, R16, R17, R18 |
| 4 | 10nF | Open_Telemetry:CAPC1608X87N | C1, C2, C3, C4 |
| 4 | 1k | Open_Telemetry:RESC0603X26N | R2, R6, R19, R20 |
| 4 | 62 | Open_Telemetry:RESC1005X40N | R10, R11, R12, R13 |
| 3 | 10uF | CAPPM3528X210N | C6, C7, C8 |
| 2 | 100k | Open_Telemetry:RESC0603X26N | R3, R5 |
| 2 | MountingHole_2.2mm_M2 | MountingHole:MountingHole_2.2mm_M2 | P3, P4 |
| 2 | MountingHole_2.5mm | MountingHole:MountingHole_2.5mm | P1, P2 |
| 2 | NULL | RESC0603X26N | R4, R7 |
| 1 | 100nF | Open_Telemetry:CAPC1005X55N | C5 |
| 1 | 130 | Open_Telemetry:RESC1005X40N | R14 |
| 1 | BC846BPN | Package_TO_SOT_SMD:SOT-363_SC-70-6 | Q1 |
| 1 | BME280 | Open_Telemetry:Bosch_LGA-8_2x2.5mm_P0.65mm_ClockwisePinNumbering | U1 |
| 1 | CALIB | Open_Telemetry:KSR | S2 |
| 1 | EXT ANT | Open_Telemetry:LEDC1608X65N | LED1 |
| 1 | Ext GPS antenna connector | Open_Telemetry:U.FL_Molex_MCRF_73412-0110_Vertical | J1 |
| 1 | GPS LCK | Open_Telemetry:SMLD15YWT86 | LED2 |
| 1 | L80-M39 | Open_Telemetry:L80-M39 | IC1 |
| 1 | MPU-9250 | Open_Telemetry:3DInvenSense_QFN-24_3x3mm_P0.4mm | U2 |
| 1 | PinHeader_01x12 | Open_Telemetry:PinHeader_1x12_P2.54mm_Vertical_Down | J2 |
| 1 | PinHeader_01x16 | Open_Telemetry:PinHeader_1x16_P2.54mm_Vertical_Down | J3 |
| 1 | RST | Open_Telemetry:KSR | S1 |
| 1 | System Status | Open_Telemetry:AVAGO_PLCC4 | LED3 |
Questions
How big is the Open Telemetry digitalSensorShield PCB?
It measures 50.8 × 22.9 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Open Telemetry digitalSensorShield use?
44 parts, built around the L80-M39, BME280, MPU-9250 and BC846BPN. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Open Telemetry digitalSensorShield KiCad files?
From the jonasbjurel/open_telemetry_HW repository on GitHub, at the commit this page was made from: the board is pcb/sensors/Open_Telemetry_digitalSensorShield/Open_Telemetry_digitalSensorShield.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Open Telemetry digitalSensorShield design in my own project?
Its repository states no licence, so its author keeps all rights: ask jonasbjurel before reusing the design.
Similar boards
- 2 layers89.8 × 70.8 mm

- 2 layers52.8 × 65.3 mm

- 4 layers30 × 74 mm

Circuit board design v1.0
ImperialSpaceSociety/Flight-Computer
HPR project by undergraduate students from Imperial College Space Society.
56 parts11 - 2 layers67.6 × 25 mm

- 4 layers101.6 × 26.9 mm

- 2 layers99.1 × 99.1 mm

- 4 layers42 × 83.9 mm

StratoSoar MK2.2
crnicholson/StratoSoar-MK2
StratoSoar is an engineering project that aims to be able to fly a glider (dropped from a high-altitude balloon), down to any selected coordinates.
116 parts24 - 4 layers184.9 × 88 mm
