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

В этой статье разберём назначение каждого контакта, различия между физической и логической нумерацией, способы проверки распиновки программно и правила безопасного подключения нагрузки. Материал ориентирован на тех, кто собирает проекты на Orange Pi 3 LTS под Linux (Debian/Ubuntu-сборки от Orange Pi или Armbian).

Общая структура 40-пинового разъёма

Разъём расширения Orange Pi 3 LTS — это двухрядная гребёнка 2×20 контактов с шагом 2,54 мм. Расположение пинов стандартное для всей линейки Orange Pi с 40-контактными разъёмами: первый пин находится у края платы со стороны, противоположной разъёмам USB, и обычно помечен шелкографией или квадратной площадкой на обратной стороне.

Контакты делятся на несколько функциональных групп. Часть пинов отвечает за питание, часть — за землю, остальные — программируемые линии GPIO, которые можно переконфигурировать под интерфейсы I2C, SPI, UART, PWM и I2S. Важно понимать: один и тот же физический контакт может выполнять разные функции в зависимости от настроек в device tree операционной системы.

  • 🔌 Пины питания: 5 В (пины 2 и 4) и 3,3 В (пины 1 и 17) — для питания внешних модулей.
  • ⏚ Земля (GND): пины 6, 9, 14, 20, 25, 30, 34, 39 — общий провод для всех цепей.
  • 📡 Сигнальные GPIO: остальные контакты, работающие с логическими уровнями 3,3 В.
  • 🔧 Мультиплексные функции: I2C, SPI, UART, PWM — назначаются через конфигурацию системы.

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

Ниже приведена распиновка ключевых контактов разъёма. Полную официальную схему со всеми альтернативными функциями стоит сверять с user manual конкретной ревизии платы, поскольку назначение отдельных GPIO может отличаться в зависимости от версии образа системы.

Физический пинФункция по умолчаниюАльтернативная функция
13,3 В (питание)—
2 / 45 В (питание)—
3GPIO (TWI/I2C SDA)I2C данные
5GPIO (TWI/I2C SCL)I2C тактирование
7GPIOобщего назначения
8 / 10UART TX / RXотладочная консоль или GPIO
19 / 21 / 23SPI MOSI / MISO / CLKGPIO

Обратите внимание: все сигнальные линии Orange Pi 3 LTS работают с уровнями 3,3 В и не толерантны к 5 В. Подача пятивольтового логического сигнала на вход GPIO — одна из самых частых причин выхода платы из строя при работе с Arduino-совместимыми модулями.

⚠️ Внимание: перед подключением любого модуля убедитесь, что его сигнальные выходы выдают не более 3,3 В. Для 5-вольтовой периферии используйте двунаправленный преобразователь логических уровней (logic level shifter).

Физическая и логическая нумерация пинов

Главная путаница при работе с распиновкой возникает из-за трёх разных систем нумерации. Физическая нумерация (BOARD) — это просто порядковый номер контакта на гребёнке от 1 до 40. Нумерация BCM пришла из мира Raspberry Pi и на Orange Pi работает лишь частично, в рамках совместимости библиотек. Системная нумерация — это номера линий GPIO, которые видит ядро Linux через подсистему gpiochip.

Для Allwinner H6 номер GPIO в системе вычисляется по формуле, привязанной к банкам портов (PA, PB, PC и так далее): номер равен смещению банка плюс позиция пина внутри банка. Например, линия PC7 и PL10 будут иметь совершенно разные системные номера, хотя физически могут находиться рядом. Точное соответствие для вашей прошивки проще всего получить командой, описанной в следующем разделе.

📊 Как вы чаще всего используете GPIO на Orange Pi 3 LTS?