1.1.1. Main Board (Main)

ESDK Main board

1.1.1.1. Introduction

The Main board plugs into a Raspberry Pi SBC and provides:

  • Touch screen

  • Four physical buttons

  • Battery backed real-time clock (RTC)

  • Battery backed GPS

  • Buzzer (from board v0.3 onwards)

  • Sensor chain 3.3V and 5V power supply (from board v0.3 this is switched by MOSFETs under software control)

  • Connector for cable to Sensor Chain Adapter (PEA)

1.1.1.2. Schematic diagram

ESDK Main schematic diagram

1.1.1.3. Theory of operation

The ESDK-MAIN board connects a number of peripherals to a Raspberry Pi P1 GPIO header including a 320x240 touchscreen over SPI and I2C, a battery-backed RTC connected over I2C, a GPS module connected over a UART (also supporting a 5V active antenna), four front panel buttons connected to GPIO lines, 3.3V and 5V sensor power rails switched by MOSFETs (from board v0.3 onwards), an on-board “HAT” EEPROM connected over I2C and USB-C for 5V power input.

The LCD, touchscreen, RTC and HAT EEPROM connect to I2C 0 on the Raspberry Pi, whereas the sensor string is connected to I2C 1 — this separation aims to avoid issues with the sensor string affecting operation of “system” devices. LCD backlight control is supported in software with further tweaks to the device tree overlay; GPIO 12 does support PWM to be able to adjust the brightness.

A 8-pin Molex PicoBlade connector is present for connection to the ESDK-PEA board that provides an external connector for the sensor modules.

For potential future use, a 5-pin Molex Pico-Lock connector can be used to enable battery expansion. This connector features the 5V rail inbound from the USB-C port, a 5V rail that heads out to the board plus a connection to I2C 0 for smart battery monitoring.

1.1.1.4. Board layout

ESDK Main board layout

1.1.1.5. GPIO Assignments

ESDK-MAIN Function

Raspberry Pi GPIO

TOUCH_RST

4

TOUCH_INT

17

GPS_RESET

27

GPS_STBY

22

GPS_PPS

18

BUTTON_1 (closest to board bottom)

5

BUTTON_2

6

BUTTON_3

13

BUTTON_4 (closest to board top)

19

LCD_RST

24

LCD_DC

25

LCD_BL

12

GPIO_1

20

GPIO_2

21

SENSOR_3V3_EN (only used on later boards)

7

SENSOR_5V_EN (only used on later boards)

16

BUZZER (only used on later boards)

26

  • The touchscreen I2C interface is connected to I2C 0

  • The module I2C interface is connected to I2C 1

  • The LCD is connected to SPI 0

  • The GPS is connected to UART “serial0” which is the hardware UART on the Raspberry Pi