Board pinout and EDA patterns

Black Swift board pinout:

If you want to design your own motherboard, you may need something else:

Brief pinout description (full description can be found in the AR9331 datasheet):

USB_DM USB interface (the same as on the microUSB connector)
USB_DP USB interface (the same as on the microUSB connector)
RESET CPU hardware reset
JTAG_TCK JTAG debug interface
RX_P0 1st Ethernet port
RX_N0 1st Ethernet port
TX_P0 1st Ethernet port
TX_N0 1st Ethernet port
RX_P4 2nd Ethernet port (there are 5 ports on the chip, but we are using only two — #0 and #4)
RX_N4 2nd Ethernet port (there are 5 ports on the chip, but we are using only two — #0 and #4)
TX_P4 2nd Ethernet port (there are 5 ports on the chip, but we are using only two — #0 and #4)
TX_N4 2nd Ethernet port (there are 5 ports on the chip, but we are using only two — #0 and #4)
AVDD20 Ethernet power supply (2.0 VDC)
GND Common ground
5.0 V Input voltage: 5 V ±5 % if you need USB or 3.6...6 V if you don't
3.3 V 700 mA output if the board is powered through 5.0 V input or 3.3 V input if you have external 3.3 V source
2.75 V 300 mA output for use with GPIOs
2.5 V On-chip 2.5 V source; not recommended, use 2.75 V instead
GPIO0 Regular GPIO
GPIO1 Regular GPIO
GPIO2/CS0 Regular GPIO and hardware SPI CS0 line
GPIO3/CLK Regular GPIO and hardware SPI CLK line
GPIO4/DO Regular GPIO and hardware SPI DO (MOSI) line
GPIO5/DI Regular GPIO and hardware SPI DI (MISO) line
GPIO6 Regular GPIO
GPIO7 Regular GPIO
GPIO8 Regular GPIO
GPIO9 Regular GPIO, hardware SPI CS1 line, and UART RX
GPIO10 Regular GPIO, hardware SPI CS2 line, and UART TX
GPIO11 OpenWRT settings software reset (active level: low)
Bootloader recovery mode selection (active level: low)Regular GPIO, I2S interface, and UART RTS
GPIO12 Regular GPIO, I2S interface, and UART CTS
GPIO13 Regular GPIO (NB: can not be used as input!)
GPIO14 Regular GPIO (NB: can not be used as input!)
GPIO15 Regular GPIO (NB: can not be used as input!)
GPIO16 Regular GPIO (NB: can not be used as input!)
GPIO17 Regular GPIO (NB: can not be used as input!)
GPIO18 Regular GPIO and I2S interface
GPIO19 Regular GPIO and I2S interface
GPIO20 Regular GPIO and I2S interface
GPIO21 Regular GPIO and I2S interface
GPIO22 Regular GPIO and I2S interface
GPIO23 Regular GPIO and S/PDIF interface
GPIO24 Regular GPIO
GPIO26 Regular GPIO (NB: there's no GPIO25)
GPIO27 Onboard LED (active level: low)Regular GPIO

Multiplexed pins — those with 2 or more functions — must be configured through SoC internal registers. For example, if GPIO9 and GPIO10 are configured as UART interface, they can't be used as regular GPIOs or SPI chip select outputs — you have to disable UART first. Details can be found in the AR9331 datasheet, and we will do our best to provide examples using common programming languages and utilities. Absense of GPIO25 and GPIO13...17 reduced functionality are hardware limitations and can't be overcome. Also please pay special attention when using GPIO11 (software reset and recovery) and GPIO27 (onboard LED).

Besides hardware interfaces, some protocol may be built in software only. For example, you can use hardware SPI on abovementioned pins as well as software SPI on any GPIO pins — although software implementation will be slower and will cause higher CPU usage. Some interfaces, like I2C or 1-wire, can be implemented in software only — 400 MHz MIPS CPU in most cases has more than enough computing power to emulate corresponding protocols.

Although there is no external antenna connector on the board (we use printed antenna on PCB), upon request we can produce boards with such connector.