Argon ONE UP CM5 Laptop
Argon40 is building a new CM5-based laptop, the Argon ONE UP, currently in pre-launch on Kickstarter (with all the caveats that apply there...).
I have an early preproduction unit on hand, and will be testing it.
The unit I have includes:
- CM5 8 GB WiFi
- 256 GB NVMe SSD
- 14" IPS 16:10 display (1920x1200)
- 1080p front camera
- Stereo speakers
There are a number of other features that I am currently testing, from IO (including an interesting dual-USB-C-connector-but-not-USB-C GPIO adapter), to features (closing the lid turns off the display and keyboard backlight, but may not put the Pi itself to sleep, still testing that).
They also include a little Argon ONE UP utility for terminal-based battery and laptop status, and something running in the background is also monitoring charge status, brightness controls, etc.
Two videos from Argon40:
- Behind the Build: Prototyping the Argon ONE UP 🔧
- Introducing the Argon ONE 上 UP | A True Raspberry Pi Compute Module 5 Laptop
So far I'm quite impressed using it while plugged in. It's not MacBook build quality... but it's better than the cheapest Chromebooks. And my biggest gripe is trackpad behavior, which is mostly regarding usability issues across all Linux distros I've tested on laptops...
I will wait for a full charge before testing things unplugged.
Usage notes (will update as I go):
- See comment below about Raspberry Pi OS portable gripes.
- Maybe Ubuntu would work better on this laptop?
- There's a microSD card slot, might be able to dual boot just swapping out microSD cards — using the spacebar boot menu
- Using a CM5 module means you could swap in a CM4... or other clones? Would be interesting to see which ones work or don't work.
- All the integrations seem to be managed using an
argononeupd.pyscript, which eats up 4-8% of one CPU core continuously. Would be nice to not have that going... - NVMe slot is directly connected to the CM5, running at PCIe Gen 3 speed by default.
- The trackpad is a little annoying: the tap to touch sensitivity is a tad high, leading to errant taps every now and then. The physical click surface is limited to the bottom right and bottom left (can't push-to-click anywhere besides there), and the physical click will sometimes 'click' (audibly), but not register a click, so maybe a tolerance with the actual button used on it?
When powered off battery, and I shut down the Pi, it doesn't seem to shut down the entire laptop. Maybe a BMS/power MCU bug? It shuts down completely when I power off connected to USB-C power.It seems like it waits 60s after a shutdown (when Pi OS shuts down and the screen turns off) until it actually turns off power to the system (including the keyboard backlight).
Some things I mean to test:
- [ ] Radxa CM5 functionality
- [ ] Orange Pi CM5 functionality
- [x] Plugging other USB-C devices into the GPIO USB-C ports (will this damage anything? Will it work at all?)
- [ ] Figuring out what the power button on the GPIO module does
- [ ] Thermals after running stress-ng for a while
- [x] Use on a trip to Open Sauce
- [ ] Battery life playing back a YouTube video or something streaming over Jellyfin in 1080p
- [ ] Test an eGPU dock with it
- [ ] Compare/contrast to Pinebook Pro
- [x] Try running Ubuntu 25.04 Desktop
Raspberry Pi OS is lacking some useful tooling for portable use:
- Screen Blanking is off by default, so the screen just stays on indefinitely unless you enable Screen Blanking. There's no easy customization for how long the display should stay on, either.
- There's no auto-sleep (partly due to the CM5/Pi 5 having no sleep states... supposedly they could be implemented through RP1 but so far no effort's been made there)
- There's no trackpad controls in the OS, you have to tweak Linux stuff to get at any trackpad adjustments
- There's no battery / power widget for the toolbar (maybe Argon40 could implement such a feature?) – it would be nice to at least have a little icon showing battery, battery with power plugged in, and state or charge, maybe showing more details if you click on it?
that looks amazing, with some rough edges. Could be my mac replacement, I would love to test that out
This was really neat to see in the last video, you going to do a full tear down
@bckelley - hopefully, but also check out the video linked up above, there's a pretty complete assembly video.
What spec is the microSD slot? Can it do stuff like SD Express? I couldn't find specific information on the kickstarter page about it.
It could be a really nice physical security thing to be able to effortlessly take out your entire root drive and store it inside a small necklace or something. To be able to do that with way less of a performance hit would sweet.
@cgarz - the microSD card slot works with CM5s that are non-eMMC (so, 'Lite' modules), and it uses the SDIO lines straight off the BCM2712 SoC, which is I believe is SDR104 (UHS-I) speed.
Ah that's a pity. Looking at some values for UHS-I speeds the highest for random I saw was only:
| Name | Size GB | Seq. Read 1000MB Q8 MB/s | Seq. Read 1000MB Q1 MB/s | Seq. Write 1000MB Q8 MB/s | Seq. Write 1000MB Q1 MB/s | Rand. Read 4KB Q32 MB/s | Rand. Read 4KB Q1 MB/s | Rand. Write 4KB Q32 MB/s | Rand. Write 4KB Q1 MB/s |
|---|---|---|---|---|---|---|---|---|---|
| Silicon Power Superior UHS-I U3 V30 256GB | 256 | 178.9 | 178.0 | 84.1 | 84.6 | 16.2 | 15.5 | 8.4 | 8.4 |
Not ideal for an OS drive 😞. Though that security perk with something in this laptop form factor is still decently appealing.
Thanks for the info 👍
Messed around with the three USB-C form factor ports on the left side, from closest to the screen, to closest to the front/trackpad side:
- Power port behaves like Pi 5 USB-C power input. Plugging in a keyboard/mouse there is no power supply nor USB functionality. It can probably behave like OTG port on Pi 5, but it seems this is only for PD power input.
- First GPIO USB-C port: works with USB-A keyboard and mouse with USB-C cable adapter in either orientation; no issues powering and using both Pi keyboard and Pi mouse.
- Second GPIO USB-C port (nearest the front of the laptop / furthest from hinge side): in one orientation, the mouse at least receives power (see image below)... but in neither orientation does the mouse or keyboard actually do anything. So might be usable as low-current USB 5V charger, but doesn't seem like there's any data functionality here.
My initial attempt at running Ubuntu 25.04 Desktop... it would boot just by inserting a microSD card flashed with that OS, but I couldn't get the built-in trackpad and keyboard to work.
So I plugged in my USB keyboard and mouse—the mouse lit up (like above, but plugged into the USB 2.0 port on the right side of the laptop), but still no cursor movement or keyboard activity.
Not sure if it's something with Ubuntu 25.04 on the CM5 8GB model, or if it's a problem with the USB I/O on the laptop (I'm leaning towards the former, maybe just a missing setting somewhere... I've only run 24.04 on some Pi 4s, haven't tried Ubuntu on a Pi 5/500/CM5 yet.)
Regarding the Trackpad:
It seems to have a hair trigger for registering tap to click (and/or maybe tap to drag?). I ran libinput list-devices to show all the input devices, and it seems like Tap-to-click is disabled:
$ libinput list-devices
...
Device: AMIRA-KEYBOAR USB KEYBOARD Touchpad
Kernel: /dev/input/event8
Group: 2
Seat: seat0, default
Size: 122x78mm
Capabilities: pointer gesture
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: *button-areas clickfinger
Disable-w-typing: enabled
Disable-w-trackpointing: enabled
Accel profiles: flat *adaptive
Rotation: n/a
But Tap-and-drag is enabled. All the online pages where I can find info about this stuff lists xinput as the tool to use to change these behaviors, but that relies on Xwindows (IIUC), whereas Pi OS is running Wayland by default, and that command just errors out.
How does one disable Tap-and-drag? I think that might be causing my Trackpad consternation...
A comment for some USB-C power adapter testing:
- Official Raspberry Pi 27W USB-C PD adapter worked
- Cheap Anker 15W USB-C PD adapter with QC3 did not work (no charging detected)
- Old Apple 12W USB-A adapter with USB-A to C cable did not work
- Anker 100W PD adapter worked on the Laptop port (I think 60W), but not on the other USB-C ports (I think 24 or 30W each?)
Still want to test: Older Pi 3A/5V charger. Other ports besides the USB-C charging port. Other chargers. Direct from my MacBook Air USB-C port.
@cgarz: I was reading your comment about the SD card as a means of physical security, and I came up with this thought: Could you encrypt the operating drive(s) with the decryption key stored on the SD card? That would solve the slow SD card access problem as the decryption would only be read infrequently. Better yet could a Yubikey be used to answer a decryption challenge?
Since the USB-C port on the Raspberry Pi5 is power only, does that mean that the Raspberry Pi laptop will not have a true USB-C port?
If that is the case,I wonder if the future RPi6 or CM6 will have a true USB-C port.
Since the USB-C port on the Raspberry Pi5 is power only, does that mean that the Raspberry Pi laptop will not have a true USB-C port?
The USB-C port on Pi5 is connected to the dwc2 USB2 controller as well as supplying power to the Pi. That interface can operate in USB peripheral mode as well as the more traditional host mode.
(FWIW almost all my development is with connectivity via a USB-C hub as it means things like the MAC address and hence DHCP address is consistent regardless of the specific Pi I connect to, and the mouse and keyboard transfer across using one common plug)
If that is the case,I wonder if the future RPi6 or CM6 will have a true USB-C port.
Define true.
USB-C defines the connector, not the feature set. Pi4 & Pi5 are therefore true USB-C ports as they comply with that physical spec.
Adding the optional features of USB3.0/3.1/3.2/4, or alternate modes for Thunderbolt, DP, MHL, HDMI becomes a whack-a-mole of which feature is the next user going to complain about being missing. DP, MHL and HDMI significantly increase the complexity with minimal actual gain over having the dedicated port, and they all require support of the raw interface by the SoC somewhere. Even the handling of USB3 with the reversible connector makes the electrical side far mode complex.
There are external chips that take eg HDMI and USB and combine them into a USB-C port, eg TI TUSB546A, so there is nothing stopping a third party using that in creating a Pi based laptop.
In my case, I wanted to use the following adapter to attach a microphone to the RPi5 USBC port and it absolutely does not work.
https://www.amazon.com/dp/B0C956XDR9?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1
I had to use a USBC to USBA connector adapter and plug it into either the other USB ports (3 or 2 both worked).
Are you saying that if you plug your RPi5 into a USBC hub you can use other USBC peripherals?
This is pertinent to this thread because the CM5 presumably has the same restrictions as the RPi5. Correct me if I am wrong.
BTW I do plan to get the Argon ONE UP regardless.
@RanchoHam Sorry for the delay. But yea all that should be fine. I think it would just be a case of having only the boot drive/partition left unencrypted with either the whole boot partition or just decryption keys stored on the SD card or Yubikey or something.
However being able to so effortlessly remove the whole root drive was more appealing. Since apparently a CBP asshat at the border can decide to take a full disk image of all your drives if they are able to invent a reason to do so. Such an image should be useless to them since it would be encrypted, but not being able to image anything since there is no drive left at all is a step above 😁. Refusing to decrypt it can have your holiday cut short from being denied access as well. Can't be asked to decrypt something that isn't there 😁
Hopefully one day there will be a laptop form factor device with a sufficiently powerful SD slot to have this removable root drive approach be viable performance wise. But maybe the ONE UP could still do well with it for tasks which can cache into ram well or require minimal disk access.
In my case, I wanted to use the following adapter to attach a microphone to the RPi5 USBC port and it absolutely does not work.
https://www.amazon.com/dp/B0C956XDR9?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1
I had to use a USBC to USBA connector adapter and plug it into either the other USB ports (3 or 2 both worked).
It depends on whether that adapter is actually a USB sound card, or trying to use the deprecated Audio Adapter Accessory Mode. If it works with the other USB ports then it is likely to be a USB sound card, in which case it should be able to work on the USB-C port.
Are you saying that if you plug your RPi5 into a USBC hub you can use other USBC peripherals?
This is pertinent to this thread because the CM5 presumably has the same restrictions as the RPi5. Correct me if I am wrong.
I'm using either a NOVOO R7 Pro or Krisuho (looks to be discontinued on Amazon) USB-C hub. Add
dtoverlay=dwc2,dr_mode=host
to config.txt and I get all the USB functionality working, although admittedly at USB-2 speeds. The HDMI output does not work as that requires the alternate function which isn't supported. Do note that different hubs perform differently in passing USB-PD signalling through to the Pi, so some report limited power being available.
CM5 itself has no ports. The standard CM5IO board has the same dwc2 USB controller wired to the USB-C connector also used for power, as shown in the schematics figure 3 on page 9 of https://datasheets.raspberrypi.com/cm5/cm5io-datasheet.pdf. The same configuration should work the same there.
A few notes from use on the trip to SFO for Open Sauce:
- Battery lasted for hours; used the laptop both in the airport and on the plane with no issues, using a bit of CPU for SDR processing, and it only ever got down to 46% before I charged. I had no concerns about battery life over the course of the trip.
- It fit in my bag and my laptop sleeve just as well as my MacBook Air. No issues slipping it in and out.
- I didn't test the speakers since I was only in very noisy environments, but at the studio they sounded better than I'd expect for an inexpensive laptop (I don't know how much this one will cost).
- Outside of trackpad annoyances (the main one being left clicks don't always register unless you click way down in the left bottom corner), it was... just like having any old laptop. Which is a good thing.
- The heatsink plate that goes over the CM5 did get a bit hot—slightly uncomfortably hot—after prolonged use on my lap decoding SDR (using about 80-90% of CPU for 10-20 minutes at a time. It didn't hurt but I noticed the heat and adjusted how I was holding the laptop.
I pledged for the shell only, so I'd be very interested on the "Orange Pi CM5 (or other CM5/4-compatible boards)" compatibilities, and which CM5 compatible board offers the best performances. My only requirement is 16GB of RAM as I want it for web development also which is not very comfortable with less than 16GB of RAM.
Radxa CM5 should be compatible, we will back this project and test the compatibility.
@hipboi - I've been meaning to test Radxa CM5 in the laptop, just haven't had the time lately! It's on my list of things to do before publishing a full review.
[Edit: Just realized I had Orange Pi listed in the OP here—in my internal script notes I have a separate TODO list, so I've synced those up just now.]
The power button on the GPUIO board is toenable or disable the pins, if I see that correctly
@geerlingguy I created a power driver for the ONE UP.... currently in beta, but seems to work just fine and the builtin battery plugin works just fine. A few startup issues, sometimes you have to remove the plugin then add it back...
https://github.com/JeffCurless/argon-oneup
Note: Not sure how it will work on a production system.
@JeffCurless oh cool! Could you add a screenshot to the repo's README? It would be good to see how it looks (or at least how it's supposed to look!). I will try to get this set up soon, right now my laptop is buried under a bunch of graphics card boxes from the livestream a couple days ago...
I noticed that the pin definitions of Raspberry Pi CM5 and Radxa CM4/CM5 are quite different. If the Argon One is not compatible with CM4, it is highly likely that Radxa CM4/CM5 will encounter issues when using PCIe and cameras.
I am planning on re-testing with Trixie, but I can't figure out where Argon 40 has placed the package for their Argon ONE UP battery utility (or any other customizations they might've made to the base OS image...)?
Their web store doesn't seem to have a complete support site with downloads, tutorials, etc.
@geerlingguy , I found that if I went to an email I received when I received mine, the location was http://files.iamnet.com.ph/argon/setup/argononeup.sh, Hopefully this still works. It worked for me a while back, but I rebuilt my laptop and just use the driver I wrote for power management, along with different settings for the fan. On another note, I'll be joining the world of people with Ostomy's (temporary in my case) this week.
@JeffCurless - Aww, I hope it all goes well! Always so much 'fun' to be had prepping for and recovering from this operation :O
Thanks, I will check it out with Trixie. Just used the laptop to demonstrate various levels of upgradability to a small classroom of students in a technology class!
I am planning on re-testing with Trixie, but I can't figure out where Argon 40 has placed the package for their Argon ONE UP battery utility (or any other customizations they might've made to the base OS image...)?
Their web store doesn't seem to have a complete support site with downloads, tutorials, etc.
Couldn't you just do an inplace-upgrade, that should keep the argon 40 stuff around.
So far I've never had a perfect experience doing an in place upgrade on any Debian based distro, there's always some weird quirk that winds up making life hard a month or a year down the road. So I always reinstall and reconfigure :)