Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.

[0] https://wiki.radxa.com/Rock5/hardware/5b



The blog post says they're releasing a M.2 hat in "early 2024"


I don't love that you'll have to choose between PoE, M.2, or active cooling / a case.


You won't have to. They can all be stacked.


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.


it can be forces into "experimental" 3.0 mode so thats something.


Would active cooling work underneath another hat?


It looks like the M2 socket will be connected with a flexible ribbon, so it is possible that it could be mounted below.


I'd welcome an M.2 shoe rather than a hat.


And then a PoE+ jacket to go with the active cooling hat and M.2 shoe.


Wouldn't trousers work better in the metaphor. Then you can have a base be the shoes.

Then the ribbon cable would be braces


Then surely there must be competition or a record for “tallest ever,” hopefully requiring each layer to be functional.


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.


maybe at a 100Hz clock rate?


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.


That is so dirty, i love it


I obviously have different kinks to you...


I can wholeheartedly recommend mine


that doesn't change anything in this conversation, though.

one can still have lots of I2C devices on one bus if they can be given unique addresses.


What?

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.


Nearly all I2C devices only allow you to set 1 or 2 of the address bits though.


Yeah, if you choose I2C devices randomly, I think you can expect to only get about 50-ish on a bus before you run into a collision.


Someone needs to make a Sega 32X hat to complete the Tower of Piwer?


My friend had a SNES -> game genie -> (super???) Game boy adaptor stack.

Unfortunately the internet wasn't available to get codes for the game genie, I'm not sure it would work anyway

Edit: yes the super game boy. Can't find any codes for the super game boy. So I assume that's prevented from the way they both work.


Now I'm thinking that you could stack a Game Boy Game Genie as well.

SNES => SNES Game Genie => Super Game Boy => Game Boy Game Genie => Game Boy Game. (Or even better, the Game Boy Camera or Printer)


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.

So you could have your camera and printer.


You don’t have to as long as whatever devices manufactured have a PLX on them. This adds to the cost though.


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.


Are you sure it's 1.2GiB? The RPi comes with 5Gb/s USB ports, which is 596MiB/s

Now that I think about it, Linux may be caching writes, but even then double the write speed compared to the read speed seems weird.


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.


This would limit you to just connect SSDs. Their solution opens up more versatile access to other PCIe devices.


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 best part about M.2 E key is that it does not require +12V.


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


I recommend booting Pi 4 and Pi 400 from external (USB) NVMe in an enclosure.


Indeed, but it's somewhat of a hassle. Having everything integrated on the board, or in the same case, is nicer.


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.


On a CM5, a lite or one with eMMC would suffice in combination with NVMe. I have CM4 with eMMC and use SATA w/them.


> A NVMe compatible M.2 M Key connector

Yeah. The Lichee Pi 4A has one of those under the board, it's really useful.

I wouldn't even blink if they completely jettisoned the MicroSD slot, these have proven to be a giant PITA over the years (slow, unreliable, etc...)

I really don't understand why they would miss that.


MicroSD allows for a really low cost deployment (availability issues aside), especially when PXE is not suitable.


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.


For the low cost route, boot off USB flash drive.


Meanwhile in reality when nvme drives die in like 6 months… ughhhh


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.


Out of curiosity which brands?


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.


> Amazon is awash with 928Gb units for about £10

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.

Search "SD card caught on fire"


The 'almost' part of my comment was the 8-32GB part, not the scam part.


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.


Does something, like getting a new attorney general I guess.


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.


Or use USBv3 to NVMe enclosure. Cheap and good ones can be found on Ali.


Get the caseless ones and then 3D print my enclosure ;) https://www.printables.com/model/590143-case-for-usb-to-m2-n...




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

Search: