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

Come on, you need to at least read the datasheet and errata of the Broadcom SoC. Oh... There isn't one... Unless you're purchasing millions of chips from them and signing an NDA.

Seriously, why the hacker community even touches the RPi is beyond me. It is a ridiculously closed product.



It's the "maker" community, who are more than satisfied to glue together half-working things with no real knowledge --- or intent to learn --- about how they work.

In fact I'd bet most of them would be scared off by the several thousand pages of documentation an SoC like that usually would have.


This sounds disparaging of the "makers" but if your options for a hobby project are:

1) glue shit together

or

2) read several thousand pages of documentation

who is going to choose the latter?

This is a market that's being poorly served (maybe it's not big enough to justify investment in developing non-shitty products for them?) but blaming the users seems distasteful.


SoC manuals are not novels, they are not meant to be read front-to-back. You read as much of the documentation as necessary.


It’s still a crap show. I’m working on a beaglebone, i just decided to stay in the PRU for now, because connecting a timer to a DMA to spit bit patterns to a GPIO port without using a processor would involve connecting sections of the manual that are thousands of pages apart.


> It's the "maker" community, who are more than satisfied to glue together half-working things with no real knowledge --- or intent to learn --- about how they work.

Is that any different from all that stack overflow copypasta you find all over source code, where the paster clearly had no idea how that code worked? And I’m talking about people who are being paid to ship code.

shudder. It’s a wonder anything functions at all these days.


Can you blame them, though?

Not to pick on anyone, but I recently installed a stock storybook setup. Out of curiosity I did a count of all the node_modules (top level + nested). There were >2000 packages installed.

Now I know that if I follow the rules of a textbook professional (one that takes security seriously), then I'm obliged to audit all 2000 packages. But between you and the rest of the gazing internet, I don't do this. That's my dirty little secret. I don't give a shit. Gluing orphaned half-assed npm packages together and pretending everything is okay is my job.

The ironic part is how many hours we are murdering worrying about TypeScript or unit tests or integration tests and trying very very very hard not to notice that landfill we have placed under our massive rug.

There are too many technologies and not enough time to master them. Every time I dive into a popular node package I become more and more worried for the human race. We get things fundamentally wrong and it lives like that. For decades. And people come along and just obliviously use it like that and don't question it. Take something simple, like JWT. Or nonces. Or what people believe and implement around random numbers and how random numbers work (or, often, don't work). Bad information becomes bad code that sits around for a lifetime.


A fairly honest assessment of node here. People that use it aren't usually so candid about it though. Kudos!


Makers would be way better served by basically anything except the Raspberry Pi. Unfortunately RPF/Broadcom marketing is quite pervasive.


I'll bite.

I started on ARMv5 back in the days of Sheevaplug/Dreamplug. At least that had JTAG, even if the cable did cost $70.

I have tried:

* Espressobin: While Marvell's hardware is pretty good, they've had trouble with the v7 board, resulting in the small community being somewhat bifurcated. I still don't think it runs a mainline kernel properly. At least the PCIe slot is standards-compliant. u-boot+ATF will always be a 2018 (?) Marvell fork, no one's ever going to update that.

* Firefly RK3399. Lol. https://lkml.org/lkml/2020/4/6/320. Although, if you can get ARM Trusted Firmware working it's a reasonably competent board.

* Vocore2. Support is reasonably helpful but insists that I use GCC 3.4.2 to compile the bootloader. Remember to back up the wifi calibration data - you can't ever get it back if you erase it. You will need to break out the magnet wire if you want to unbrick it. Shame, it's a nice little MIPS board.

* Anything Libreboard - use this, they've put a stunning amount of work in to get things upstreamed.

When I want to just work on something not on a PC, I keep coming back to the Pi. The Pi 4 is competent with an SSD attached over USB 3, and the Pi 0W is great for very simple tasks that need Linux. I wish it were better, I wish Broadcom was more open, but the Pi has the biggest community I've seen in any "hobbyist" ARM space.


In what way?

