Readit News logoReadit News
Posted by u/MarkusWandel 5 years ago
I've now played with a Raspberry Pi 400 for a week and here are my conclusions
My brother gave me a Raspberry 400 (starter kit) because he knew I'd geek out on it and really evaluate it.

If you give it fast enough "disk" storage it really moves. I plugged in a Kingston brand 120GB SSD on a USB3 adapter. hdparm -t gave 292MB/s read speed and the default LXDE environment was really crisply responsive, with even a first launch of Chromium taking less than two seconds. With such good storage, the only real limitation is that heavy Javascript stuff is too slow - 5+ seconds to switch between folders in Chrome, or for the thumbnail gallery to appear in Youtube. Also, video calling is marginal. Aside from that the CPU is fast enough.

Then I accidentally yanked a cable. And the SSD was bricked. I was able to unbrick it again with the long-powerup-without-data-cable trick, but plainly this setup is too fragile.

USB boot is a game changer. A junk drawer 8GB USB stick works just fine, aside from the fact that it takes many minutes to copy the OS image onto it in the first place.

An old 60GB SATA laptop hard disk in the same USB3 case that I tried the SSD in is pretty good. About like a decent SD card, but without the scary wear/corruption issues. I can post the brand (Can$14 on Amazon) and the workaround needed for its broken (or at least Linux incompatible) UAS.

Bluetooth Audio actually works. In the typical use case, with this thing plugged via HDMI/DVI adapter into an old junk monitor, you can use additional clutter, like a $3 USB headset adapter and computer speakers to get sound or at least plug in a headphone. But if you have a bluetooth headphone or speaker, you don't need cables at all. I can post the recipe that worked for me for this.

PragmaticPulp · 5 years ago
I understand why the Raspberry Pi uses SD cards (cost, simplicity, ease of use) but the entire line would be so much more useful with onboard eMMC storage.

SD cards are great for keeping cost down and getting started quickly by flashing OS images from a PC. However, enthusiasts spend so much time fiddling with external storage options and cobbling together messes of powered USB hubs, cables, external enclosures, and fiddling with kernel issues (USB attached SCSI) that a Raspberry Pi with built-in eMMC would be a breath of fresh air.

They could even keep costs down by adding a connector for an eMMC submodule, similar to what ODROID has done with their boards.

m-p-3 · 5 years ago
Personally I wish they'd add an m2 slot and scrap the SD card. It really is the bottleneck of the whole system.

But they walk a fine balance with PCB space, backward compatibility, performance, cost and user-friendliness.

Teknoman117 · 5 years ago
The speed would be much better than an SD card, but nowhere near the peak M.2 performance we've come to love. The SoC they use only has a single lane of PCIe Gen 2. So 500 MB/s peak (MB, not MiB) with large transfers.

Throw in a PCIe switch or something so you can still attach a USB 3 controller and now you've doubled the price and power consumption.

ed25519FUUU · 5 years ago
m.2 slot is definitely the best long term issue for keeping costs down but providing a way for high speed. Now that they’ve switched to USB, I don’t see power draw as an issue any longer.
stjohnswarts · 5 years ago
Ack, why do away with SD slot? Sure add an nvme port that would be awesome but don't take away stuff, that's why we lost aux out on phones!
znpy · 5 years ago
yes but an sd card can be bought for less than 10 $/€, whereas an nvme disk would cost about the same price of the whole rpi.

you have to keep in mind the original goal of the raspberry pi project.

if you want nice performance and low power consumption, you're better off considering a cheap intel nuc.

stan_rogers · 5 years ago
The default intent, and thus the default configuration, is to have a device that a kid can accidentally nuke without any lasting consequences. That's the whole founding principle of the thing. Lose that and you've lost the Raspberry Pi as a concept.
ekianjo · 5 years ago
> is to have a device that a kid can accidentally nuke

To be honest the large majority of RPi users I have ever met are only adults. Are there a lot of kids who are using it out there?

