Flashing a NanoPc T3 with DietPi

The NanoPc T3 is a 64 bit octa core single board computer, quite similar to the famous Raspberry Pi boards. It is also often referred to as NanoPi T3 as well.

Hardware Specification

The single board computer has eight cores with up to 1.4GhZ and 1 GB of DDR3 RAM. It has a lot of nice interfaces, the specification below is taken from here.

Overview

The device offers quite a lot considering its small measurements. The picture below is an overview picture taken from here.

The device with the heat sink and attached cables is shown below.

Comparison with the Raspberry Pi Model 3B

It costs about twice as much as the Raspberry Pi 3, but comes with eight cores at 1.4GHz instead of four cores with 1.2GHz, GBit Ethernet instead of just 100 MBit and several additional interfaces. It has a dedicated power switch, supports soft poweroff and provides reset and boot buttons. It comes with an SD card slot instead of micro SD, has only two standard USB ports but also one micro USB port. This port however is not for powering the device, but only for data.

Some remarks at First

The board can get quite warm, so I would recommend buying the heat sins that fit directly on the board as well. The wifi signal is also rather weak, I would recommend investing in the external antenna if the device is in an area with low signal reception. Also it requires an external 5V power source and does not provide a micro USB port for power like similar boards use.

Buying and Additional Information

The board can be obtained for 60$ from here and there also exists a wiki page dedicated to the T3. The images are stored at a One-Click share hoster and the download is very slow. Also the files are not that well organized and can be easily confused with other platforms offered by the same company.

  • Nano PC T3 ($60)
  • Heat sink ($1.99)
  • Power supply ($20)
  • SD card (~ $10)

Additionally there is shipping ($20 to Europe) and also very likely some toll to pay.

Initial Setup

The NanoPi T3 has an internal eMMC storage with 8GB capacity. It comes pre-installed with Android, which is not really useful for my applications. Instead, there exist different ISO images wich can be obtained here. The wiki page documents how to create bootable SD cards with Windows and Linux and there are also scripts offered, which automate the process. Unfortunately, the scripts are not documented well and some of the links are already broken, which reduces the usability of the provided information. Also as the images should be downloaded from some Sharehoster, there is no way of verifying, what kind of image you actually obtained. This is a security risk and not applicable in many scenarios. Fortunately, there also exist alternative images which are more transparent to use.

By default, the device boots from the eMMC flash storage. By pressing the boot button in the lower right corner, we can also boot from the SD card. This is a nice feature, but if you want to reboot the system unattended, then we need to replace the default operating system. In the course of this article, we are going to write an alternative Debian image to the flash memory and boot this OS automatically.

DietPi

DietPi is a Debian based distribution, which claims to be an optimized and lightweight alternative for single board PCs. The number of supported devices is impressive and luckily, also the NanoPC T3 is in the list. It also comes with a list of nice features for the configuration and the backup of the system. DietPi can be dowloaded here and the documentation is available here.

The following steps are requried:

  1. Download the DietPi Image
  2. Write the image to the SD card
  3. Mount the SD card on your desktop and copy the DietPi image to the card
  4. Boot the NanoPC T3 from the card
  5. Flash the DietPi image to the eMMC
  6. Reboot
  7. Configure

Creating a Bootable SD Card

The fist step involves creating a bootable SD card by writing the DietPi image with dd to the card. To do so, download the DietPi image to your local Desktop and then write the file with dd. The process does not differ from other single board machines and is described here. The next step might seem a bit odd. After you finished writing the SD card, mount it on your local Dekstop and copy the DietPi image to the tmp directory of the SD card.The reason we do this is that we need to have a running Linux system so that we can flash the integrated eMMC of the T3. We then use the DietPi Linux zu actually flash the eMMC of the T3 also with the DietPi image. By copying the image we save some time for downloading and we have the image right available in the next step.

Boot the SD Card

Make sure the T3 is powered off and insert the SD card into the board. Hold and keep pressed the boot button and flip the power switch. The T3 then should boot into the DietPi system. It is easier if you attach a monitor and a keyboard to the system for the further configuration. Alternatively, you can also configure the networking settings in advance, by mounting the SD card at the Desktop and edit the configuration files there, but as we simply use this system for installing the actual operating system, this might be a bit too much effort. Press CRTL+ALT+F2 to switch to a new TTY and login. The standard login for the DietPi system is with the user root and password dietpi.

