Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
[dupe] Raspberry Pi 400 teardown and review (jeffgeerling.com)
124 points by geerlingguy on Nov 2, 2020 | hide | past | favorite | 66 comments


The Pi has come of age.

With this form factor, it is truly the grandchild of the BBC Model B and I love it.

http://www.computinghistory.org.uk/userdata/images/large/76/...

If they made one with big black mechanical switches and deep cherry red status LEDs, I would happily pay whatever they asked.


Honestly, taking the Pi itself (which has a very keyboard-friendly PCB layout) and using it in a custom mechanical keyboard build could be a fun little project!

In fact, this would make the perfect guts for something to feature on /r/cyberdeck!

Which, to no ones surprise, is why I see this thing has hit the top of that subreddit...


Too bad they still kept the micro-HDMI :( They could have provided at least one full-size one. Space is at much less of a premium in this thing than in the pi board.

Otherwise, this looks like a pretty nice device for travelling. Might get one (though for the same price you can get an 11" pinebook which is a full laptop - much heavier though!)


I can't make it up from the documentation but the USB-C seems only to be for power. Which is a shame as well. As it would be ideal if you could plug this in with one cable using a USB-C dock or USB-C compatable monitor.


It has USB 2.0 as well.


The 11" pinebook has only 2 GB RAM and 1.2GHz CPU... and a MUCH smaller community...


> Has anyone reading this ever used scroll lock? I've at least used num lock before, but never scroll lock.

Yes, to see the check the output of the console when it is fast scrolling, or occasionally in other programs to decouple the scrolling from cursor-movement.

Similarly the lack of a PAUSE button gives me pause. How would I stop running scripts/programs to check the output before making them continue? I guess there is some magic ctrl+??? combo for that...


In typical terminals: Ctrl-S (Pause) and Ctrl-Q (Continue).

https://retrocomputing.stackexchange.com/questions/7263/hist...


I always use the SCROLL LOCK button to disable scroll lock when I mistakenly press the SCROLL LOCK button.


Check out tmux. I don't ssh without it. It gives you persistent sessions, tabs, scroll and more.


tmux is great but isn't in my OS' base installation, e.g.:

- won't be available first thing after an OS install.

- might be on a filesystem/dataset that's unavailable in certain circumstances (less common these days).

- might be broken after a major-version upgrade if built against old libs if I don't have a compat<n-1> package installed.

Scroll Lock has been a lifesaver many times :)


If you use Nix package manager, you can quickly get Tmux working on any OS supported by it. With a proven working version with the exact libraries as defined in the package. I don't use this on e.g. routers though; not enough space.


Throwing KVM switching and spreadsheet review into the bag of real world considerations.


This works even during POST. At least it used to.


It changes the behaviour in Excel


No idea if they have plans for this, but a laptop form-factor device would sell like hotcakes (judging by the apparent success of the Pinebook Pro).

You could probably design a drop-in replacement motherboard for a Thinkpad X or T sized laptop pretty easily using the new compute module 4. You could even used the single pcie lane to run it off of a real SSD, since the microSD card seems to be the speed/reliability bottleneck.


You can connect Pi to this and get a laptop experience. It has full HD screen, Built in battery and can connect Both SBC and any Samsung Dex/Huawei Easy Projection phone.

https://nexdock.com/


I'd take the idea of using the PCIe lane for an SSD but I would take in the opposite direction. What I would like to see is a board in this form-factor and a slot for the Compute Module. The board could then be a (hopefully cheap) dock for the CM that we could have as the basis for different modes of computing. The CM + disk could be a portable "puck" that should be easy to plug into the dock.

What would that gives us? Well, I could get multiple of these docks and I'd just have to carry the CM puck around. If I am working I'd still like to use an external keyboard, mouse and a big display. I could have a dock on my TV if I want to play games or have "smart TV" functions. We could also have a "laptop version" of this dock and it would be like the Atrix lapdock. One could even imagine a dock in the form-factor of a smartphone/tablet.

Such a system would help a lot in fighting e-waste (we would be able to upgrade only the things that need upgrading, instead of being played into planned obsolescence) and it would also be an intuitive way to get back things from the cloud and make computing "Personal" again - the "puck" with the brains and memory would be the physical representation of the things that we have, the docks would just be the different ways to interact with it.


As someone already mentioned - there's the nexdock which gives you the ability to have a laptop form factor for the Raspberry Pi. There's also a kickstarter from Elecrow offering a nifty laptop form factor called the CrowPi2. The CrowPi2 emphasis is on learning so there's a PCB with lots of sensors and other devices built-in.


Just remember that the PCIe slot on the compute module comes at the expense of all USB ports. It's one or the other, not both.


Not all of them -- Only the USB3 ports


On the 4, the USB 2 ports come from XHCI too. I guess on the CM then they used the DWC-OTG controller for them? (Which on the 4 is used for Type-C in device/gadget mode)


A new generation is about to experience the brittleness of micro-HDMI.. It's one thing in a mostly static device but something like a keyboard? This will break. I wish they had made it full-size or at the very least mini-HDMI (given that they don't go the TB dongle-route).

