MDK User Guide: HAT Adapter Board

Before you begin...

Required Hardware

The HAT Adapter Board requires a Moto Z and Reference Moto Mod. If you don't have these, you'll need to buy the required hardware.


Introduction

The Raspberry Pi ecosystem contains a wide variety of existing HATs (Hardware Attached on Top) that can be used to start your project, or maybe you have an existing Pi project to port to Moto Mods.

The Moto Mods HAT Adapter Board is Raspberry Pi HAT compatible and allows the use of commercially available HATs. It includes the 40-pin Header, Camera, and Display connectors in the proper locations.

Raspberry Pi is a trademark of the Raspberry Pi Foundation


Software Considerations

When working with the Moto Mods HAT adapter board, existing Pi firmware must be ported to the MuC. For example, drivers written for the Raspian OS based on Debian Linux need to be ported to NuttX. In addition tasks and queues may require redesign to operate in the Moto Mods embedded environment.


Electrical Details

Overview

This section covers:


Raspberry Pi HAT-compliant 40-pin Header

Raspberry Pi HAT 40-pin Connector Signal Cross-Reference

MotoMods HAT Adaptor 40-pin Name Raspberry Pi 40-pin Name
Pin # Signal (LS: Level Shifted) Pin # rPi Equivalent function
2 VIO (Refer to Dip switch position)
- off : 3P3 (Default)
- on : 1P8
1 3V3 Power
1 5P0 2 5V Power
4 PB11_LS 3 GPIO2 (SDA1)
3 5P0 4 5V Power
6 PB10_LS 5 GPIO3 (SCL1)
5 GND 6 Ground
8 PB2_LS 7 GPIO4 (GPIO_GCLK)
7 PA2_LS 8 GPIO14 (TXD0)
10 GND 9 Ground
9 PA3_LS 10 GPIO15 (RXD0)
12 PA0_LS 11 GPIO17 (GPIO_GEN0)
11 PC14_LS 12 GPIO18 (GPIO_GEN1/PCM_CLK)
14 PA10_LS 13 GPIO27 (GPIO_GEN2)
13 GND 14 Ground
16 PC12_LS 15 GPIO22 (GPIO_GEN3)
15 PC7_LS 16 GPIO23 (GPIO_GEN4)
18 VIO (Refer to Dip switch position)
- off : 3P3 (Default)
- on : 1P8
17 3V3 Power
17 PC8_LS 18 GPIO24 (GPIO_GEN5)
20 PA7_LS 19 GPIO10 (SPI_MOSI)
19 GND 20 Ground
22 PA6_LS 21 GPIO9 (SPI_MISO)
21 PD6_LS 22 GPIO25 (GPIO_GEN6)
24 PA5_LS 23 GPIO11 (SPI_SCLK)
23 PA4_LS 24 GPIO8 (SPI_CE0_N)
26 GND 20 Ground
25 PA15_LS 26 GPIO7 (SPI_CE1_N)
28 PC1_LS (reserved for I2C) 27 GPIO0 (ID_SD)
27 PC0_LS (reserved for I2C) 28 GPIO1 (ID_SC)
30 PG9_LS 29 GPIO5
29 GND 30 Ground
32 PG10_LS 31 GPIO6
31 PG12_LS 32 GPIO12
34 PH0_LS 33 GPIO13
33 GND 34 Ground
36 PC15_LS 35 GPIO19 (PCM_FS)
35 PA1_LS 36 GPIO16
38 PC3_LS 37 GPIO26
37 PE7_LS 38 GPIO20 (PCM_DIN)
40 GND 34 Ground
39 PD7_LS 40 GPIO21 (PCM_DOUT)

Camera Connector

Camera Connector Signal Cross-Reference

MotoMods HAT Adaptor Camera Connector Raspberry Pi Camera Connector
Pin # Signal Pin # rPi Equivalent function
15 GND 1 Ground
14 C_CSI1_D0N 2 CAM1_DN0
13 C_CSI1_D0P 3 CAM1_DP0
12 GND 4 Ground
11 C_CSI1_D1N 5 CAM1_DN1
10 C_CSI1_D1P 6 CAM1_DP1
9 GND 7 Ground
8 C_CSI1_CN 8 CAM1_CN
7 C_CSI1_CP 9 CAM1_CP
6 GND 10 Ground
5 PC9_3P3 11 CAM_GPIO0
4 PA9_3P3 12 CAM_GPIO1
3 PC0_LS (reserved for I2C) 13 SCL0
2 PC1_LS (reserved for I2C) 14 SDA0
1 3P3 15 3V3

Display Connector

Display Connector Signal Cross-Reference

MotoMods HAT Adaptor Display Connector Raspberry Pi Display Connector
Pin # Signal Pin # rPi Equivalent function
15 GND 1 Ground
14 C_DSI1_D1N 2 DSI1_DN1
13 C_DSI1_D1P 3 DSI1_DP1
12 GND 4 Ground
11 C_DSI1_CN 5 DSI1_CN
10 C_DSI1_CP 6 DSI1_CP
9 GND 7 Ground
8 C_DSI1_D0N 8 DSI1_DN0
7 C_DSI1_D0P 9 DSI1_DP0
6 GND 10 Ground
5 PC0_LS (reserved for I2C) 11 SCL0
4 PC1_LS (reserved for I2C) 12 SDA0
3 GND 13 Ground
2 3P3 14 3V3
1 3P3 15 3V3

Configurable Logic Levels

The Raspberry Pi HAT Adapter Board contains level shifters to handle logic voltage levels at the 40-pin header. The DIP switch allows you to configure the level shifters for either a 1.8-volt or 3.3-volt interface at the 40-pin header. The MuC in the Reference Moto Mod uses 1.8-volt logic. Therefore, when using an existing Pi HAT set DIP switch to shift voltage levels to/from the Pi standard 3.3 volts.

NOTE: DIP switch settings have no effect on voltages at the display or camera connectors.


Mechanical Details

Inserting and Removing Raspberry Pi HAT Adapter Board

The physical dimensions and location of the 40-pin header on the Raspberry Pi HAT Adapter Board match the Raspberry Pi 2 Model B.

NOTE: You must insert and remove the Raspberry Pi HAT Adapter Board by performing the following steps, in order to prevent damage from occurring.

Inserting Raspberry Pi HAT Adapter Board Into Reference Moto Mod

  • Step 1: Toe-in top edge of board under housing tabs.
  • Step 2: Press board down to seat the 80 pin connector.

Removing Raspberry Pi HAT Adapter Board from Reference Moto Mod

  • Step 1: Grip sides of board within two finger scoops.
  • Step 2: Pull up to unseat the 80 pin connector.

Securing a Pi HAT to the Raspberry Pi HAT Adapter Board

Mounting hardware can be used to physically secure a Pi HAT to the Raspberry Pi HAT Adapter Board. However, fasteners used to secure the Pi HAT to the Raspberry Pi HAT Adapter Board must be 2mm tall or less. Fasteners over 2mm tall will interfere with the Reference Moto Mod during assembly, and may cause damage.

This diagram shows where the mounting hardware is placed within the Raspberry Pi HAT Adapter Board: