LinkSprite pcDuino3 Nano

From linux-sunxi.org
Jump to navigation Jump to search
LinkSprite pcDuino3 Nano
Linksprite pcduino3 nano general2.JPG
Manufacturer LinkSprite
Dimensions 96mm x 64mm x 20mm
Release Date September 2014
Website Device Product Page
Specifications
SoC A20 @ 1Ghz
DRAM 1GiB DDR3 @ 408MHz (K4B4G1646Q-HYK0)
NAND 4GB MLC NAND (H27UBG8T2BTR-BC)
Power DC 5V @ 2A (micro-usb)
Features
Video HDMI (Type A - full)
Audio 3.5mm headphone plug, HDMI
Network 10/100/1000Mbps Ethernet (Realtek RTL8211E)
Storage µSD, SATA
USB 2 USB2.0 Host, 1 microUSB2.0 OTG
Other IR
Headers UART, MIPI (camera), Arduino-compatible headers

The LinkSprite pcDuino v3 Nano is an A20 development board with Arduino-compatible headers.

Identification

A white, credit-card-sized PCB with an A20 chip. "PCDUINO_NANO" is marked on the board to the right of the A20.

Sunxi support

Current status

Fully supported by the upstream U-Boot and kernel, and the legacy kernel; it's not supported by the legacy U-Boot.

Manual build

You can build things for yourself by following our Manual build howto and by choosing from the configurations available below.

U-Boot

Sunxi/Legacy U-Boot

Not supported.

Upstream/Mainline U-Boot

Use the Linksprite_pcDuino3_Nano build target.

Linux Kernel

Sunxi/Legacy Kernel

Use the linksprite_pcduino3_nano.fex file.

Upstream/Mainline kernel

Use the sun7i-a20-pcduino3-nano.dtb device-tree binary.

Tips, Tricks, Caveats

SATA power connector

The pcDuino3 Nano's SATA power connector uses a JST XH 2.5mm header, and is compatible with the Cubieboard. It's not compatible with the Banana Pi/Pro/M1+ and Orange Pi, where 5V and GND are inverted.

FEL mode

The "UBOOT" button triggers FEL mode.

Expansion Ports

The pcDuino3 Nano provides Arduino-style 0.1" connectors.

An Arduino breadboard shield that interferes with the USB0 connector

Not all Arduino shields will be compatible with this board, for several reasons:

  • The GPIOs operate at 3.3V rather than 5V.
  • The analogue input pins on a real Arduino can also be configured as GPIOs; here they can only be inputs.
  • The larger-than-standard PCB size and the position of the UART0 connector means some shields won't physically fit.
J9
1x8 Header
1 NC
2 3V3_SYS
3 RESET#
4 3V3_SYS
5 DC_5V
6 GND
7 GND
8 DC_5V
J12
1x6 Header
1 LRADC0
2 LRADC1
3 XP_TP
4 XN_TP
5 YP_TP
6 YN_TP
J8
1x10 Header
1 PH10 (LCD1_D10/ERXD1/KP_IN2/MS_D2/EINT10/CSI1_D10)
2 PH05 (LCD1_D05/UART4_RX/EINT5/CSI1_D5)
3 PI10 (SPI0_CS0/UART5_TX)
4 PI12 (SPI0_MOSI/UART6_TX/CLK_OUT_A)
5 PI13 (SPI0_MISO/UART6_RX/CLK_OUT_B)
6 PI11 (SPI0_CLK/UART5_RX)
7 GND
8 0.1uF capacitor to GND
9 PB21 (TWI2_SDA)
10 PB20 (TWI2_SCK)
J11
1x8 Header
1 PI19 (SPI1_MISO/UART2_RX)
2 PI18 (SPI1_MOSI/UART2_TX)
3 PH07 (LCD1_D07/UART5_RX/MS_CLK/EINT7/CSI1_D7)
4 PH06 (LCD1_D06/UART5_TX/MS_BS/EINT6/CSI1_D6)
5 PH08 (LCD1_D08/ERXD3/KP_IN0/MS_D1/EINT8/CSI1_D9)
6 PB02 (PWM0)
9 PI03 (PWM1/TWI4_SDA)
10 PH09 (LCD1_D09/ERXD2/KP_IN1/MS_D0/EINT9/CSI1_D8)

Adding a serial port

UART header with a Prolific PL2303 USB serial cable attached

Locating the UARTs

The pcDuino3 Nano provides access to four (and a half) of the A20's UARTs. See the UART howto for more details.

The 3-pin header labelled "UART" sticking out from the side of the board is the A20's UART0. Pin 1 (with a square pad, closest to the IR receiver) is RX, pin 2 is ground, pin 3 is TX.

UART2, UART5 and UART6 (RX/TX), as well as UART4 (RX only) are available on the Arduino connectors. UART2 is in the standard place for an Arduino UART.

Note that the labelling in LinkSprite's diagram is a bit confusing -- UART2 is described from the A20's point of view but UART0 from the serial cable's point of view, i.e. RX and TX are reversed for UART0.

Pictures

Variants

The pcDuino3 Nano Lite is a version with no flash memory (NAND) and without IR receiver.

Also known as

This device has not been rebadged.

See also

Manufacturer images

The Ubuntu 14 image that LinkSprite provides uses a modified linux-sunxi 3.4 kernel. Their patches and build scripts are available on GitHub.

The most important modification is in the GMAC driver, to set the GMAC_TX_DELAY parameter to 3. This adjusts the relative timing of the clock and data signals to the PHY in order to compensate for differing trace lengths on the PCB (details; the Banana Pi has the same problem). Without this modification, the Ethernet port will work at 100Mbit but not at 1000Mbit. Upstream U-Boot now sets this parameter itself, so the kernel patch isn't needed any more (patch).

In the meantime Armbian also supports the pcDuino3 Nano with Debian Wheezy, Jessie or Ubuntu Trusty and with both kernel 3.4.x and 4.1.x (including SoC temp fixes).