lawik

lawik

Nerves Core Team

Project: RevPi Core & PiBridge

During the Nerves workshop in Berlin we got some fun hardware donations. Beat81 (gym company doing Elixir) brought some nice and useful RPi4 kits and Sonnen (power company doing Elixir) brought something more interesting though more challenging to wield. Thanks to both for contributing and giving us some weird things to do :smiley:

The Rev Pi Core. I link to that particular post because their current product information is all about their CM4-based boards. These are the older Raspberry Pi Compute Module boards that predate numbering, meaning, Pi1/Pi0 level performance. RevPi Core, the original.

But they are cool. DIN-rail-mounted. Modular and extensible via the PiBridge mechanism.

Frank made a fix for the Pi1 CM during the workshop and in spite of the eMMC flashing mechanism described in the manual not working he got Nerves into a device and then repeated the process a few times. So they run Nerves, no issue.

So in the hopes of getting something practical and fun out of the PiBridge connection mechanism, maybe Erlang clustering, I poked about a bit. Frank had warned me that it was probably a mess and a half considering it involved a custom kernel module. Thankfully the source is available.

I did some reading and digging today but could not find an example of their config.rsc JSON format. So I can’t get a full idea about how easy or hard it would be to configure this stuff. I’m sure I can get the kernel module up and running under Nerves unless it builds really weird. But it uses that config to figure out what devices you’ve set up. And that all uses the RS485 of the PiBridge. It would let me control the RevPi DIO modules we got with these boards. They seem kind of cool. I think they do both GPIO and PWM-style control and are isolated from the RevPi Core to avoid noise or nasty electrical surges on either end.

The PiBridge also includes 100Mbit Ethernet. But kind of weirdly. Driver indicates it will show up as a network interface but I don’t know if I could just treat it like one, pull out the strands and shove them in an RJ45 and put it into a switch. I doubt it. So not sure how useful it is. It is intended for use with a RevPi Gate so I believe I would need to make a device that pretends to be a Gate to actually get data moving across the thing and then I could do more.

The DIO modules don’t touch the Ethernet part of the PiBridge but the Core modules do. So I guess one could figure out a way to turn it into proper networking. But I didn’t get a sense of how hard that would be and figuring it out would take a fair bit of time I reckon.

If I install their Pictory application somewhere I should be able to generate one of the config files and get the Core and DIO modules chatting even under Nerves. Meaning I get some fancy GPIOs on my DIN rail :smiley:

I may well try that part if I get restless or have some odd downtime in the near term. There is something inherently satisfying about breaking the intended usage pattern and still making it go. The Core module works at least. If I had a Gate module and the appropriate industrial network set up there is no particular reason this wouldn’t work further under Nerves from what I can see.

All their mainline tools are in a Debian-derivative OS and a bunch of GUI/web tools. Quite click-ops. Seems fairly practical but not my jam :slight_smile:

If you want a straightforward Nerves box for industrial settings I would probably not pick the RevPi. It is built for their (afaik) open but quite custom tooling. In the Pi space some folks have spoken well of the Seeed Studio ReComputer R1000 but there is an infinity of variants out there and beyond the Pi you’ll find even more stuff.

First 4 of 4 Posts! Switch mode

lawik

lawik

Nerves Core Team

@amclain what was the industrial box you you liked from recent explorations? I don’t remember the brand so can’t track it down.

amclain

amclain

The industrial box we added Nerves support for is the Compulab IOT-GATE-IMX8PLUS.

The Nerves system is here:

joshknz

joshknz

I love the RevPi form factor, and some of the accessories/extension modules available. Pity it isn’t a straight forward dev experience.

lawik

lawik

Nerves Core Team

Thanks :slight_smile:

Where Next?

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2976 91332 914
New
f0rest8
Hi everyone :waving_hand: Posting here to showcase and announce that Metamorphic is now officially live on a public-facing domain at htt...
New
byu
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project. My initial shotgu...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
AstonJ
Just a general thread to post chat/news/info relating to AI/ML stuff that may be relevant for Nx now or in the future. Got anything to sh...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
akoutmos
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New
zachdaniel
Introducing AshStorage! Attachment and file management that slots directly into your resources :smiling_face_with_sunglasses: I had hope...
New

We're in Beta

About us Mission Statement