I've lost count of the number of cables and adapters I've had to throw away, apart from the couple of device-side connectors that either take minutes of fiddling before connecting or are now practically useless.


This is remarkably like our 8-bit computers of the late 70's and early 80's. Just add a TV and have fun. It's 2020's "Commodore 4194304".

I wonder if adding a cassette recorder is a possibility ;-)


If by cassette recorder you mean the modern cheap SSD instead of in-built SD card then yeah, it's possible.


No. I meant (jokingly, of course) an actual cassette recorder. It can be attached to the GPIO's analog pins.

Someone is probably still making them.


None of the GPIO pins are analog, all of them are discrete. As for sampling audio from a cassette recorder you can use its USB - easier solutions already exists. Why complicate stuff through GPIO?


Sorry. I had the impression it had some form of PWM. In any case, we can always make it work with a square wave.


Mods: This isn't a [dupe] at all, and provide interesting info that the official blog post doesn't.


My dream is RPi laptop. Laptop which is thin and lightweight enough to be handy, but having real RJ-45 and access to the pinout, and having battery large enough for 24+ hours of uninterrupted work.

Could be a great tool for engineers working "in the field", allowing to connect any device to pinout and check how it works on the spot, with simple Python script. Shame such an idea did not implement yet, I feel pity for not having proper background in electronics.

Dreaming on, I also can imagine Arduino co-processor, like it has been done in Latte Panda (Arduino Leonardo on SBC). It would've been an ultimate tool for prototyping, testing or studying electronics, Embedded and IoT.


Hoping they release a 6 or 8gb model, 4gb might be somewhat tight for some office environments.


@dang this is not a duplicate of the raspberry pi announcement article - it's a separate review and teardown


Reminds me of the Amstrads, BBC Micros, Acorns, and Amigas I used to love.


The first thing I thought of when I saw the GPIO were the Sinclair ZX81 and Spectrum computers.


Interesting form factor of the board. Everything on one edge. I wish I could buy just that.

I supposed I will have to settle for the whole thing and toss the keyboard.



I wonder if someone will build a little custom (long) case for the Pi 400 board. It's a very simple design, and in the official Pi 400 case, it just snaps in with two snaps. Could be 3D printed easily enough.


AFAIK (don't have one) the (larger, with SSD slot) NESPi cases redirect things to the back (minus two USB ports)

edit: ignore me, i see now you said board, not case.


If your goal is just to have all ports on one side there are a few cases available for the RPi which accomplish this. I use the Argon One case.


The next obvious upgrade is to make the pi-400 headless, right? Why have wires at all? It should have a rechargeable battery like most keyboard/mouse combos do.

Then you just plug it in to charge it and every other perf connects via bluetooth or wifi.


Does anybody know if this is fast enough to run a browser with a Jitsi client? As a standalone conferencing terminal.


At a guess I'd say yes. The Pi 3 model could run Chromium and play YouTube at a reasonable-ish speed in a full desktop environment.

The Pi 4 is faster with more RAM (if you get the larger RAM models which go up to 8GB). This one is faster again than the Pi4B.


Thanks, however playing YouTube only requires decoding video which is less difficult than encoding it. You need both for Jitsi, and at a non-trivial resolution (>=720p) to boot.


I understand. I develop secure (video) communications solutions for a living. I don't have a feel for the encode capability of the Pi as I've never used it for that purpose but I still think you should be OK at ~1080p.

Like I said originally it is a guess, but if it's of help to have some experimental evidence, I'm happy to rip a Pi4B out of my rack at some point and run some tests if I can spin up a Jitsi server quickly with Docker.


Well, that would be above and beyond. ;) No need to spin up a server, though? Public rooms are available at http://meet.jit.si/.

