FriendlyARM NanoPi M1

From linux-sunxi.org
Jump to: navigation, search
FriendlyARM NanoPi M1
NanoPi M1 3.jpg
Manufacturer FriendlyARM
Dimensions 64mm x 56mm
Release Date March 2016
Website NanoPi M1 Product Page
Specifications
SoC H3 @ 1.2Ghz
DRAM 512MiB (K4B2G1646D-BCK0) or 1GiB (K4B4G1646D-BCK0) DDR3
Power DC 5V @ 2A via microUSB or pin headers
Features
Audio microphone, stereo line-out, I²S and S/PDIF on pin headers
Network 10/100Mbps Ethernet (H3 built-in PHY)
Storage µSD
USB 3 USB2.0 Host, 1 USB2.0 OTG

This page needs to be properly filled according to the New Device Howto and the New Device Page guide.

Contents

Identification

Almost square board, blue soldermask, ⌀3mm mounting holes in the corners. 3 x USB type-A, Ethernet jack (with integrated magnetics) and four-pin header for UART/power near one of the edges. Sticker indicating amount of RAM is placed on the lower PCB side.

On the top side of the board, next to H3 SoC, the following is silkscreened:

FRIENDLYARM
NanoPi-M1

(on LinkSprite's OEM variant 'pcDuino4 nano' can be read instead)


Sunxi support

Current status

The H3 and NanoPi M1 support is progressing nicely. It is possible to find a usable mainline 4.x kernel (plus some patches) and a legacy 3.4 kernel in various work-in-progress git branches. See the Manual build section for more details.

NanoPi M1 shares nearly all hardware details with Orange Pi PC (same number of USB ports) and Orange Pi One (same voltage regulator). Besides the differences regarding camera connector and pins available on the GPIO header pretty similar to Orange Pi PC. Detailed device information can be found on FriendlyArm wiki.

Images

FriendlyARM's and 3rd partie's OS images can be found here. Armbian images with more recent u-boot and kernel versions can be found here.

BSP

FriendlyARM provides a BSP based on a newer Allwinner 3.4.39 variant on Github.

Manual build

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

U-Boot

Mainline U-Boot

Use the orangepi_pc build target (supported since v2016.01) unless nanopi_m1 target is available build target.

The H3 boards can boot from SD, NAND or NOR flash (if available), and via FEL using the OTG USB port. In U-Boot, loading the kernel is also supported from USB or ethernet (netboot). HDMI support in U-Boot is still WIP.

Linux Kernel

Sunxi/Legacy Kernel

The 3.4 kernel from the official Allwinner's git repository does not support H3 yet. But it is possible to use one of the kernel forks, based on the lichee H3 SDK tarball:

Configure this kernel using sun8i_h3_defconfig, the rest is explained in the kernel compilation guide.

Use the .fex file for generating script.bin. The .fex file is available from xunlong_orange_pi_pc.fex.

When booting the legacy 3.4 kernel with the mainline U-Boot, add the following line to boot.cmd:

  setenv machid 1029
  setenv bootm_boot_mode sec

Some other legacy kernel repositories:

Mainline kernel

The H3 SoC has decent support in mainline kernels. For cpufreq, thermal, ethernet, and HDMI, a) third party patches or b) a pre-patched distro (e.g. Armbian) is needed. The ethernet support was planned for kernel 4.13 but it was eventually reverted due to DT stability issues (will be fixed later), although the ethernet port is already accessible with U-Boot.

The development process, links to patches and links to kernel fork repositories are listed on the Linux mainlining effort page. Patches can also be found from the arm-linux mailing list.

Repositories with H3 patches (some already outdated):


Use the sun8i-h3-nanopi-m1.dtb device-tree binary.

Tips, Tricks, Caveats

FEL mode

No FEL button. The device falls into FEL mode when no SD card is inserted.

LEDs

The board has two LEDs, mounted on the top side next to the audio jack:

  • A red LED, labelled "PWR", connected to the PL10 pin and to 3.3V via weak pull-up, thus being able to represent three states:
    • full brightness when GPIO is set to output high
    • reduced brightness when GPIO is set to high impedance state
    • turned off when GPIO is set to output low.
  • A blue LED, labelled "STAT", connected to the PA10 pin.

Voltage regulators / heat

NanoPi M1 uses the same voltage regulator as Orange Pi One/Lite switching between 1.1V and 1.3V (SY8113B datasheet). Unlike the Xunlong boards which contain a thick copper layer inside the PCB to spread heat away from the SoC FriendlyARM chose a different design. This and maybe the smaller PCB size lead to higher temperatures compared to Orange Pis and in case you want to operate the M1 under constant high load think about adding a heatsink

Locating the UART

NanoPi NEO UART pins

Four-pin UART0 header is placed next to 40 pin GPIO header. Pinout: GND, 5V, TX, RX. Pin 1 (GND) is the one next to Micro USB connector. Logic voltage is 3.3V. For more instructions refer to our UART Howto.

Pictures

Variants

  • FriendlyARM did the pcDuino4 nano as OEM for Linksprite which will be sold starting in September 2016. According to cnxsoft both models are compatible.

See also

Manufacturer images

Personal tools
Namespaces

Variants
Actions
Navigation
Tools