raspberry-pi-pcie-devices icon indicating copy to clipboard operation
raspberry-pi-pcie-devices copied to clipboard

Argon ONE UP CM5 Laptop

Open geerlingguy opened this issue 5 months ago • 30 comments

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...).

Image

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:

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.py script, 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

geerlingguy avatar Jul 10 '25 18:07 geerlingguy

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?

geerlingguy avatar Jul 10 '25 18:07 geerlingguy

that looks amazing, with some rough edges. Could be my mac replacement, I would love to test that out

mhzawadi avatar Jul 15 '25 12:07 mhzawadi

This was really neat to see in the last video, you going to do a full tear down

bckelley avatar Jul 15 '25 13:07 bckelley

@bckelley - hopefully, but also check out the video linked up above, there's a pretty complete assembly video.

geerlingguy avatar Jul 15 '25 18:07 geerlingguy

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 avatar Jul 15 '25 22:07 cgarz

@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.

geerlingguy avatar Jul 16 '25 01:07 geerlingguy

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 👍

cgarz avatar Jul 16 '25 02:07 cgarz

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.

Image

geerlingguy avatar Jul 16 '25 16:07 geerlingguy

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.)

geerlingguy avatar Jul 17 '25 20:07 geerlingguy

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...

geerlingguy avatar Jul 17 '25 21:07 geerlingguy

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.

geerlingguy avatar Jul 17 '25 23:07 geerlingguy

@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?

RanchoHam avatar Jul 18 '25 14:07 RanchoHam

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.

dalogue1 avatar Jul 20 '25 21:07 dalogue1

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.

6by9 avatar Jul 21 '25 10:07 6by9

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.

dalogue1 avatar Jul 21 '25 13:07 dalogue1

@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.

cgarz avatar Jul 21 '25 14:07 cgarz

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.

6by9 avatar Jul 21 '25 14:07 6by9

Image

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.

geerlingguy avatar Jul 24 '25 02:07 geerlingguy

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.

bpresles avatar Aug 07 '25 14:08 bpresles

Radxa CM5 should be compatible, we will back this project and test the compatibility.

hipboi avatar Aug 08 '25 02:08 hipboi

@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.]

geerlingguy avatar Aug 08 '25 03:08 geerlingguy

The power button on the GPUIO board is toenable or disable the pins, if I see that correctly

BurningPho3nix avatar Aug 11 '25 07:08 BurningPho3nix

@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 avatar Oct 07 '25 01:10 JeffCurless

@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...

geerlingguy avatar Oct 07 '25 01:10 geerlingguy

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.

IxaKylin avatar Oct 09 '25 02:10 IxaKylin

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 avatar Nov 13 '25 23:11 geerlingguy

@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 avatar Nov 16 '25 22:11 JeffCurless

@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!

geerlingguy avatar Nov 16 '25 23:11 geerlingguy

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.

BurningPho3nix avatar Nov 17 '25 06:11 BurningPho3nix

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 :)

geerlingguy avatar Nov 17 '25 15:11 geerlingguy