PragmaticPulp · 5 years ago
eMMC isn't mutually exclusive with having an SD card slot.

Even if they removed the SD slot, you would still reflash the board over USB. That's how it's done with the Raspberry Pi Compute Module. With some software development it could be even easier than fiddling with SD cards.

In education environments, microSD cards tend to disappear a lot. Having one less moving piece to lose would be a win.

akiselev · 5 years ago
PinePhone even has a great solution for the eMMC ease of use problem. The bootloader loads from eMMC by default (and I believe comes preloaded with a distro based on what version you bought) unless there is a bootable (micro)SD card inserted. There's a popular bootable SD card image for the PinePhone that exposes the eMMC over USB allowing flashing using `dd` or similar, which makes the whole process rather painless compared to the mess that is raspberry pi.
iddqd · 5 years ago
I agree. I have run quite a few Raspberry Pi over the years and so many of them died because of SD card corruption. Eventually I got a NanoPC T4 with built in eMMC and it’s been tugging along for a good 2 years with zero issues.
bitwize · 5 years ago
I've never experienced this SD card corruption, even when power goes down to the Pi. I believe it happens, but I wonder what my unique circumstances are. Is it that I always use Samsung or SanDisk SD cards with the Pi?
ekianjo · 5 years ago
> I have run quite a few Raspberry Pi over the years and so many of them died because of SD card corruption

The Pi themselves don't die because of a SD corruption. Only the SD cards do (and they can be recovered).

hohloma · 5 years ago
I've had a raspberry with SD card for more than 3 years now, still working fine. YMMV obviously
wjdp · 5 years ago
Had similar and switched to a cheap used desktop. I was running Home Assistant [1] and my guess is the constant writing of state history into the database slowly killed the card.

[1]: https://www.home-assistant.io/

castratikron · 5 years ago
I browsed the datasheet [1] for the BCM2711 processor and did not see an eMMC controller on this part. Assuming the SD card is connected by SPI which would explain why it's so slow. Also rules out eMMC.

[1] https://datasheets.raspberrypi.org/bcm2711/bcm2711-periphera...

PragmaticPulp · 5 years ago
The Raspberry Pi Compute Module 4 has eMMC.

Jeff Geerling benchmarked it and found it faster than his fastest SD card: https://www.jeffgeerling.com/blog/2020/raspberry-pi-compute-...

It's definitely not NVMe fast, but it's perfect for average workloads.

fest · 5 years ago
The physical layer for eMMC is SDIO- the same is used for SD cards, at least if you want more than ~ a megabyte/s of interface bandwidth.

IIRC the layers above SDIO are slightly different for eMMC and SD(HC), but generally SoCs that have SDIO interface support both types of memory.

umvi · 5 years ago
For those who don't know eMMC is basically an SD card that is soldered to the board
PragmaticPulp · 5 years ago
eMMC has several advantages over microSD cards.

For example, the microSD slot only has 4 data lines. eMMC isn't constrained to the microSD slot, so they can have 8 data lines.

The Raspberry Pi 4 Compute Module has onboard eMMC. Jeff Geerling tests a lot of SD cards on the Raspberry Pi, but he found the CM4's eMMC is faster than any SD card he's ever tested: https://www.jeffgeerling.com/blog/2020/raspberry-pi-compute-...

webmobdev · 5 years ago
Then do we have "eMMC" equivalent quality SD cards that lasts just as long?
jstanley · 5 years ago
Why is that more useful than a removable SD card?
charwalker · 5 years ago
3B+ forward has support for USB boot, as of I think July this year it was built into the firmware for the 4b. I have a Zw with SD card as it requires more or less but everything lese is USB based with drives I swap around for raspbian, ubuntu, retropi/etc. But setting that up does require an SD card with respbian unless the pi shipped with the newest firmware.

I'm not against on board storage but I understand the tradeoff to allow user expandability and reduce production costs. I think they'd get heat on the eMMC size unless it was like 32gb and I don't think that cost increase would make it very far. But maybe with the push to the 400 they will start to go that route to create a self contained but expandable system that is plug and play raspbian by default.

anderspitman · 5 years ago
I think the key advantage of SD cards is they're easy to understand and use (once flashed). Conceptually it's simple to explain that the software lives on that little card. Want to change the OS? Swap the card. Plus it makes it easy for people who aren't comfortable flashing to buy a card with their OS of choice installed and ready to go.
tylerchilds · 5 years ago
The Raspberry Pi 4 Compute Module has eMMC
kochthesecond · 5 years ago
Yes, I gave up on my rasp pi because of the instability of sd cards. It could barely run a few weeks without manual intervention. Honestly I have no clue how anyone does anything useful with them. Tried using usb attached ssd for a while, but never got it so stable that a remote reboot (or power loss) had acceptable risk.
TaylorAlexander · 5 years ago
I hear that many people are plagued with SD card issues. But I’m running probably ten raspberry pi’s right now and while I’ve had a couple SD card issues over the years, that has seemed to be the exception rather than the rule.
csdreamer7 · 5 years ago
SD cards are getting nvme in the future with 7.0 specification. I wonder how that will affect performance.

https://www.slrlounge.com/sd-express-memory-cards-pcle-nvme/

thetinguy · 5 years ago
They could implement UFS 2 if they wanted higher speed.
m463 · 5 years ago
But cost is supreme in the case of the pi.

It's sort of like Elon Musk saying on Electric Vehicles: "We could make the car infinitely desirable, but if someone does not have the money, they won't buy it"

Just pull up https://www.raspberrypi.org and you'll immediately see "someone" is kids.

So I think the fiddling is a given, maybe part of the experience, and usually there's a payoff.

that said I'm not immune to wishful thinking. I think an expensive $150 Pi Pro that makes a profit would be cool. Think mini-itx, pcie, m.2 and memory slots PLUS gpios.

IgorPartola · 5 years ago
It would be better if it had a built in fast flash of about 8GB. That’s enough to run the OS and do basics and if you want more, add it via one of the external ports.
tutfbhuf · 5 years ago
> and fiddling with kernel issues (USB attached SCSI)

That's actually a good thing, the raspberry pi community uncovered a ton of issues over the years related to storage drives over USB, which has been or can now be patched in the kernel to make such things more reliable.

rjsw · 5 years ago
The eMMC submodule works just as well as a SD card when writing it on another system, the submodule plugs into a small PCB with SD card traces on one end, you then plug the whole lot into a SD card slot.
bufferoverflow · 5 years ago
I disagree. When your eMMC degrades, your Pi turns into e-waste. With SD cards you get to enjoy the progress. In both speed and price per GB.
rowanG077 · 5 years ago
Why would you want eMMC? I'd rather not have to deal with broken eMMC. And non-upgradeable storage.
Joeri · 5 years ago
I got a pi 400 to replace a 2009 mac mini that was serving as the kids' computer but was struggling to play the online games they wanted (including scratch) because of missing webgl support in recent chrome updates.

Performance is roughly on par with the core 2 duo in the mini, but the graphics is more powerful and fully supported by webgl, so in practice it struggles less with the scratch environment and online games than the mini did. I would however not consider it snappy, it is quite sluggish to use chromium on it. I got both netflix and disney plus to work with minimal effort but disney plus is very slow to load, it takes almost a minute to fully pop up. It does play fine when streaming video.

The kids so far are quite happy and have been using it a lot more than they used the mac mini. It does everything they want (online educational games, some digital homework, and scratch), and they're not bothered by the sluggish loading of some sites. I think they also like the way it looks, it is a very fun looking little computer.

