Edit page

ROCK64 full documentation



The ROCK64

The ROCK64 is a credit-card size 4K60P HDR Media Board Computer powered by Rockchip RK3328 Quad-Core ARM Cortex A53 64-Bit Processor and supports up to 4GB 1866MHz LPDDR3 memory. It provides an eMMC module socket, MicroSD Card slot, Pi-2 Bus, Pi-P5+ Bus, USB 3.0, and many other peripheral interfaces for makers to integrate with sensors and other devices.

It supports many different open source operating systems, such as Android, Debian, and Yocto.


Board features

The ROCK64 and a size comparison

Video

  • Digital Video output up to 4K@60Hz
  • 4K HDR @ 60fps
  • H.264/AVC Base/Main/High/High10 profile @ level 5.1; up to 4Kx2K @ 60fps
  • H.265/HEVC Main/Main10 profile @ level 5.1 High-tier; up to 4Kx2K @ 60fps
  • VP9, up to 4Kx2K @ 60fps
  • MPEG-1, ISO/IEC 11172-2, up to 1080P @ 60fps
  • MPEG-2, ISO/IEC 13818-2, SP@ML, MP@HL, up to 1080P @ 60fps
  • MPEG-4, ISO/IEC 14496-2, SP@L0-3, ASP@L0-5, up to 1080P @ 60fps
  • VC-1, SP@ML, MP@HL, AP@L0-3, up to 1080P @ 60fps
  • MVC is supported based on H.264 or H.265, up to 1080P @ 60fps

Audio

  • 3.5mm A/V Jack (Composite Video Output and RCA Stereo support using conversion cable)

Network

  • 10/100/1000Mbps Ethernet
  • WiFi 802.11 b/g/n with Bluetooth 4.0 (optional USB dongle)

Storage

  • microSD - bootable, supports SDHC and SDXC and storage up to 256GB
  • eMMC - bootable (optional eMMC Module)
  • 128Mbit (16MB) on-board SPI flash memory (empty by default) - bootable? Usually accessible as a Linux MTD device at /dev/mtd0
  • 1 USB3.0 Dedicated Host port
  • 2 USB2.0 Dedicated Host port (top one is USB-OTG)

Position of the two-pin header for disabling the optionally installed eMMC module (highlighted in red)

Position of the two-pin header for disabling the optionally installed eMMC module (highlighted in red)

Optionally installed eMMC module can be disabled by placing a jumper onto the two pins on the separate two-pin header, located near one of the mounting holes and two side-mounted buttons. See the picture in this section, in which this two-pin header is highlighted in red.

Expansion Ports

All GPIO pins, including UART, operate at 3.3V. (See VCCIO5 in the schematics.)

  • 2x20 pins “Pi2” GPIO Header
  • 2x11 pins “Pi P5+” GPIO Header (with 2nd 10/100Mbps Ethernet pins)

Software

OS build Installation Guide and tools:

RequirementGNU/LinuxAndroid/LinuxKodi/Linux
2160p 30Hz 8bit h264/h265/vp8partial? 1yesyes
UI using GPUnoyesyes
Youtubenoyesno
vp9 / mpeg4 / mpeg2 / 10bit HDR / YCbCrnoyes?yes

Releases

This page contains a list of all available releases for the ROCK64, as well as links to other resources.

Linux

AOSC

AOSC OS is a general purpose Linux distribution that strives to simplify user experience and improve free and open source software for day-to-day productivity. To learn more about AOSC, please visit the official AOSC website.

Download:

Default credentials

Default user

aosc/anthon

Armbian

Armbian is a Linux distribution designed for ARM boards. They are usually Debian or Ubuntu flavored.

Download:

ayufan’s Linux releases

The community member ayufan offers multiple ROCK64 Linux releases based on Debian and Ubuntu. The forum thread for release can be found here.

Download:

note

Make sure to download images for the ROCK64.

Default credentials

Default user

rock64/rock64

Debian

Debian is an operating system and a distribution of Free Software.

Download:

Instructions:

  • Go to the download directory

  • Download firmware.rock64-rk3328.img.gz and partition.img.gz

  • Combine the 2 parts into 1 image file: zcat firmware.rock64-rk3328.img.gz partition.img.gz > debian-installer.img

  • Write the created .img file to microSD card or eMMC Module using dd: dd if=debian-installer.img of=/dev/sda bs=4M. Replace /dev/sda with your target drive.

  • Plug the microSD/eMMC card in the Rock64 (and connect a serial console) and boot up to start the Debian Installer

Notes:

  • An Ethernet connection is required for the above installer

  • Remember to leave some space before your first partition for u-boot! You can do this by creating a 32M size unused partition at the start of the device.

  • Auto creating all partitions does not work. You can use the following manual partition scheme:

#1 - 34MB  Unused/Free Space
#2 - 512MB ext2 /boot           (Remember to set the bootable flag)
#3 - xxGB  ext4 /               (This can be as large as you want. You can also create separate partitions for /home /var /tmp)
#4 - 1GB   swap                 (May not be a good idea if using an SD card)

Debian by mrfixit2001

Mrfixit2001’s minimal Debian build. Version 190514 onward support Rock64-v3 board

Download:

Default credentials

Default user

rock/rock

DietPi

DietPi is a lightweight yet easy to setup and feature-rich Linux distribution, based on Debian. To find out more about DietPi, please visit the official documentation. Discuss the ROCK64 build on the PINE64 forum thread.

Download:

Default credentials

Default user

root/dietpi

Lakka

Lakka is a lightweight Linux distribution that transforms a small computer into a full blown retrogaming console. Visit PINE64 forum for more information about the Lakka release.

Download:

LibreELEC

LibreELEC is a "Just enough OS" Linux distribution combining the Kodi media center with an operating system.

Download:

Manjaro ARM

Manjaro is a user-friendly Linux distribution based on the independently developed Arch operating system. Manjaro editions for Rock64 are available directly from Manjaro. To learn more about Manjaro please visit the Manjaro Forum.

note

Only supports ROCK64 version 2 SBC!

Download:

NEMS Linux

NEMS stands for "Nagios Enterprise Monitoring Server" and it is a modern pre-configured, customized and ready-to-deploy Nagios Core image designed to run on low-cost micro computers. To find out more on NEMS Linux, please visit their site.

warning

Only supports ROCK64 ver2 SBC

warning

Outdated release

Download:

note

The installation guide can be found https://docs.nemslinux.com/installation[here].

Default credentials

Default user

nemsadmin/nemsadmin

NextCloudPi

NextCloudPi comes not only with NextCloud preinstalled, but also with management tools for backups, SSL certificates, SAMBA, enhanced security and more. Visit the project’s website. You can follow the ongoing discussion about NextCloudPi on the PINE64 forum.

Download:

warning

Outdated release

note

The MD5 hash of the .gz file is 2d3eb799e99a3bb90d5aa7731baf27c6

Default credentials

Root user

root/1234

OpenMediaVault

Openmediavault is the next generation network attached storage (NAS) solution. The forum thread concerning this release can be found here.

Download:

note

The MD5 hash of the .xz file is 474c2a5aac8874fd188404c8e04e53e8

note

The MD5 hash of the .xz file is bf5d2ea2bc7a5623ba958ed358a80c2a

Default credentials

TTY and SSH, except OMV

rock64/rock64

OMV for Web

admin/openmediavault

OMV for TTY

root/openmediavault

Recalbox

Recalbox is a free and open-source operating system created for the emulation and preservation for retro games. Recalbox allows you to re-play a variety of videogame consoles and platforms in your living room with ease. To find out more about Recalbox and available tweaks to the installation please visit the PINE64 forum thread. Visit the project’s website for more details.

note

Only supports ROCK64 ver2 SBC

Download:

R-Cade

Retro Center’s R-Cade, the 4K Media Center Arcade. RCade Features 100+ retro-gaming systems, a lightweight web browser, and full 4K UHD media playback.

Download:

Slackware

Slackware is a very old, interesting, convenient and easy distribution. Visit the project’s website here (https://fail.pp.ua). You can follow the ongoing discussion about Slackware on the PINE64 forum (https://forum.pine64.org/showthread.php?tid=5868)

note

This Slackware build using the ZST compression algorithm, please visit the https://github.com/facebook/zstd[ZST GitHub site] for a decompression utility.

Download:

Default credentials

Default user

root/password

Flashing the distribution to the eMMC:

  • Flash the image to micro SD, power up the board with micro SD and login

  • Copy the image file to micro SD by using SFTP. The image file must have the .img file extension.

  • After finish copy the file, power off the board and add eMMC module to the board

  • Boot the board, run below command for flashing to eMMC module

  • Run sudo dd if=[IMAGE] of=/dev/[DEVICE] bs=10M (example: sudo dd if=slack-current-aarch64-xfce_08May18-4.4.126-rock64-build-20180508.img of=/dev/mmcblk1 bs=10M).

  • then edit these two files in eMMC module:

    • mount /dev/mmcblk1p1 /media

    • echo "rootdev=/dev/mmcblk1p1" >> /media/boot/uEnv.txt

    • sed -i 's:mmcblk0p1:mmcblk1p1:' /media/etc/fstab

  • After that, power off the board and remove the microSD card. Then boot with only the eMMC module.

BSD

FreeBSD

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. The RockChip FreeBSD page has instructions for installing FreeBSD. Version 13.0 and greater include prebuilt images.

Download:

  • Images for various FreeBSD releases can be found here

Default credentials

SSH access (enabled by default)

freebsd/freebsd

Root user

root/root

NetBSD

NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system. To learn more about NetBSD please visit NetBSD main page.

Download:

Notes:

  • Instructions concerning enabling SSH can be found here or the bootable image from armbsd.org can have the MSDOS partition modified to setup SSH using this method.

Default credentials

Root user and SSH

root/[none]

OpenBSD

OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution. You can install OpenBSD on your Rock64 by following these instructions.

Android

Android TV 9.x eMMC (No Google Play)

The Android 9.0 image for eMMC boot. For the installation of the Playstore on Android 9.0 please follow this forum thread.

Image downloads (for direct flashing):

Image downloads (for Rockchip Tool):

  • Stock image from pine64.org (544MB, MD5 of the Gzip file 9B717263E7749A732C8B5C7D7D59C5C6, build 20190617)

  • Rooted image from pine64.org (544MB, MD5 of the Gzip file FC5F80C3A939AD0F8DCE5B85F22D20A1, build 20190618)

note

See the guide to flashing eMMC using Rockchip Tools. Please unzip the file first and then use Rockchip tool to flash it. The OTG port located at top USB 2.0 port and it needs USB type A to type A cable.

Notes:

  • Please allow 10-15 minutes on first boot for initialization

Android 9.x (No Google Play)

The rooted Android 9.0 TV image for booting from the microSD card. For the installation of the Playstore on Android 9.0 please follow this forum thread.

Image downloads (for direct flashing):

note

Flash the file to the microSD card, for example using dd.

Image downloads (for Rockchip SDDisk Tool):

  • Direct download from pine64.org (539MB, MD5 of the Gzip file EE00D309745F842213E21B2F1E20C510, build 20190621)

note

Please unzip first and then using Android tool to flash it. Allow 3-5 minutes boot up time on first boot for initialization. The Rockchip SDDisk Tool ver. 1.57 can be found https://files.pine64.org/os/ROCK64/android/SDDiskTool_v1.57.zip[here].

Android 8.x TV eMMC (preinstalled Google Play Store)

The Android 8.1 TV stock image for booting from the eMMC.

Image downloads (for direct flashing to the eMMC module):

  • Direct download from pine64.org (561MB, MD5 of the .xz file C05846B89A6483DA911CEA604627524F, build 20180606)

note

Please allow 10-15 minutes boot up time on first boot for initialization.

Image downloads (for Rockchip Tool):

  • Direct download from pine64.org (752MB, MD5 of the .xz file 9738F060D2F62A83637797363D2B38C9, build 20180606)

note

See the page about how to flash the eMMC using Rockchip Tools. Please unzip the file first and then use Rockchip tool to flash it. The OTG port located at top USB 2.0 port and it needs USB type A to type A cable.

Android 8.x TV

The Android 8.1 stock image for microSD boot, build 20180623.

Download:

note

The MD5 hash of the .xz file is 85372A568C114ADE7CD9632CEBA193E9

Notes:

  • Write the image to a microSD card using dd and boot it.

  • Please allow 10-15 minutes on first boot for initialization

Android 7.x eMMC

The rooted Android 7.1.2 stock image, build 20171204.

Download image (microSD card to eMMC):

  • Direct download from pine64.org (558MB, MD5 of the .xz file 43443467DFCAEDE767556843EB4D6707)

note

DD image to a microSD card. Shorting the eMMC PIN with a jumper as shown on the first image of the https://files.pine64.org/doc/rock64/guide/ROCK64_Installing_Android_To_eMMC.pdf[guide to install stock Android build to eMMC module]. After power ON the box for 2-3 second, quickly remove the jumper, then it will start writing the new image to the eMMC. Please allow around 1 minute of boot up time before UI is presented via HDMI. Please allow 10-15 minutes boot up time on first boot for initialization. Has USB 3.0 patches. Enable Real Time Clock support for Popcorn Hour Transformer.

Download image (eMMC boot):

  • Direct download from pine64.org (544MB, MD5 of the .xz file 7C831F9E6B4311A3B3D4743FBBB628D0)

note

Please unzip first and then using Android tool to flash in. Has USB 3.0 patches. Enable Real Time Clock support for Popcorn Hour Transformer.

Notes:

Android TV 7.x eMMC

The Android TV 7.1 community build image by ayufan.

Download image (eMMC):

note

For eMMC flash-all image, please unzip first and then use Android tool to flash in

Notes:

Android TV 7.x

The Android TV 7.1 community build image for microSD boot by ayufan.

Download:

Android SDK

The Android P SDK (v9.0).

Download:

note

The MD5 hash of the TAR-GZip file is 1EAC08942E238293E3AF11C7890DF307

MAC Address

To set the MAC address on ROCK64 with the “Android eMMC” image:

  1. Windows ADB driver package installation is required as prerequisite
  2. Download and unzip WNpctool_V1.1.2_1226.zip. Run WNpctool.exe “as Administrator” on Windows OS
  3. Press recovery button on ROCK64 and power ON the ROCK64. After 2 seconds release the recovery button
  4. Plug the USB Cable from Top USB2 slot of ROCK64 to PC USB slot (WNpctool will show “Found one loader” at the bottom)
  5. Fill in LANMAC: with small letter MacAddress (e.g. 01234567abcd) then press on Write button
  6. Unplug the USB Cable and reboot the ROCK64 and use DOS command “ping …” and “arp -a” or netscan to check the MAC address of the ROCK64

Upstreaming status

warning

The data presented in this section requires updating.

FunctionStatusComponentNotes

Video Output

Linux Mainline

rockchipdrm

With mpv, you’ll need to specify something like mpv --gpu-context=drm --drm-connector=1.HDMI-A-1 to get it to play back on a VT

3D Acceleration

Linux Mainline

Upstream Mesa

lima

Very recent version recommended for the best experience. Has weird glitches on HDMI output in weston.

Video Decode

Linux Staging

Broken/Not in ffmpeg

hantro_vpu and rockchip_vdec, using v4l2-requests

Soon to be moved out of staging, ffmpeg patch set seemingly abandoned, does not work on newer kernels. Git branch with commits

Audio

Linux Mainline

snd_soc_rockchip_*

Power Button

Linux Mainline

rk805_pwrkey

If your PWR switch does nothing unless held, this may need to be loaded manually with modprobe or by putting it in /etc/modules-load.d/

Analog Video Output

Needs porting

rockchip_drm_tve

Definitely needs some cleanup before it’d be ready for mainline, and needs some dt bindings written.


Troubleshooting

HDMI output disconnects as soon as it connects

Some older monitors seemingly can get into a weird state wherein the ROCK64 is unable to establish a proper connection with them. User:CounterPillow has seen this happen on an iiyama ProLite G2773HS connected over HDMI, and an Acer P225HQL connected over an HDMI to DVI adapter. The symptoms usually are that you see the monitor briefly turn on its backlight without displaying a picture, but then immediately either shutting off again or showing a “No Signal” message.

The solution is to completely power down your ROCK64, also removing its power source. Then plug in the monitor, and start up the ROCK64 afterwards. You should now be getting a picture again.

Power button doesn’t do anything on a short press (Linux)

Make sure the rk805_pwrkey module is loaded, e.g. with lsmod | grep rk805_pwrkey. The module auto loading of rk805_pwrkey was fixed in the following upstream kernels: v6.0/v5.15.66/v5.10.142/v5.4.213/v4.19.258/v4.14.293 so there should be no requirement for fixes with those kernels or newer. If it doesn’t show up, do a modprobe rk805_pwrkey as root. To make this persistent, create a 99-rk805_pwrkey.conf in /etc/modules-load.d/ with the content rk805_pwrkey

If it still doesn’t work, make sure your init system is actually listening to the button press. With systemd, check /etc/systemd/logind.conf and make sure it’s either all commented out (uses defaults) or contains something like HandlePowerKey=poweroff. You can change the short press action by setting HandlePowerKey to one of “ignore”, “poweroff”, “reboot”, “halt”, “kexec”, “suspend”, “hibernate”, “hybrid-sleep”, “suspend-then-hibernate”, or “lock”.

Video output is glitchy during activity

If your video output glitches out while there is memory bandwidth pressure, the likely reason is that the video output (VOP) quality-of-service (QoS) registers aren’t set to high priority mode.

User CounterPillow submitted a patch to u-boot to fix this, but someone still needs to write a kernel patch to save/restore the QoS registers from the power domain driver.


Cases

The ROCK64 fits in three officially sold cases.

Premium Aluminum Casing

The case, fully assembled with a ROCK64 inside of it

The ROCK64 Premium Aluminum Casing is an aluminum case for the ROCK64 single-board computer sold by Pine64 through their official store. It includes an integrated heat spreader with an included thermal pad that allows the SoC to sink its generated heat into the metal case.

Installation

Make sure the LED light guide and rubber plug are taken out of the case. Drop your ROCK64 into the bottom half of the case with the ports in the correct place. Tighten it with the four included round top screws, using a Phillips #00 screw driver.

Install the light guide and the rubber plug by pushing them in from the outside.

Ideally, clean the SoC of any possible residue with some isopropyl alcohol. Next, remove the plastic foil protecting the thermal pad on the top half of the case, and slot the top half into place, making sure that the HDMI and audio jack ports fall into their respective place in the side section (see HDMI and Audio Jack Clearance Issues if they don’t.)

Once the top half is firmly in place, screw in the four flat top screws with a Phillips #00 screw driver.

Performance

The built in heat spreader does do its job at sinking heat into the case. User:CounterPillow finds that during a lengthy kernel compilation at 22°C ambient temperature, the average SoC temperature measured around 60°C. The case during such sustained loads becomes warm to the touch, which means it is working as a heat sink.

Tips and Tricks

HDMI and Audio Jack Clearance Issues

Some cases may not allow the ROCK64 IO to snugly fit into its predestined cutout holes on its long side. If this is the case for you, try loosening the screws on the HDMI, power and audio jack port side, and only tightening the screws on the GPIO side to still make good ground contact. The HDMI and audio jacks should then fit into their holes snugly. If you wish to try, you can also try adjusting the screws holding in the posts on the bottom of the case.

Plastic Pegs for PWR and RST Buttons

FreeCAD displaying the peg. Bottom part goes inside the case.

If you are tired of using a pen or a toothpick to push the buttons, there are 3d-printable plastic pegs you can download and print yourself. Recommended material is PLA, excellent results can be obtained using a 0.25mm nozzle, though slightly larger sizes should work fine as well.

To use the pegs, open your case and remove the ROCK64 from within. Be sure to pull out the light guide and rubber plug to remove it, or else it will catch on them. Once it is removed, turn your bottom half of the case such that the holes for PWR and RST are pointing towards the floor, and drop the pegs into the holes from inside the case, so that the lip prevents them from falling through. Hold them in position with your finger, turn the case the right side up again, and reinstall your ROCK64.

Plastic Pegs in their place

You should now have buttons that can be pressed from outside the case without any utensils.

If you do not own a 3d printer, contact User:CounterPillow. He may mail you some for free in an envelope.

Remove the black anodised layer from the heat pad

Anodising has a significantly poorer thermal conductivity than aluminium, therefore grinding off the anodising before fitting the blue thermal pad should result in a lower CPU temperature.

Using the case with the PINE H64

Whilst the case is sold as a ROCK64 accessory, all the connectors and mounting screws on the PINE H64 are in the same spots. The only difficulty is that the H6 CPU is closer to the “Pi2” connector and extends beyond the edge of the heat spreader by about 5mm. User:AlephNull used a piece of copper shim on top of the H6 (with a smear of thermal paste) to spread the heat back to the thermal pad. In this configuration, the CPU stabilised at about 76°C running 4 copies of a CPU stress test. Whilst a lower temperature might be nice, this is still well below the 125°C limit.


Further information

Certifications

Certifications:

Datasheets

Rockchip RK3328 SoC information:

LPDDR3 (178 Balls) SDRAM:

eMMC information:

SPI NOR Flash information:

Ethernet related info:

Peripheral related info:

Enclosure information:

Remote control button mapping:

Other resources

Schematics

Board Dimensions: 85mm x 56mm x 18.8mm, see the ROCK64 board dimension drawing

Input Power: +5V @3A with 3.5mm/1.35mm Type H Barrel type DC connector (@2A will work if there is no heavy load on the USB 3.0 port)

ROCK64 ver 3.0 SBC related info:

ROCK64 ver 2.0 SBC related info:

ROCK64 3D autodesk drawing (from TeaPack):

Specifications

Based on Rockchip RK3328

CPU Architecture

  • Quad-core Cortex-A53 up to 1.5GHz CPU
  • Full implementation of the ARM architecture v8-A instruction set
  • ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation
  • ARMv8 Cryptography Extensions
  • In-order pipeline with symmetric dual-issue of most instructions
  • Unified system L2 cache
  • Includes VFP v3 hardware to support single and double-precision operations
  • Integrated 32KB L1 instruction cache, 32KB 4-way set associative L1 data cache
  • TrustZone technology support
  • Full CoreSight debug solution
  • One separate power domain for CPU core system to support internal power switch, and to externally turn on/off based on different application scenario
  • PD_A53: Cortex-A53 + Neon + FPU + L1 I/D Cache of core 2/3
  • One isolated voltage domain to support DVFS

Frequencies & Voltages

FrequencyVoltage
408 MHz0.950 V
600 MHz0.950 V
816 MHz1.000 V
1008 MHz1.100 V
1200 MHz1.225 V
1296 MHz1.300 V

Power Draw

These numbers for power draw have been measured through an USB power monitor (FNB38) while running the stress utility, whereby “cpu” stands for stress --cpu 4 and “vm” stands for stress --vm 4. The former spins on the CPU, the latter stresses the memory. Real workloads are usually a mix of both. The tests were ran through ssh, with nothing besides power and ethernet plugged into the ROCK64

Please keep in mind that under real world usage, many other factors come into play. Having a display connected, running a graphical session, I/O and most importantly the connected USB peripherals can add a lot.

Helpful refresher on the formula for power (W) on DC: power = current × voltage, because the power factor is 1. The ROCK64 runs on 5V, so use that to calculate current if you need to.

FrequencyPower cpuPower vm
1296 MHz2.64 W2.95 W
1200 MHz2.32 W2.69 W
1008 MHz1.90 W2.31 W
816 MHz1.62 W2.05 W
600 MHz1.45 W1.85 W
408 MHz1.33 W1.72 W

It appears a good upper bound for a headless setup is in the neighbourhood of 3 W, or the energy contained in 0.025 bananas per hour.

GPU Architecture

System Memory

  • LPDDR3 RAM Memory Variants: 1GB, 2GB and 4GB.