RasPiKeyPlug &Play 16G/32G eMMC Module for Raspberry PiUser Manual (revision 1.02)Copyright 2021UUGear s.r.o.All rights reserved.

Table of ContentWhat is RasPiKey? . 1What is in the Package? . 2RasPiKeySpecifications . 3Before Booting with RasPiKey . 4Update Bootloader (Optionalfor Raspberry Pi 4B only) . 4Enable SSH Login and Configure Wi-Fi Connection. 4Using RasPiKey . 7DDR52 Timing Mode . 8Benchmarks . 10Acknowledgement. 12Revision History. 13Copyright 2021UUGear s.r.o.All rights reserved.

What is RasPiKey?RasPiKey is a 16GB/32GB eMMC module that can be inserted into Raspberry Pi’s micro SD card slot.It works like a micro SD card with better read/write performance (especially for 4k read/write) andhave longer lifetime.RasPiKey has Raspbian (Raspberry Pi OS) preinstalled and allows you configure SSH login and Wi-Ficonnection before booting your Raspberry Pi. As a result, you can use your Raspberry Pi withoutdisplay, keyboard and mouse, and access your Raspberry Pi via SSH session on your PC.RasPiKey is a “plug and play” accessory to most Raspberry Pi models. If you have Raspberry Pi 4Bfrom rather old batch, which has rather old firmware that could not recognize RasPiKey, you may needto update the bootloader of your Raspberry Pi 4B beforehand.There are two varieties of RasPiKey: the 16GB RasPiKey comes with a black lanyard, while the 32GBRasPiKey comes with a blue one.1

What is in the Package?Each RasPiKey package contains: RasPiKeyboard x 1 lanyardx 1* 32GB version has lanyard in blue color instead.2

RasPiKeySpecificationsDimension:32mm x 19mm x 1.6mmWeight1geMMC16GB: Samsung KLMAG1JETD-B041 (datasheet)32GB: Samsung KLMBG2JETD-B041 (datasheet)Working Voltage3.3VBenchmarks on Pi 3BBenchmarks on Pi 4Bhdparm test: 23 MB/secddtest: 23 MB/s4k read: 11 MB/s4k write: 10 MB/shdparm test: 45 MB/secddtest: 34 MB/s4k read: 15 MB/s4k write: 15 MB/sOperating Temperature-30 80 (-22 F 176 F)Storage Temperature-40 85 (-40 F 185 F)Humidity0 80%RH, no condensing3

Before Booting with RasPiKeyIf you are not using Raspberry Pi 4B, and you have display, keyboard and monitor connected to yourRaspberry Pi, you can just insert RasPiKey into the micro SD card slot and directly use it like a normalSD card. RasPiKey already have OS pre-installed, so it can directly boot your Pi.Update Bootloader (Optionalfor Raspberry Pi 4B only)If you are using Raspberry Pi 4B, you may (or may not) need to update the bootloader to haveRasPiKey supported.It depends on the Raspberry Pi 4 you have: earlier batch of Raspberry Pi 4 mayhave rather old bootloader, which could not recognize RasPiKey. If your Raspberry Pi 4 is recentlypurchased, then most probably you don't need to update its bootloader, and it can be directly boot withRasPiKey.You can run this command to verify the bootloader on your Pi 4:vcgencmd bootloader versionIf the printed release date of bootloader is later than September 3rd2020, then you don’t need to updatebootloader for your Pi 4.In case you need to update bootloader. You can find the official released bootloader here.Here we offer a much simpler way to update the bootloader:1. Download this update file, or you can find it in RasPiKey’s boot partition.2. Extract its content to a micro SD card3. Insert the micro SD card into Raspberry Pi and power on4. Wait for one minute.5. Power off and remove the micro SD card.After going through these steps, you have updated the bootloader on your Raspberry Pi 4B, and now itcan work with RasPiKey.Enable SSH Login and Configure Wi-Fi ConnectionIf you want to use your Raspberry Pi without connecting any monitor, keyboard or mouse, you canenable SSH login and configure Wi-Fi connection before you boot your Raspberry Pi with RasPiKey.You will need a computer with micro SD card reader. If your computer doesn’t come with micro SDcard reader, you can use a USB SD card reader.4

After inserting RasPiKey into micro SD card reader, its “boot” partition will be recognized as a USBdisk on your computer (usually named “boot”). There you can find these files: RasPiKey.exe RasPiKey MAC RasPiKey ARM RasPiKey X86 RasPiKey.zipDepending on the computer and operating system you are using, you will use one of them to finish theconfiguration:Computer and Operating SystemActionPC WindowsRun RasPiKey.exeiMac, Mac Pro or MacBook Mac OS XRun RasPiKey MACRaspberry Pi RaspbianRun RasPiKey ARMPC LinuxRun RasPiKey X86OtherExtract and edit the files inside.When you run an executable file, it will request you to input some parameters to configure Wi-Ficonnection:If you don’t have Wi-Fi, or you prefer to use cable to connect Raspberry Pi to the network, you caninput some dummy data here. The programme will generate the “wpa supplicant.conf” file and theempty “ssh” file in the same directory. The “wpa supplicant.conf” file contains the parameters toconfigure Wi-Fi connection, while the empty “ssh” file will enable the SSH login for you.5

If for any reason you cannot run the suitable executable file, you can extract the file andedit the “wpa supplicant.conf” file. The “ssh” file doesn’t need to be edited because it is empty.Remarks: the “wpa supplicant.conf” and “ssh” files will be automatically removed after booting yourRaspberry Pi with RasPiKey, however the configuration has been made and you don’t have to do itagain (unless your Wi-Fi parameters get changed).6

Using RasPiKeyYou can use RasPiKey like a normal micro SD card with OS installed. You insert it into the micro SDcard slot on Raspberry Pi, and then power it on.If your Raspberry Pi has display, keyboard and mouse connected, you have nothing to worry about andimmediately enjoy using your Pi with RasPiKey.If your Pi doesn’t have display, keyboard or mouse, you may want to use it via SSH session, whichneeds your Pi to be connected to your network. If you have configured the Wi-Fi connectionbeforehand, you just need to wait until your Raspberry Pi finishes the boot and connect to your Wi-Fi.Or you use a network cable to connect Raspberry Pi to your local network.Given the empty “ssh” file is in RasPiKey’s boot partition, you can ensure SSH login will be enabledon your Raspberry Pi.During the first boot with RasPiKey, your Raspberry Pi will adjust the pattern size and reboot,this will make it a little longer until you can SSH it.You can use this command to login via SSH session:ssh [email protected] it may complain about not knowing the “raspberrypi” host. In the majority of cases thisproblem will disappear after waiting for a while. If the problem persists, you can use this command tolist all machines in your network:arp -aThis command exists in Windows, Mac OS X and Linux, what a handy tool!If you run this command before and after booting your Raspberry Pi, you can figure out which IPaddress is for your Pi, by comparing the outputs of this command. Then you can login with:ssh [email protected] IP address of your Pi 7

DDR52 Timing ModeDDR mode for eMMC was introduced in MMC 4.4 standard. The DDR52 timing mode can supportfrequency up to 52MHz and can almost double the performance of eMMC module (such as RasPiKey)on Raspberry Pi.In order to support DDR52 mode, your Raspberry Pi may need to have the firmware upgraded.Although the patch for supporting DDR52 timing mode has been committed, at the time of writing thischapter, the patch has not been replicated to the official repository yet, once it does, you can upgradethe firmware with these commands:sudo apt update, sudo apt full-upgradeAfter the upgrade and reboot your Raspberry Pi, you can run this command to confirm if the DDR52mode has been supported:sudo cat /sys/kernel/debug/mmc0/iosIt should print out something like this:clock:52000000 Hzactual clock: 50000000 Hzvdd:21 (3.3 3.4 V)bus mode: 2 (push-pull)chip select: 0 (don't care)power mode: 2 (on)bus width: 2 (4 bits)timing spec:8 (mmc DDR52)signal voltage: 0 (3.30 V)driver type: 0 (driver type B)The result above means the DDR52 timing mode has been supported, and your RasPiKey has muchbetter performance on Raspberry Pi 4.8

However, if you see something different, like this:clock:52000000 Hzactual clock: 50000000 Hzvdd:21 (3.3 3.4 V)bus mode: 2 (push-pull)chip select: 0 (don't care)power mode: 2 (on)bus width: 2 (4 bits)timing spec:1 (mmc high-speed)signal voltage: 0 (3.30 V)driver type: 0 (driver type B)It means you need to upgrade the firmware to support the DDR52 timing mode.You can run this command to make the upgrade:sudo apt full-upgrade9

BenchmarksWe follow Jeff Geerling’s blog posts (thank you Jeff) to do the benchmarks for RasPiKey.Jeff wrote this blog post about the benchmarks on Raspberry Pi 3B . We do exactly the samebenchmarks with RasPiKey and append the result to the diagram from Jeff’s blog post:Benchmarks on Raspberry Pi 3B 10

Jeff also wrote another blog post about the benchmarks on Raspberry Pi 4B.Again we do exactly thesame benchmarks with RasPiKey and append the result to the diagram from Jeff’s blog post:Benchmarks on Raspberry Pi 4B (with DDR52 timing mode supported by firmware)Please notice the benchmarks above are obtained on Raspberry Pi 4B with firmware updated to supportDDR52 timing mode. Please read the DDR52 Timing Mode chapter for more details.11

AcknowledgementWe would like to thank Tim Gover (Raspberry Pi Trading Ltd) and his teamon supporting RasPiKey(and other eMMC modules) on Raspberry Pi 4B, and their works on supporting the new DDR52 timingmode.We would also like to thank Dr. Tomas Lindén, who promoted the supporting of DDR52 timing modeon Raspberry Pi, reminded us about the firmware upgrade, and also provided us important informationto perform further tests.12

Revision 22021.01.0713DescriptionInitial revisionAdd information about newly supported DDR52timing mode and new benchmark for RasPiKey onRaspberry Pi 4B.Add information about 32GB version.Add benchmarks table for Raspberry Pi 4BMore information for updating bootloader

RasPiKey has Raspbian (Raspberry Pi OS) preinstalled and allows you configure SSH login and Wi-Fi connection before booting your Raspberry Pi. As a result, you can use your Raspberry Pi without display, keyboard and mouse, and access your Raspberry Pi via SSH session on your PC. RasPiKey is a “plug and