1. 27
  1.  

  2. 5

    You can also use Nerves on a Raspberry Pi: https://nerves-project.org/

    1. 3

      Yes.

      But GRiSP is real bare-metal, no OS involved.

      1. 2

        I onky skimmed it but it said RTEMS repeatedly. It’s a minimalist RTOS.

    2. 2

      The description implies that Elixir is supported through Linux, but that Erlang can run within a RTOS. I am confused; isn’t Elixir code just Erlang code? Wouldn’t Elixir code therefore be able to run without Linux being involved?

      1. 7

        There are two software stacks involved here: our GRiSP stack, that supports Erlang and Elixir and links together with RTEMS (something you would call unikernel) which lets the BEAM (the bytecode that Erlang and Elixir compile to) run directly on the hardware. RTEMS is not really a layer since you can access hardware registers directly.

        But we also support the Nerves software stack which runs the Erlang VM from process number 1 under an embedded Linux kernel giving you full control on what runs in user space.

        Both approaches have their advantages and disadvantages.

        So there are 3 options: GRiSP using Erlang, GRiSP using Elixir and Nerves using Elixir.

        1. 3

          Nerves (an embedded elixir platform/framework) requires Linux, I think that’s what the description says.

          Elixir code is not Erlang code but both compile to the same byte-code and this byte-code should be able to run on GRiSP 2 without Linux.

          1. 1

            Actually Elixir code is Erlang code as the Elixir compiler generates Erlang AST. Just to be nit-picky. :-)

            1. 1

              Is this an authoritative answer, or a guess? Cause I already have one of those two. :)

              1. 2

                Not athoritative, first time I hear about this project but since it talks about a complete, full-blown Erlang VM I feel confident stating that OTP releases don’t need anything more than that. :)

                It also seems that GRiSP already had support for Elixir (compiling an OTP release using Distillery).

                1. 6

                  It also seems that GRiSP already had support for Elixir (compiling an OTP release using Distillery).

                  Hi there. I can definitively say that you can run bare metal Elixir. I have done so. You can read more about it here https://medium.com/@toensbotes/going-bare-metal-with-elixir-and-grisp-8fa8066f3d39 and here https://medium.com/@toensbotes/iex-remote-shell-into-your-elixir-driven-grisp-board-76faa8f2179e. I have also done some other things such as communicate with an Arduino over spi, but I have not gotten around to writing anything about that.

                  1. 1

                    Fantastic, thanks for the reply!

                    1. 2

                      No problem. I am quite keen on boosting the adoption of embedded erlang and Elixir. Pleas do not hesitate to get involved.

          2. 2

            Yay, more Erlang in embedded!

            Related, for even smaller hardware (microcontroller scale) there is also AtomVM: https://github.com/bettio/AtomVM/ (lobste.rs)

            1. 2

              I’d suggest hardware tag since this is a board, and release tag since it’s…kinda selling one?

              I’m not really sure we want kickstarters running around here, since it further increases the amount of marketing/advertising that shows up on the site.

              1. 4

                These (Nerves and GRiSP) are open source software stacks that will get better user experience by having this hardware. We will definitely not make any money from the hardware and if by accident we would do we‘ll reinvest it in the open source project. So not very commercial I think

                1. 2

                  If kickstarters be the food of hardware, play on!

                2. 1

                  Cortex-A7 and 128 MB RAM? Why?

                  Why not port that RTOS to an existing SBC that’s 64-bit and has gigabytes of RAM?

                  1. 5

                    It’s a trade off. The Cortex-A7/128 MB is good enough for many products and I’d expect it to be quite a bit lower power than a 64-bit SBC. Also, if you need to make your own PCB, this particular module looks easier to integrate than many of the faster processors.

                  2. 1

                    I have a GRiSP and I’m new to embedded systems programming. Can anyone suggest some project ideas? I’m not sure what I want to build with this yet.

                    1. 2

                      Some other ideas: weather station, indoors climate station (CO2, temp etc.), interface with IKEA smart lighting (https://www.ikea.com/us/en/catalog/categories/departments/lighting/36812/), software build monitor that lights different LEDs depending on build status, poor mans seismograph

                      1. 2

                        I normally find trying to build something useful, or at least marginally useful helps you remain somewhat motivated. So perhaps something like a mobile interface to switch on your porch light, or open your garage door or something?

                        1. 2

                          Or a “night light” that automatically dims when the sun goes down

                          1. 1

                            I have a few Hue lights that I can play with. I can make the colors in the room “warmer” as the sun sets, kind of like what Redshift does to your computer screen. Thanks for the ideas!