First, create a backup of the original eMMC content, just in case anything does wrong. Use fdisk, to see the available drives.

In the example above you can see my 16GB SD card at /dev/mmcblk0 and the internal eMMC at /dev/mmcblk1. Use dd to create a backup of the whole eMMC like this:

We now have a backup of the original content at the SD card and can proceed with the actual flashing.

Flashing the DietPi Image to the eMMC

In this step, we flash the DietPi image we copied to the SD card before to the eMMC and overwrite its default Android system. To to so, we use again dd:

This may take a while, be patient. After the image has been written, poweroff the T3 and remove the SD card. Now hold again the boot button and flip the power switch again. This causes the T3 to initialize the new DietPi installation, this time from the internal flash memory. After this step, the system automatically boots from the eMMC flash the next time, without having to press the button.

As a result, we now only utilise the internal flash memory for running the OS, which is not only faster than the SD card, but also allows using the SD card as additional storage. The tool fdisk now shows the eMMC with its two partitions from DietPi:

 

Configuration

The DietPi comes with a few nice setup tools, which make the installation process rather easy. After logging in, the DietPi will guide you through the installation, but it expects a working Internet connection. You can add the SSID, pre-shared key and additional information in the file /DietPi/dietpi.txt. The following steps are basic and the setup needs to be completed, otherwise you will be bugged with the same menu after every reboot:

  1. The first step is to configure wireless networking. Add your network information to the file mentioned above and reboot. Todo so, you need to abort the setup process, because following the menu did not work for me, as the menu allows only to setup a hotspot instead of connecting to an existing network.
  2. When you login next time, you will be greeted by the dietpi-software dialogue. You can install basic software components such as editors, build essentials etc
  3. The system will now reboot and you are ready go go
  4. Login again and change the root password with passwd and add a new user with adduser $USER and add this user to the sudo group with adduser $USER sudo

You can re-open the configuration menus later by using dietpi-config for the basic setup and dietpi-software for adding new software. Of course for the latter you can always use apt.

Conclusions

The NanoPC T3 is an affordable single board computer with eight cores and 1GB of DDR3 RAM, integrated wireless and bluetooth interfaces, camera interfaces and many other features more. Its mall size renders it an ideal candidate for hardware and software projects based on Linux. The documentation could be improved, especially the transparency of the images and the details of the installation procedure. Also more RAM (as always) would be nice.

14 thoughts on “Flashing a NanoPc T3 with DietPi

  1. Hello,
    Where did you download your DietPi.img?
    Why I downloaded the SD card is written, not EMMC

  2. I also downloaded from http://dietpi.com. (DietPi_v145_NanoPiM3T3-armv7-(Jessie).img)
    I put this image write SD card, and then start from the SD, and DietPi_v145_NanoPiM3T3-armv7-(Jessie).img write EMMC, but can not boot start,Only a few colored bars are displayed on the screen。。。。
    Really do not understand。

  3. Start from the SD card is possible, you can log in.
    But this image can not be written into emmc start, the firmware can support sd card and emmc?

  4. Hello, I and you download is the same image, my steps looks something like this:
    1, the mirror to SD card.
    2, put the SD card is mounted to the laptop.
    3, the mirror copy to sd card, but there is insufficient space on the tip.
    3, insert the SD card boot after NanoPi – T3.
    4, the mirror copy to another U disk, and then to mount NanoPi – T3.
    5, and then use the “dd if=/mnt/dietpi.img of=/dev/mmcblk1 bs = 512” command in EMMC.
    6, closing NanoPi – T3, unplug the SD card and U disk, and then boot, but still can’t boot up.
    This is my steps, as well as basic as you describe, the only difference is the mirror is too big, mounted on the computer can’t copy to SD card.

  5. From the SD card to start the first time, I pressed the start button, hardware second start, after I take out SD card directly electricity boot

  6. Can you make the Chinese language, I give you of message is Google translation of English, there may be some mistakes, don’t know whether I can understand.

  7. Hello, now I can start the EMMC DietPi inside, but had to be plugged into the SD card, to activate the DietPi EMMC, otherwise cannot be started.
    1, in the case of with SD card hold down the “boot” button, start is the DietPi inside the SD card.
    2, in the case of with SD card, direct boot, boot is EMMC DietPi inside.
    3, do not insert SD card boot, so don’t start, including the inside of the EMMC doesn’t start.

Leave a Reply

Your email address will not be published. Required fields are marked *