Hacker News new | ask | show | jobs
by bacon_waffle 2275 days ago
Not Raspberry Pi exactly, but the SoC used in Beaglebone has a couple "PRU" co-processors which run at 200MHz, share RAM with the main CPU, and have access to peripherals including some GPIO. It's not too hard to use those for precision timing while the main CPU does the typical Linux stuff.
1 comments

I've heard that said, but I've never actually seen a real project that uses those coprocessors. I've always thought that odd as it seems like the perfect setup for real time control. (I have seen tutorials on how to use them but no non-educatuonal projects)
Yes, I think they're more of a curiosity for many hacker types, but they definitely do get used.

My Siglent SDG-2042X signal generator uses the same SoC, would guess it's using the PRUs to drive its DACs.

A member of our local makerspace used a PRU to drive a big display made with shift-register RGB LEDs (something like a WS2812 - can't recall details).

I have made a proof-of-concept interface to a fairly high end ADC that did a little bit of filtering in the PRU before sending the results to the main CPU.

It is a great setup, but most of the projects you'll hear of are in the hobbyist world where cost reigns supreme.

Raspberry Pi is much more popular and costs far less. The PRUs can be replaced by a couple of Arduino Nanos for a buck or two each. Won't run at 200MHZ, but there are very few control tasks that need to run that fast.

Ken Shirriff used them in his Xerox Alto ethernet gateway [0] for bit banging a 3Mb/s ethernet signal.

[0] http://www.righto.com/2018/01/xerox-altos-3-mbs-ethernet-bui...

have a look at machinekit (linuxcnc-fork): https://github.com/machinekit/machinekit-hal/tree/master/src...