(This is an entirely different thing, but apropos: the RPi 4 is too slow to run the Jitsi Meet server, at least according to the devs: Arm and 4GB of ram are not enough to run it https://community.jitsi.org/t/jitsi-meet-on-raspberry-pi-4-f...)


Ok, I've run the test on a Pi4B 4GB and my Laptop. The Pi4B is hard wired to a gigabit network, the laptop on WiFi AC. The Pi is using a Microsoft LiveCam USB webcam, the laptop is using the built in (1080p?) camera.

The Pi is running the Raspberry Pi OS desktop which I've just downloaded/installed and fully updated and is using the Chromium Browser.

Laptop running Ubuntu 20.04 and Firefox.

The Pi decodes HD reasonably well with some occasional glitching but only encodes SD, Jitsi complains about the network being non-optimal but that appears to be a red-herring, all 4 cores are at 100%. If I lower the "call quality" slider to SD the network issue goes away.

The video received on the laptop from the Microsoft HD webcam on the Pi is 420x270. it's smooth and the frame rate and latency is "good" but it's pretty "soft" at full screen due to the low resolution.

In conclusion, I don't believe you're reasonably going to be able to get 720p or 1080p encoding out of it with Jitsi Meet in Chromium.

Anything else you'd like to know?


Awesome, thank you! Even though it's not what I was hoping for. If you're still set up, you could try with Chrome on both ends, since a single Firefox participant is known to degrade the quality for the whole conference. (I'll try to find a reference once I'm at my desk.) I suppose if the rpi is at 100% cpu that's unrelated, though.

Edit: The issue I mentioned appears to be fixed for a while: https://github.com/jitsi/jitsi-meet/issues/5439 More discussion here: https://github.com/jitsi/jitsi-meet/issues/4758


Ok, so I gave it a test with Chrome on the Laptop and Chromium on the Pi. It starts at 720p ~10fps and then drops to 270p ~30fps after a few seconds (I'm not actively cooling the Pi). This is a slight improvement since it didn't hit "HD" at all in the first test. Note the camera connected to the Pi is only 720p so it's at its top resolution.

I can add active cooling to the Pi and test further once I find the fan I have lying around here somewhere.

EDIT: Added active cooling and increased video memory from 76MB to 512MB (although I think it's capped at ~400MB if I remember correctly), I'm now getting encode of 640x360 @ 15FPS on the Pi, so a slight improvement.


Thanks for your effort, very cool.


Hey, I'm not morsch, just wanted to thank you for testing and posting the results :)

Too bad, but probably to be expected. The RasPi wasn't really meant for tasks like this. Still, actually interesting that it would suffice in a pinch if you just needed to just stream some video, even if the quality isn't really good.


No problem, hopefully it helps answer some peoples questions about the kind of performance to expect.

I imagine Jitsi isn't taking advantage of hardware encoding capability (It's using VP8/Opus in my testing) but it gives an idea of what's currently possible.

That said, as I mostly work on native code for the communications work I do, I imagine the Pi would do a much better job with a native client and the right codecs.


You can use native code to stream to Jitsi using UV4L[1]. At least I think you could, at some point. It's a bit odd, certainly not as plug and play as using the browser.

[1] http://www.linux-projects.org/uv4l/


Understood. I was planning to spin up the server on a "proper" server machine and just use the Pi as a client (which is the metric I believe you're interested in). If public servers are available, I can just spin up two clients on Pis and give it a test calling between the two. I don't have many options for USB cameras but I can figure something out. I do have a CSI camera I can test on one Pi though.

I've made a note to test this. I'll need some time as they're mounted in a server rack case I built and will need to be removed and re-installed with a DE to test at my desk.


Why was this marked dupe? It's a lot more interesting and informative than the OG announcement.


If there only was a version of this thing with a more serious storage (like a small onboard NVVMe or something) and a boot path like coreboot or EFI... is there mainline 2d / 3d acceleration nowadays? Could even release a USB-C dock so we have power, ethernet and displayport with one connector...


There is indeed EFI https://rpi4-uefi.dev – even with ACPI tables, but if you choose ACPI you won't get all the Pi-specific devices (i.e. the GPU I don't think has an ACPI attachment yet).

And there has been 3d acceleration drivers in mainline linux for even the previous Pies too for a few years. But only in Linux.


And here is your prayer answered, by the same author:

https://www.jeffgeerling.com/blog/2020/im-booting-my-raspber...


I'd be shocked if coreboot ever supports the Raspberry Pi... the boot process on the Broadcom SoC is completely insane. The GPU is actually responsible for starting the CPU on power up, and it needs several firmware blobs in order to do that.


One thing that's missing compared to the standalone pi is the camera connector (and display connector, but I've found that less useful as HDMI displays are cheaper and more available and I've ended up using several Pis in headless camera applications).


As someone with experience in headless cameras, do you have any comments on the Pine64 "PineCube" [1] stand-alone IP camera? It seems pretty awesome but I have no clue.

[1] https://pine64.com/product/pinecube-dev-kit/?v=0446c16e2e66


Nope, sorry, haven't used it. The major benefit of the raspi setup is the software support, which is excellent.


I think the overlap of people who wants it integrated in a keyboard and people who will make meaningful use of camera connectors is pretty small.


You're probably right (though I see a lot of people using a pi as their first foray into computer vision, and I could imagine some of them wanting to play with this) but it was not mentioned in the review or in the raspi blog post so I thought I'd point it out.


What are the physical dimensions? I'd like to know how it compares to an 11" MacBook Air for portability.


> Maximum dimensions 286 mm × 122 mm × 23 mm

https://www.raspberrypi.org/products/raspberry-pi-400-unit/


For comparison, a MacBook Air is ~300 mm×190 mm×17 mm.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: