A NVMe compatible M.2 M Key connector (like the Rock 5 Model B [0] has) would have been really nice. I'm starting to accumulate old but good, yet small in storage space terms NVMe's which I'm no longer needing, but which would be perfect for a Raspi. Even if the PCIe bus were an older generation and not as performant as the NVMe.
The microSD card slot is really great to have, to get up-and-running, but once it's clear which function the board will serve, being able to move over to a directly connected old NVMe would really be a benefit, also in terms of reliability. These microSD cards scare me, yet I make full use of them.
Finally having a battery backed RTC on it is really great news.
Also looks like PCIe is exposed via an FPC connector. You could probably come up with a scheme to have an M2 device mounted behind the board - if you really wanted.
Only having a single lane of PCIe 2.0 is a little unfortunate. I wonder if the inevitable compute module will get more or not. It seems that their IO chip is also attached via PCIe but it provides a lot of the interfaces that you’d expect to have - so my hunch is that it’ll be included on any CM5.
I think you can have over a hundred different i2c devices connected to the same bus, so it'd get pretty tall if you can power them all. 10-bit i2c (not very common) can do almost a thousand.
Although, you'd need specific rules if you wanted to prevent someone just layering up always-on LED boards.
> you can have over a hundred different i2c devices connected to the same bus
In theory sure, in a world with zero-inductance zero-capacitance busses and infinite-sink-current drivers. In our reality, however, you'll start having issues and start requiring stronger pullups and lower speeds long before you get to a hundred.
One pretty popular home alarm brand uses I2C as “the bus” with somewhat ridiculously large cable lengths for what was designed as a board/enclosure level cheap serial bus. It is in no way a sane design, but it seems to work.
This reminds me of one of the dirtiest things I've seen in this space. Saw i2c buses bridged across multiple chassis by bridging the boards with CAN transceivers. It mostly worked, but I feel like everyone who signed off on that design review should feel bad about the atrocity they created.
A 100kHz I2C with a 10kOhm pullup resistor can only take like... 1nF of capacitance before it all falls apart. (Crude napkin math for RC constant equals 10uS, I'm probably off by a magnitude but I think I'm close).
We're talking about the physical wire and physical electricity. Eventually, the capacitance on the wire grows such that its literally impossible for a 100kHz wave (let alone a 200kHz or 1MHz wave) to be placed upon the wire.
Parasitic Capacitance is real. Each item you add in parallel to a bus will increase capacitance.
--------
Each item you add in serial to a bus will increase resistance and inductance, which also slows down the speed of the bus. Once the speed drops below the specified protocol (ex: 100kHz or whatever you've chosen), it all goes to crap and no one can talk anymore. I don't quite remember the napkin-math formulas for LRC-circuits but... parasitics are hugely important and nH of inductance and nC of parasitic capacitance absolutely can be reached with just a few connectors.
Honestly, I think the earlier estimate of "failing by a hundred connectors" is rather optimistic still. 100kHz I2C and 10kOhm pullup would probably fail within a dozen connectors.
You can have as much addressing as you like and software going on in the background. It don't matter if your literal wires no longer work as you expect.
Well an interesting hack (of a hack) was pirated / imported games couldn't be played because they didn't have a specific chip. They did have splitters so you took the chip signal from a genuine cart, and the other game plugged in the other port.
Fwiw I bought a sleeve for my M.2 SSD and it plugs into usb3 with very little slowdown. It gets 500MiB read and 1.2GiB write. Haven’t measured vs native M.2 to compare, but it’s fast enough that I’d be surprised if the pi were blocked waiting for I/O vs native M.2. And native M.2 comes with increased manufacturing complexity.
Oh, I didn’t test on a pi, just a mac. And yeah the double write speed was super weird. Thanks for answering my internal question about why ~500MiB seemed to be the max.
Same with orange pi5 and 5b. Having an option for a faster and reliable storage is amazing. SD cards are great when you prototype or need just enough storage to netboot a device, but past that it is limiting.
In addition to the ability to adapt M.2 slots into PCIe via an inexpensive adapter, there is a growing ecosystem of M.2 cards for most of the things you'd use a PCIe card for. USB controllers, SATA controllers, Ethernet controllers, FPGAs, even display adapters.
It would not limit you to just SSDs, the m.2 connector on the rk3588 devices generally exposes 4 pcie lanes and an adapter to make this a full pcie slot is already available. So really an m.2 nvme connector is the best of both, you can turn it into any other pcie connector you want via an adapter, but you can just put an nvme ssd directly on the board without a hat.
The CM4 exposes a PCIe 1.0 x1 (Not sure about the revision) lane and can boot from an NVME SSD. It will be nice to have this capability on the Pi 5 with all of the other connectors (except for audio.)
YIL a Pi 4B can run from a directly connected USB/NVME SSD. I've been using USB/SATA SSDs and all I have tried require a powered hub. Do note that I don't just just boot it up and proclaim "It boots - ship it"[1] I thrash it with various disk benchmarks and stress tests to be absolutely certain the SSD does not disconnect due to insufficient power.
[1] I suppose this is the H/W equivalent of the S/W engineer's proclamation "It compiles - ship it!" And I guess this dates me since S/W is pushed rather than shipped these days.
Good luck doing "deployments" on SD drives and still have it run 6 months later, especially in environmentally unfriendly environments. Theses horrible little things die all the time, even when you buy supposedly high quality ones.
Sorry, can you elaborate? Is the death rate of NVMe drives known to be significantly faster than that of other types of drives? I hadn't heard of this.
I can only speak from my own experience, but there are a number of low to mid grade SSDs that use truly awful flash and/or controllers. I've bought many of them over the years for unimportant workloads, and have been unpleasantly surprised by how quickly I can burn them out. It's really worth it to shell out for higher end models just for the increase in durability.
Yeah, I'm not doubting that, and this is consistent with my own experience. But the claim was that it was specific to NVMe SSDs, which I find very odd.
All but the highest models of SanDisk have done this to me, as well as the lowest end of Western Digital, ADATA, Kingston. Same for some lesser brands that I've forgotten (not fakes, just shoddy).
You can get some rather large USB sticks these days. Amazon is awash with 928Gb units for about £10 which are probably not the best. A 256GB or 512GB from a known brand is around £30-50. There are several USB ports on a Pi and you can always boot off a SD card.
Finally, if a network is available then network boot and use NFS or whatever.
The RTC is a cool addition and long overdue. At work I have three Pi 3s with GPS hats and aerials acting as stratum 1 ntp servers. The hats have a RTC included which is handy after a reboot. My use case is "reasonably accurate and stable time" so sub milli second is good enough, I'm not too fussed about nano seconds! I want logs to correlate and desktop clocks to be reliable.
Those are almost certainly 8 to 32GB drives that are modified to report a higher capacity. They are scams that hope your return window expires before you try to load them up with a lot of data. Nobody can profitably manufacture flash drives for less than the wholesale price of the flash chips.
There's no almost about it. They are all scams 100%. The most popular are SD cards with a USB adapter fitted in various housings. The internal adapter or SD cards are modified to do various things like report much larger sizes, allow phantom writes, or even install malware. They can also potentially burn your house down.
FYI I believe all of those ~1TB $10-20 USB drives on amazon are scams- basically set up to trick your computer into showing a terabyte of disk space available, but not actually having that much available if you try to write it all. I was in the market for "largest reasonably priced usb drive" earlier this year and ended up with a 1 TB usb drive for about $80.
I wish some attorney general would buy a bunch of them and then just proceed to sue the shit out of Amazon so hard that Amazon finally gets off it tail and does something.
Flash storage like USB sticks is a crude comparison to an SSD or NVMe with cache and a controller capable of parallel operations.
A USB flash drive is like a dumpster. Big bandwidth when the lid is open but it’s got poor performance for fetching and storing lots of things all the time.
An SSD or NVMe is more like a rolling auto tool chest. Same big metal box, but much more performant for complex and numerous read and write loads.
Or to use a computer analogy: SSD is like a hard disk, USB flash is like a tape drive.
The microSD card slot is really great to have, to get up-and-running, but once it's clear which function the board will serve, being able to move over to a directly connected old NVMe would really be a benefit, also in terms of reliability. These microSD cards scare me, yet I make full use of them.
Finally having a battery backed RTC on it is really great news.
[0] https://wiki.radxa.com/Rock5/hardware/5b