Распиновка Orange Pi 3 — первое, что нужно открыть перед подключением любого датчика или модуля к 40-контактному разъёму: ошибка даже на один пин при подаче 5 В на линию данных способна вывести из строя процессор Allwinner H6. Плата использует гребёнку формата 2×20, внешне похожую на разъём Raspberry Pi, однако полной электрической и программной совместимости между ними нет, и об этом стоит помнить при переносе проектов.

Ниже разберём назначение контактов, уровни напряжений, доступные интерфейсы UART, I2C, SPI и PWM, а также типовые ошибки при подключении периферии. Ориентируйтесь на официальную схему от производителя (Orange Pi публикует pinout в руководстве пользователя конкретной ревизии платы), поскольку нумерация в разных версиях образов системы может отличаться.

Общая структура 40-pin разъёма

Разъём GPIO на Orange Pi 3 выполнен в виде двухрядной штыревой гребёнки с шагом 2,54 мм. Контакт 1 находится у края платы — обычно он помечен шелкографией или квадратной площадкой на обратной стороне. Нечётные пины образуют один ряд, чётные — соседний, поэтому перед подключением шлейфа проверьте ориентацию дважды.

Логика платы работает с уровнями 3,3 В. Это значит, что напрямую подключать 5-вольтовые датчики к линиям данных нельзя — потребуется преобразователь логических уровней или делитель напряжения. Контакты питания 5 В на разъёме есть, но они предназначены для запитки внешних модулей, а не для подачи сигналов в GPIO.

  • 🔌 Пины 2 и 4 — питание 5 В для внешних модулей
  • 🔋 Пины 1 и 17 — питание 3,3 В с ограничением по току
  • ⏚ Пины 6, 9, 14, 20, 25, 30, 34, 39 — земля (GND)
  • 📡 Остальные контакты — сигнальные линии GPIO и интерфейсов

Таблица распиновки основных контактов

Ниже приведены ключевые назначения контактов. Полную и актуальную карту для вашей ревизии платы сверяйте с официальным мануалом Orange Pi 3, поскольку часть пинов имеет альтернативные функции и конфигурируется через систему.

Пин №НазначениеПримечание
13,3 ВПитание маломощной периферии
25 ВПитание модулей, общий с входом платы
3I2C SDAЛиния данных шины I2C (по умолчанию — зависит от конфигурации)
5I2C SCLЛиния тактирования шины I2C
6GNDЗемля
8UART TXПередача данных отладочной консоли / UART
10UART RXПриём данных, уровень строго 3,3 В

Обратите внимание: нумерация в таблице — физическая (по положению контакта). В программных библиотеках вроде wiringPi или OPi.GPIO используется собственная логическая нумерация, и она не совпадает с физической. Перед написанием кода уточните, какую схему нумерации использует ваша библиотека.

Интерфейсы: UART, I2C, SPI и PWM

Через разъём доступны основные последовательные интерфейсы, но их активация зависит от настроек системы. В образах на базе Armbian интерфейсы включаются через оверлеи device tree — например, утилитой armbian-config или правкой параметров загрузки.

sudo armbian-config

раздел System → Hardware → включить нужные оверлеи (uart, i2c, spi)

UART обычно используется для отладочной консоли: подключив USB-TTL адаптер с уровнями 3,3 В к пинам 8 и 10, вы получите доступ к загрузочному логу и терминалу. I2C подходит для датчиков температуры, дисплеев и расширителей портов, SPI — для более быстрых устройств вроде экранов и ADC. Линии PWM позволяют управлять яркостью или сервоприводами, но доступность аппаратного PWM зависит от конкретного пина и конфигурации ядра.

💡

Перед подключением I2C-устройства проверьте шину командой i2cdetect (пакет i2c-tools) — так вы убедитесь, что интерфейс активен и устройство отвечает на своём адресе.