ODROID-M1: an Experience Report
Published by Weisser Zwerg Blog on
ODROID-M1, Ubuntu, ARM64
Rationale
As mentioned in my article Fuel Save Alerter, I was originally thinking about deploying the application locally to a Raspberry Pi, but due to the delivery problems I decided to go with an ODROID-M1 with 8GByte RAM instead. This is my experience report.
Parts and Costs
Here is my part list:
Vendor | Part | Price | Currency | EUR | Link |
---|---|---|---|---|---|
Hardkernel | ODROID-M1 with 8GByte RAM | 90.00 | USD | 89.52 € | https://www.hardkernel.com/shop/odroid-m1-with-8gbyte-ram |
Hardkernel | M1 Metal case Kit | 9.00 | USD | 9.95 € | https://www.hardkernel.com/shop/m1-metal-case-kit |
Hardkernel | WiFi Module 5BK | 8.90 | USD | 8.85 € | https://www.hardkernel.com/shop/wifi-module-5bk |
Hardkernel | 12V/2A power supply EU plug | 5.50 | USD | 5.47 € | https://www.hardkernel.com/shop/12v-2a-power-supply-eu-plug |
Hardkernel | Shipping | 26.63 | USD | 6.49 € | |
DHL | EU Tax | 24.29 | EUR | 24.29 € | |
DHL | Duty Tax Receiver Service | 14.88 | EUR | 14.88 € | |
Amazon | Crucial P2 CT250P2SSD8 SSD Intern 250 GB | 30.99 | EUR | 30.99 € | https://www.amazon.de/gp/product/B086BKGSC1 |
209.44 € |
So in total the device cost me something like 210€. Quite a bit more than I anticipated for my original Raspberry Pi idea.
The device looks like this:
In the middle picture you can also see the WiFi Module 5BK. I find it sad that WiFi is not directly on-board.
Originally, I bought a different NVMe M.2 module Transcend 240GB SATA III TS240GMTS820S for 31.79€, but this NVMe module was not recognized by the ODROID-M1 at all. I started to read a bit about NVMe and M.2 and learned a bit about M.2 Keys. The Transcend device has a B+M key (SATA + PCIe) and the Crucial device has a M key (PCIe). I guess this has something to do with why the Transcend device was not recognized. I tried to sign-up to the ODROID forums, but the sign-up procedure does not work. I never was sent a sign-up e-mail and without that I could not log-in to the forum. I tried with two different e-mail accounts. Then I tried to find out how to contact someone at the forum via e-mail, but nothing is documented, so I simply sent an e-mail to admin@forum.odroid.com, admin@odroid.com, webmaster@forum.odroid.com, webmaster@odroid.com. None of the e-mails bounced, but I also did not get an answer up until now. So I am not sure if my mail reached the eyes of a human at all.
In the ODROID Forum I found M1 NVMe compatibility reports and via this thread I was pointed to Tested/verified compatible M.2 NVMe for the ODROID M1. Like that I selected the Crucial device.
The installation of Ubuntu on the ODROID-M1 was quite straight forward. Especially this Petitboot boot-loader was a quite pleasant surprise.
- You download an OS image,
- put it onto a USB stick (don’t create a bootable USB[1],
- boot into the ODROID-M1, where a Petitboot boot-loader awaits you,
- go to the shell (bottom most option)
- and follow the instructions from SSD only usage, which basically equates to
dd if=/usr/var/petitboot/mnt/dev/sda1/ubuntu-20.04-gnome-desktop-odroidm1-20220531.img of=/dev/nvme0n1 bs=4M
.
After that you can remove the USB stick and reboot. Now you should be able to boot into the arm64 Ubuntu.
Benchmark
I like to do a byte-unixbench on the environments I use. Just download the
UnixBench5.1.3.tgz and copy it onto the ODROID-M1. You will need to install a couple of
packages like a build environment including a C++ compiler. But once done you can untar the package and just execute the Run
command inside the
package.
The running 1 parallel copy of tests
version resulated in a System Benchmarks Index Score
of 467.5
. Just as a comparison, on the
netcup VPS for 2.99 € per month I get a value of 647.3
, so a factor of 1.38 better.
2022-07-22 Addendum: I’ve now run the benchmark also on one of my old Raspberry Pi 3 Model B, where the
running 1 parallel copy of tests
version resulated in aSystem Benchmarks Index Score
of256.1
. Even therunning 4 parallel copies of tests
resulted only in437.9
.
2022-10-15 Addendum: You might also be interested in my newer blog post Thin Clients as Home Servers: Dell Wyse 5060 and Fujitsu Futro S920: an Experience Report.
Summary
All in all I have mixed feelings about the device. It looks nice, consumes little power[2] and has a nice boot process with the Petitboot
boot-loader. On the other hand the deivce was quite expensive, does not include WiFi on-board out-of-the-box and in my opinion has a low computing
power as shown by the byte-unixbench
for that price. The experience with the forums was also not ideal. I still don’t have access to the forums. I
was not expecting that a NVMe M.2 would not simply work out of the box. I’ve never experienced that. This is a standard storage interface. Why do you
need a Tested/verified compatible M.2 NVMe page at all? At least a warning on the main ODROID-M1
with 8GByte RAM page about this issue might have been nice.
Footnotes
important: just put it as the
ubuntu-20.04-gnome-desktop-odroidm1-20220531.img
on the USB stick and don’t create a bootable USB stick; actually booting from USB works, too, but I guess you would wanted to have the installation on the M.2 NVMe and not on a USB stick. ↩︎According to the
Power consumption and heat characteristics
section on the ODROID-M1 with 8GByte RAM: Without any external peripherals connected, the M1 power consumption is about 4.5Watt with a very heavy computing load. It could be as low as 1.3Watt in the idle state. ↩︎