Seriously, it's easy to crap on this stuff when you're willing to recommend boards that cost "just 20 dollars more", or have one-hundrenth the community because most of the end users are embedded engineers or the anything-but-a-pi sub crowd.

To me it just shows a lack of ability to consider requirements in evaluation. Even something as simple as the fact the rPI form factor has been fairly consistent for a while is a huge boon to people just trying to start with this stuff.

I could give my mom a rPI and a $20 starter kit and she could probably get to the point of a working PC.

I wouldn't dream of that with anything else. The fact it's Broadcom based is a little unfortunate but that ship has sailed and the ecosystem around it now trounces any benefit of alternatives for the actual people using them. Not embedded engineers who say it's crap because they wouldn't make a custom product based on that SoC.

-

This is like when people point out that for half the price of an Arduino Uno you can get an STM32 board that will run circles around a dinky ATmega328.

It's not about the power or "objective goodness", even the header layout of the Uno lets beginners use an insane wealth of peripherals designed for it


> This is like when people point out that for half the price of an Arduino Uno you can get an STM32 board that will run circles around a dinky ATmega328.

There is an Arduino port to STM32 (Blue Pill in particular), for those whose idea of embedded programming involves a bunch of delay() statements scattered around the library code, making sure no other peripherals can be used while you’re polling for the next UART char..


I'm well aware of how many places the Arduino core is ported to, it doesn't change the fact an actual Uno has the defining form factor and MCU.

There's a million and one peripherals designed for that specific combination that don't work seamlessly with other boards (even within the "official" Arduino family)

I mean your complaint about the quality of the library code, it's perfectly fine that the code sucks if it lets people do 1 million and one things they couldn't otherwise.

Do you really think someone programming an Arduino for controlling their cosplay LEDs cares if the library they used is poorly written? As long as it works it works.

They were never going to read the datasheet for an MCU and start figuring out bit masks for pin initialization, so it's literally a case of something is better than nothing, and there's no reason to gatekeep the environment that lets them use embedded systems


Yeah RPi is a great toy but you should treat it like a chemistry set. Use it as a tool for learning but don’t build a product with it. The difference between a $24 board and a $200 board is often the level of support you get. The boards I’ve used in the past all have manuals down to the chip and I won’t touch anything that doesn’t.


And with a 8x smaller price it's perfect for throw-away units. I've heard of people who use it for projects were you place things out in the environment where you really have no control over vandalism, animals,etc so just replacing a cheap unit here or there isn't a big deal.


On the other hand, a surprising number of companies decide they don't need that kind of dcoumentation and just ship Pis, and that often works fine too. Not for things with deep hardware integration, and not for mass-scale, but plenty things just want "linux in a box with some simple peripherals".


As the person tasked with debugging one of those "linux in a box with some simple peripherals", I'm not even 100% convinced they sell them with more than the intent of the consumer turning it on once, playing with for a few minutes, then forgetting it exists.


Oh, not just talking about consumer devices: if anything, I would expect more non-consumer cases (but that could be a wrong estimation)


Even then i'm not sure Broadcom would give you that. They're very aware that they're your only source for $chip and will treat you accordingly.

(A few employers ago, they were the only source for ethernet PHYs for a carrier-grade network product we were building where we supplied our own MAC)


Because it boots linux and starts at $5


Are you aware of the datasheets published by rpi? https://www.raspberrypi.org/documentation/hardware/raspberry...


Those are very far from complete datasheets, covering only a small part of the SoC superficially.


Yep, the 200 pages you get from there is a bad joke. Even a relatively simple ARM microcontroller (the STM32F1 series) has over a thousand pages of documentation in the reference manual. A full set of reference documentation for a SoC like the BCM2835 would probably come out to 5-10k+ pages.


While the rpi does not have as open a foundation as we would want in an ideal world, it seems like the alternatives are not much better. Do you have any alternative boards that you would recommend to the hacker community?


You could buy 30 of them, at least one would be more reliable than the board discussed in the article.


For 30x price you could buy an overpowered x86 and run QEMU.


But which one? :)




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

Search: