GRiSP: Anyone played with one?

erlang
robots

#1

I realize this isn’t really “Nerves,” but it felt like the closest fit to me…

I somehow just found out about GRiSP boards today:

Has anyone used one?


#2

I have one, but i haven’t opened it yet. It supports Elixir, but i am not sure of how documented it is. Assuming there is toolchains for it, Nerves could support it to an extent.


#3

I have one, and have opened it :slight_smile: No code written yet though.


#4

I’ll ask what I expect many people are wondering …how does it differ to a Nerves setup? :slight_smile:


#5

My understanding so far:

  • GRiSP runs the Erlang VM on bare metal, while Nerves boots into Linux and then starts the Erlang VM.
  • GRiSP is Erlang-first, while Nerves is Elixir-first.
  • GRiSP is a single board, while Nerves supports many boards.

#6

Would Nerves ever support ESP32?


#7

FYI on GRiSP: There’s been some recent discussion of a GRiSP v2 board. The current processor under consideration is a NXP iMX.6, so it could also run Nerves! This is all preliminary, of course, but it’s very exciting to me since it would improve the ability of the Nerves and GRiSP communities to collaborate.

If you’re interested in GRiSP and GRiSP v2, there’s a #grisp channel on the Erlang Slack that you may want to join.

-Frank


#8

Nerves is based on the Buildroot distribution of Linux, which has hardware requirements beyond what ESP32 can support (Xtensa MMU, for one).


#9

Thanks Frank! I’m very interested and excited about this for the same reasons you mentioned :slight_smile: I’ll join the channel.


#10

There is a project that aims to run BEAM code in small devices, including ESP32: https://github.com/bettio/AtomVM


#11

I’ve seen that project before and i really hope it takes off. It’s still super early, but i have high hopes for it.


#12

Hello,

I’m the creator of AtomVM project :slight_smile:
You are right, AtomVM stills lacks a lot of features that users would expect such as maps and funs, but I’m actively developing it so they will be supported in near future :slight_smile:
Right now I’m working on some improved garbage collection algorithms, while in the meantime I’m also implementing more BIFs and NIFs and reworking ESP32 platform support (bidirectional UDP support is coming).

I think soon I will write a post that explains how to blink a led using some Elixir code (it is already possible but not really well documented).

Hope you’ll find this useful.


#13

So is there anyone who has actually tried running Elixir on a GRiSP so far?

The price tag is € 179 (excl. VAT). Is it worth it, vs. buying e.g. a Raspberry Pi 3 for 1/6th of the price, and running Nerves on there?


#14

I own one but have not had time to play with it. Iirc the tooling just takes a bundle of beam files and uses them. I remember seeing a talk at Erlang Factory a few years ago that made it look pretty simple.

That being said unless you have a hard real time requirement, I’d stick to RPI. It’s cheaper and covers much of the same ground