webmobdev · 5 years ago
But why are you using Chrome in the first place - it's a known memory and CPU hog! Doesn't Firefox or other Webkit based browsers support webGL fully?
stonogo · 5 years ago
I don't understand what "memory and CPU hog" is supposed to mean here. Chrome runs faster than Firefox on every single ARM device I've ever used, and since the parent comment is explicitly about running a web app I would guess that nobody really cares if it takes slightly more resources to deliver good performance.
m-p-3 · 5 years ago
FF uses more memory on my system than Chrome now..
chias · 5 years ago
How did you get Netflix to work with minimal effort? The 400 is still an ARM chipset, right? I know the "rip-arm-widevine-out-of-chrome-os" trick will work, though afaik the only automated way to accomplish this is via Kodi + the Kodi app at https://github.com/CastagnaIT/plugin.video.netflix

But I'd hardly consider that "minimal effort" in the general case. Did you find a better way?

Edit: also, Chrome itself. How did you manage that?

Joeri · 5 years ago
It’s chromium, not chrome, sorry for the confusion. I followed these instructions: https://blog.vpetkov.net/2020/03/30/raspberry-pi-netflix-one...
dom96 · 5 years ago
I did some quick testing of IO games on mine and was quite disappointed, when even Slither.io cannot be played smoothly in a browser (a relatively simple 2D game) then the experience is quite underwhelming for a machine that has had this many iterations.
kzrdude · 5 years ago
Anything web browser based is a disappointment on the rpi, and that's just it I think. Native apps work fine, emulated old games work fine etc.
jops · 5 years ago
I learnt to program on the ZXSpectrum with "Write Your Own Adventure Programs for Your Microcomputer" [0]

The RPi400 with Pico-8 seems to tick the same boxes, so I got one for my 10yr old. He's loving it. Perfect use case.

[0] https://colorcomputerarchive.com/repo/Documents/Books/Write%...

abraxas · 5 years ago
I wish there was a bare metal option that boots RPI 400 into a BASIC or Python interpreter the way the 8 bit machines used to
UncleSlacky · 5 years ago
RISC OS Pico boots straight into BBC Basic:

https://web.archive.org/web/20181109020203/https://www.risco...

