Stufin
Home Quick Cart Profile

Raspberry Pi Compute Module 3

Buy Now on Stufin

Operating voltage

3.3V to 5V

Power consumption

approximately 1.5W (idle) to 3.5W (max)

Temperature range

0C to 50C (operating), -20C to 70C (storage)

### Mechanical and Environmental

Dimensions

67.6mm x 31.1mm x 3.0mm (2.66" x 1.22" x 0.12")

Weight

approximately 10g (0.35oz)

Operating humidity

20% to 80% non-condensing

### Certifications and Compliance

CE, FCC, and TELEC certified

RoHS and WEEE compliant

### Software and Development

Supported operating systems

Raspbian, Linux, Windows 10 IoT Enterprise

Compatible with Raspberry Pi software and development tools, including Python, Java, and C/C++

Access to Raspberry Pi community and resources

Applications

The Raspberry Pi Compute Module 3 is suitable for a wide range of applications, including

IoT devices and gateways

Industrial automation and control systems

Robotics and autonomous systems

Medical devices and equipment

Audio and video applications

Digital signage and displays

Security and surveillance systems

Conclusion

The Raspberry Pi Compute Module 3 offers a unique combination of performance, flexibility, and cost-effectiveness, making it an ideal solution for designers and developers of IoT and industrial systems. With its compact form factor, extensive interfaces, and ease of development, the CM3 enables rapid prototyping and integration into custom devices and systems.

Pin Configuration

  • Raspberry Pi Compute Module 3 Pinout Documentation
  • The Raspberry Pi Compute Module 3 (CM3) is a System-on-Module (SoM) designed for industrial and commercial applications. It is a compact, high-performance module that provides a quad-core CPU, 1GB/4GB/8GB of RAM, and 4GB/8GB/16GB of eMMC storage. The module has a total of 200 pins, divided into two 100-pin connectors (J1 and J2). Here is a detailed explanation of each pin, organized by function:
  • J1 Connector ( Pins 1-100)
  • Power and Ground
  • 1. Pin 1: 3.3V Power (3V3)
  • 2. Pin 2: Ground (GND)
  • 3. Pin 3: 3.3V Power (3V3)
  • 4. Pin 4: Ground (GND)
  • 5. Pin 5: 1.8V Power (1V8)
  • 6. Pin 6: Ground (GND)
  • 7. Pin 7: 1.2V Power (1V2)
  • 8. Pin 8: Ground (GND)
  • UART and Serial Console
  • 9. Pin 9: UART_TXD0 (Transmit Data)
  • 10. Pin 10: UART_RXD0 (Receive Data)
  • 11. Pin 11: UART_CTS0 (Clear to Send)
  • 12. Pin 12: UART_RTS0 (Request to Send)
  • 13. Pin 13: UART_TXD1 (Transmit Data)
  • 14. Pin 14: UART_RXD1 (Receive Data)
  • GPIO (General Purpose Input/Output)
  • 15. Pin 15: GPIO5 (Input/Output)
  • 16. Pin 16: GPIO6 (Input/Output)
  • 17. Pin 17: GPIO13 (Input/Output)
  • 18. Pin 18: GPIO19 (Input/Output)
  • 19. Pin 19: GPIO26 (Input/Output)
  • 20. Pin 20: GPIO20 (Input/Output)
  • 21. Pin 21: GPIO21 (Input/Output)
  • 22. Pin 22: GPIO17 (Input/Output)
  • 23. Pin 23: GPIO22 (Input/Output)
  • 24. Pin 24: GPIO23 (Input/Output)
  • 25. Pin 25: GPIO24 (Input/Output)
  • 26. Pin 26: GPIO25 (Input/Output)
  • 27. Pin 27: GPIO12 (Input/Output)
  • 28. Pin 28: GPIO16 (Input/Output)
  • 29. Pin 29: GPIO18 (Input/Output)
  • 30. Pin 30: GPIO19 (Input/Output)
  • I2C (Inter-Integrated Circuit) Bus
  • 31. Pin 31: I2C_SDA (Serial Data)
  • 32. Pin 32: I2C_SCL (Serial Clock)
  • 33. Pin 33: I2C_SDA (Serial Data)
  • 34. Pin 34: I2C_SCL (Serial Clock)
  • SPI (Serial Peripheral Interface) Bus
  • 35. Pin 35: SPI0_MOSI (Master Out Slave In)
  • 36. Pin 36: SPI0_MISO (Master In Slave Out)
  • 37. Pin 37: SPI0_CLK (Clock)
  • 38. Pin 38: SPI0_CS0 (Chip Select 0)
  • 39. Pin 39: SPI0_CS1 (Chip Select 1)
  • USB and Boot Mode
  • 40. Pin 40: USB_DM (Data Minus)
  • 41. Pin 41: USB_DP (Data Plus)
  • 42. Pin 42: USB_ID (Identification)
  • 43. Pin 43: BOOT_SEL (Boot Mode Select)
  • JTAG (Joint Test Action Group) Interface
  • 44. Pin 44: JTAG_TDI (Test Data In)
  • 45. Pin 45: JTAG_TDO (Test Data Out)
  • 46. Pin 46: JTAG_TMS (Test Mode Select)
  • 47. Pin 47: JTAG_TCK (Test Clock)
  • HDMI and Display
  • 48. Pin 48: HDMI_HPDET (Hot Plug Detect)
  • 49. Pin 49: HDMI_CEC (Consumer Electronics Control)
  • 50. Pin 50: HDMI_SDA (I2C Serial Data)
  • 51. Pin 51: HDMI_SCL (I2C Serial Clock)
  • 52. Pin 52: DSI_LANE0 (Display Serial Interface Lane 0)
  • 53. Pin 53: DSI_LANE1 (Display Serial Interface Lane 1)
  • 54. Pin 54: DSI_LANE2 (Display Serial Interface Lane 2)
  • 55. Pin 55: DSI_LANE3 (Display Serial Interface Lane 3)
  • Audio and I2S
  • 56. Pin 56: AUD_CLK (Audio Clock)
  • 57. Pin 57: AUD_FRM (Audio Frame)
  • 58. Pin 58: AUD_DAC (Audio Digital-to-Analog Converter)
  • 59. Pin 59: AUD_BCLK (Audio Bit Clock)
  • SD/MMC Interface
  • 60. Pin 60: SD_CLK (Clock)
  • 61. Pin 61: SD_CMD (Command)
  • 62. Pin 62: SD_DAT0 (Data 0)
  • 63. Pin 63: SD_DAT1 (Data 1)
  • 64. Pin 64: SD_DAT2 (Data 2)
  • 65. Pin 65: SD_DAT3 (Data 3)
  • Camera Interface
  • 66. Pin 66: CAM_PCLK (Pixel Clock)
  • 67. Pin 67: CAM_XCLK (XCLK Clock)
  • 68. Pin 68: CAM_VSYNC (Vertical Sync)
  • 69. Pin 69: CAM_HSYNC (Horizontal Sync)
  • 70. Pin 70: CAM_D0 (Data 0)
  • 71. Pin 71: CAM_D1 (Data 1)
  • 72. Pin 72: CAM_D2 (Data 2)
  • 73. Pin 73: CAM_D3 (Data 3)
  • J2 Connector (Pins 101-200)
  • DDR RAM Interface
  • 101. Pin 101: DDR_DQ0 (Data 0)
  • 102. Pin 102: DDR_DQ1 (Data 1)
  • 103. Pin 103: DDR_DQ2 (Data 2)
  • 104. Pin 104: DDR_DQ3 (Data 3)
  • 105. Pin 105: DDR_DQ4 (Data 4)
  • 106. Pin 106: DDR_DQ5 (Data 5)
  • 107. Pin 107: DDR_DQ6 (Data 6)
  • 108. Pin 108: DDR_DQ7 (Data 7)
  • eMMC Interface
  • 109. Pin 109: eMMC_CLK (Clock)
  • 110. Pin 110: eMMC_CMD (Command)
  • 111. Pin 111: eMMC_DAT0 (Data 0)
  • 112. Pin 112: eMMC_DAT1 (Data 1)
  • 113. Pin 113: eMMC_DAT2 (Data 2)
  • 114. Pin 114: eMMC_DAT3 (Data 3)
  • GPIO (General Purpose Input/Output)
  • 115. Pin 115: GPIO0 (Input/Output)
  • 116. Pin 116: GPIO1 (Input/Output)
  • 117. Pin 117: GPIO2 (Input/Output)
  • 118. Pin 118: GPIO3 (Input/Output)
  • 119. Pin 119: GPIO4 (Input/Output)
  • 120. Pin 120: GPIO7 (Input/Output)
  • 121. Pin 121: GPIO8 (Input/Output)
  • 122. Pin 122: GPIO9 (Input/Output)
  • 123. Pin 123: GPIO10 (Input/Output)
  • 124. Pin 124: GPIO11 (Input/Output)
  • Other Pins
  • 125. Pin 125: RESET (Reset)
  • 126. Pin 126: WAKE (Wake-up)
  • 127. Pin 127: PWROK (Power OK)
  • 128. Pin 128: VBAT (Battery Voltage)
  • Unused Pins
  • 129-200: These pins are not connected and should not be used.
  • Connecting the Pins
  • When connecting the pins, make sure to follow these guidelines:
  • Use a suitable connector, such as a 100-pin or 200-pin SMT (Surface Mount Technology) connector, to connect the Raspberry Pi Compute Module 3 to a carrier board or custom PCB.
  • Ensure that the pins are correctly aligned and securely connected to prevent damage or electrical shorts.
  • Use a voltage regulator to regulate the power supply to the module, as it requires a stable 3.3V, 1.8V, and 1.2V power supply.
  • Follow proper PCB design and layout guidelines to ensure reliable signal integrity and reduce electromagnetic interference (EMI).
  • Consult the Raspberry Pi Compute Module 3 datasheet and documentation for more information on pin functions, electrical characteristics, and usage guidelines.
  • Remember to handle the module with care, as it is a sensitive electronic component. Static electricity, physical damage, or incorrect connections can damage the module or affect its performance.

Code Examples

Raspberry Pi Compute Module 3 Documentation
Overview
The Raspberry Pi Compute Module 3 is a system-on-module (SoM) designed to provide a compact, cost-effective, and highly capable platform for IoT and industrial applications. It is based on the Raspberry Pi 3 Model B, but without the USB ports, Ethernet port, and HDMI port, making it ideal for embedding into custom designs.
Technical Specifications
Broadcom BCM2837 quad-core Cortex-A53 CPU
 1GB or 4GB LPDDR2 SDRAM
 Wireless connectivity: 802.11b/g/n wireless LAN and Bluetooth 4.1
 4GB eMMC flash storage
 200-pin edge connector for connecting to a custom baseboard
 Operating system: Raspberry Pi OS (based on Linux)
Example 1: Getting Started with Python
In this example, we will demonstrate how to use the Raspberry Pi Compute Module 3 with Python to read and write data to a GPIO pin.
Hardware Requirements
Raspberry Pi Compute Module 3
 Custom baseboard with GPIO headers
 Breadboard and jumper wires
 LED and resistor (for output)
 Button or switch (for input)
Software Requirements
Raspberry Pi OS (latest version)
 Python 3.x (pre-installed on Raspberry Pi OS)
Code
```python
import RPi.GPIO as GPIO
# Set up GPIO mode
GPIO.setmode(GPIO.BCM)
# Define GPIO pins
LED_PIN = 17
BUTTON_PIN = 23
# Set up GPIO pins as output and input
GPIO.setup(LED_PIN, GPIO.OUT)
GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
try:
    while True:
        # Read button state
        button_state = GPIO.input(BUTTON_PIN)
        if button_state == False:
            # Toggle LED on button press
            GPIO.output(LED_PIN, GPIO.HIGH)
            print("Button pressed!")
        else:
            GPIO.output(LED_PIN, GPIO.LOW)
            print("Button released!")
except KeyboardInterrupt:
    # Clean up GPIO pins on exit
    GPIO.cleanup()
```
Example 2: Using the Compute Module 3 with Wi-Fi
In this example, we will demonstrate how to use the Raspberry Pi Compute Module 3 to connect to a Wi-Fi network and send data to a remote server using HTTP.
Hardware Requirements
Raspberry Pi Compute Module 3
 Custom baseboard with Wi-Fi antenna
 Wi-Fi router and internet connection
 Remote server with HTTP server (e.g., Apache or Nginx)
Software Requirements
Raspberry Pi OS (latest version)
 Python 3.x (pre-installed on Raspberry Pi OS)
 `requests` library (install using `pip`: `pip3 install requests`)
Code
```python
import requests
# Set up Wi-Fi connection
ssid = "your_wifi_ssid"
password = "your_wifi_password"
# Connect to Wi-Fi network
print("Connecting to Wi-Fi...")
import network
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect(ssid, password)
while not wifi.isconnected():
    pass
print("Connected to Wi-Fi!")
# Send HTTP request to remote server
url = "http://example.com/data"
data = {"sensor1": 23, "sensor2": 42}
response = requests.post(url, json=data)
print("Response:", response.text)
```
These examples demonstrate the versatility and ease of use of the Raspberry Pi Compute Module 3. With its powerful CPU, wireless connectivity, and GPIO capabilities, it is an ideal choice for a wide range of IoT and industrial applications.