(IA link as it's been removed from the site, but the installer is still available via IA).

notpygame · 5 years ago
There's a python/pygame/pygame_gui OS that does exactly this called snakeware. https://github.com/joshiemoore/snakeware Grab the rpi4 image and go.
simonh · 5 years ago
The Pi OS comes with Python installed, the pygame libraries, a bunch of games written in Python and of course the source code so you can modify them and create your own.

https://www.raspberrypi.org/documentation/usage/python/READM...

https://www.raspberrypi.org/documentation/usage/python-games...

0-_-0 · 5 years ago
drcode · 5 years ago
Pick up a pocket chip for $40 on eBay- you have to click a single button after boot and then can start coding a game with pico-8 in lua.
mlyle · 5 years ago
It's not bare metal, but Python on Pi400 is great for kids.

Especially with side-by-side with a Minecraft window and the Minecraft Pi Edition python integration.

Also, there's a whole lot of little boards that support Micropython, and boot straight to it, including ESP32 etc. I use them in the classes I teach.

lixtra · 5 years ago
What do you mean by bare metal? Booting into python (or basic) would probably take less than 1h for someone who knows what they are doing.
zozbot234 · 5 years ago
RISC OS for RPi can do this. Not sure if RPi400 is supported just yet.
antod · 5 years ago
I got my start with a Spectrum and that book too. Far less luck interesting my kids in computers though.
fmakunbound · 5 years ago
These Usborne (and other) books were fantastic!
butlersean · 5 years ago
one of my colleagues uses that as an assignment for his students, they have to port one of the listings to c++
MaxBarraclough · 5 years ago
Sounds like a neat bit of kit. For anyone unfamiliar, it's essentially an ARM-powered PC, in the form factor of a keyboard. [0]

> I was able to unbrick it

I know it's a nitpick, but if it can be repaired, it's not bricked.

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

kencausey · 5 years ago
From recent usage of the term 'bricked' here on HN I think those of us who consider bricking to at least require use of JTAG to alleviate to have lost the battle.
reaperducer · 5 years ago
I suspect few people on HN have truly experienced a "bricked" device in their lifetime.

To you and me:

Static electricity from the carpet discharging into the joystick port of a Commodore 64? Bricked.

Yanked a cable from my Raspberry Pi and had to reboot in an unconventional manner? Not bricked.

tartoran · 5 years ago
In my opinion if the fix is not know at the time it could be considered bricked, at least temporarily until the fix is discovered.

How would you called a device that meets a fate like that? Stuck? Blocked? Unaccessible?

fencepost · 5 years ago
Soft bricked vs hard bricked. There are recovery procedures (possibly intrusive or troublesome) for soft bricked.

As an example, if I have a network device so screwed up that I have to do a little power and connection dance to get it to reload via tftp, I'd call that a soft brick. If I have to solder in jtag pins, that's pretty firm. If the magic smoke has come out, that's definitely hard.

Splendor · 5 years ago
"I thought I had bricked it, but..."
zbrozek · 5 years ago
I agree; I think bricked is a fine word for this, even if it's reversible. Once you give up it's permanently bricked.
taneq · 5 years ago
Do we really have to have the “bricked is relative” argument again?

Edit: To be more constructive, how about a definition for “bricked” as “unable to be recovered by the intended users of the device through reasonably expected efforts.”

MaxBarraclough · 5 years ago
Seems to me the word has a clear sense of permanence built into it.

The term arose because a brick cannot be transformed into functioning electronic equipment. A device is said to be bricked when it is no more useful than a brick. If you drop your smartphone into water, and it shows no signs of life even after a couple of weeks of drying, you've bricked it.

The average user is not competent at repair, as that's a specialized skill. They might not know what to do with a laptop if you blanked its SSD, but we wouldn't call that laptop bricked.

rjsw · 5 years ago
Maybe extend your definition to include "... with the tools available to them", something may be recoverable with a JTAG programmer.
MarkusWandel · 5 years ago
Skype is not possible at this time. I tried 32 and 64 bit OS images, Chromium and Firefox. All are browser not supported, or it works but then doesn't make any attempt to use the webcam or a microphone (even the setup menu entry for this is missing). This being a web app, it could of course change any time. The other stuff that I tried - Zoom and Google Hangouts - worked, just not fast enough for good frame rate.

A modern computer should have suspend/resume. This doesn't, but all kitted out with accessories - 7 port USB hub, USB headset, spinning laptop hard disk - it idles at 6-7 watts, plus it boots fast and shuts down almost instantly, so that's not a big issue.

Now for a list of things that I think this is good for:

1. As an accessory to the family TV - for online video that the "smart TV" is too dumb for, for games and such.

2. As a classroom computer, with a few sample setups.

2a. Overlay mode (i.e. immutable SD card image and no wear) and everyone uses the same generic userID but then logs into their own google account.

2b. Overlay mode, immutable SD card image and everyone brings a USB stick to store their data on.

2c. Completely diskless mode, everyone has a USB stick they boot from (this works very well even with a typical slow USB stick).

2d. Completely diskless mode, PXE boot from a server (needs gigabit wired ethernet for adequate performance)

2e. Like 2c but with NFS home directories. This needs some sort of centralized account management.

Practical as that is, probably Chromebooks are too well established for this to get any traction.

3. As the standard experimenter's Raspi. Costs about the same as a Raspi4 with a good aluminum fanless case, so you get the keyboard for free.

4. As a small NAS/DVR/whatever server node. Same as 3. You get Raspi4 performance and passive cooling for about the same price but a free keyboard.

5. As an extra homework/Youtube/whatever screen in a screen-constrained budget conscious family. Get a $10 monitor from Craigslist/Kijiji, a $2 HDMI/DVI adapter for it and you're off. Except for the sound thing; suggest Bluetooth for minimum clutter for that.

Really a practical little machine, comparable to a decent 10-12 year old laptop with an SSD upgrade.

MarkusWandel · 5 years ago
1080p video playback is pretty decent. Youtube in Chromium or Firefox is mostly perfect but plainly with some frame drops. A h.264 encoded .mp4 file at that resolution, played with mplayer, is rock solid. VLC too, except mysteriously, it currently gives a black screen when set to fullscreen.
slezyr · 5 years ago
> This explains the cost, but why are they supposed to be more buggy? Should you have time to test those individually if there's just a small number of them?

I had to set my user agent to Windows/Edge to make it work in Firefox. However, I can't remember if the audio/video worked.

severine · 5 years ago
That's a great review, keep'em coming, people!
justin66 · 5 years ago
> I plugged in a Kingston brand 120GB SSD on a USB3 adapter.

> Then I accidentally yanked a cable. And the SSD was bricked.

People who are going to use this as as their setup ought to buy a real, fast USB SSD, instead of relying on SSD drives plugged into adapters. They're engineered to deal with stuff like this and they're fast. (the Samsung T5 and T7 both benchmark even faster than what you saw, well above 300MB/s)

LegitShady · 5 years ago
I think the limitation is the raspberry Pi which has no sata or m.2 interfaces. That's why they used a drive with an adapter.
GordonS · 5 years ago
OP mentioned USB SSDs, not SATA/M.2 SSDs.

Would be nice for the next Pi to have an M.2 slot tho...

justin66 · 5 years ago
Accidentally unplugging an SATA or m2 drive will have similarly awful results.
danparsonson · 5 years ago
> And the SSD was bricked. I was able to unbrick it again with the long-powerup-without-data-cable trick...

What's the long-powerup-without-data-cable trick, if that's not a stupid question? Sounds like a useful thing to know!

mightyoj · 5 years ago
Check this out, I hadn't heard about it either but am testing it on a ssd now.

https://dfarq.homeip.net/fix-dead-ssd/

danparsonson · 5 years ago
Great article, thanks!
Zaskoda · 5 years ago
I was wondering the same as I have an SSD I used as an external usb drive that has stopped working. I've never heard of a drive getting bricked much less there being a way to resolve it. I was assuming a permanent hardware failure of some kind.
anandology · 5 years ago
I have been playing with a Raspberry 400 for couple of days now. I thought of recommend it for my nephew, but couldn't do it because of the following drawbacks.

1. Lack of 3.5mm audio jack or built-in microphone/speakers 2. Unable to run Zoom reliably

Given that schools are closed (at least in India) and classes are happening over zoom, these two drawbacks makes it a no-go for my use case.

8bitsrule · 5 years ago
Good point. Audio from a 3.5mm jack would add little to the cost, and also keep down headphone cost. Also, most monitors have really shitty audio. Boo.

"Getting audio out of the Pi 400 was a bit of a challenge; it defaulted to attempting to deliver audio over HDMI, and Raspberry Pi OS' audio control dialog isn't the best. Even after changing the output device to USB Audio (my gaming headset), YouTube wasn't producing audio—and there's no "test" button I could find in Pi OS, like the one in Ubuntu's audio-control dialog. Closing and reopening the browser entirely after changing the output device resolved the issue, and audio played from the headset fine afterward." https://arstechnica.com/gadgets/2020/11/raspberry-pi-400-the...

MarkusWandel · 5 years ago
My experience has been fine. Whether with the default audio device picker (which doesn't work correctly once you've installed PulseAudio) or PA's own "pavucontrol" selecting output device is snap. Sometimes you have to restart the audio-producing program to use the new selection, which is a feature, not a bug - you could have different programs use different audio devices at the same time.

So to get the usual 3.5mm jacks, just buy a cheap USB/analog headset adapter; about $3 from Ali Express. Select as input and output, and done. Microphone is usually not an issue if you're using a webcam since most have an adequate one built in.

charwalker · 5 years ago
Would you be able to output audio or have a audio/headphone/headset jack via a monitor over HDMI? Bluetooth is also an option but would require a headset and setup to work well I think.