Live data from Hacker News

Run Erlang/Elixir on Microcontrollers and Embedded Linux

grisp.org

11–20 of 55 posts

Re: Run Erlang/Elixir on Microcontrollers and Embedded Linux

#11
post #6
post #5

> MCU-class footprint (fits in 16 MB RAM) That is absolutely not an MCU class footprint. Anything with an "M" when talking about memory isn't really an MCU. For evidence I cite the ST page on all their micros: https://www.st.com/en/microcontrollers-microprocessors/stm32... Only the very very high performance ones are >1MB of RAM.

RAM on MCUs is getting cheaper by the minute. A couple of years ago it was measured in bytes. Before the RP2040 is was measured in dozens of KiB now it's measured in MiB While I agree that 16 MiB is on the larger side for now, it will only be a couple of years for mainstream MCUs having that amount on board

Also curious what MCUs you're working with to give you this impression?

RP2040 is 264k, RP2350 is 520k.

I use NXP's rt1060 and rt1170 for work, and they have 1M and 2M respectively, still quite far away from 16M and those are quite beefy running at 500MHz - 1GHz.

Re: Run Erlang/Elixir on Microcontrollers and Embedded Linux

#13
post #2

What about Gleam?

Call us when they implement OTP compatibility.

What part of otp do you need. I have supervision working.

I have typed message passing.. I write erlang wrapping gleam modules.. its pretty easy.

Re: Run Erlang/Elixir on Microcontrollers and Embedded Linux

#14
post #5

> MCU-class footprint (fits in 16 MB RAM) That is absolutely not an MCU class footprint. Anything with an "M" when talking about memory isn't really an MCU. For evidence I cite the ST page on all their micros: https://www.st.com/en/microcontrollers-microprocessors/stm32... Only the very very high performance ones are >1MB of RAM.

For squeezing erlang in KiB sized RAM, the AtomVM project is probably a better fit.

https://github.com/atomvm/AtomVM

Re: Run Erlang/Elixir on Microcontrollers and Embedded Linux

#15
post #2

What about Gleam?

Call us when they implement OTP compatibility.

What part is missing? I’ve built a little distributed app that has a cluster registry and dns. There’s a tiny bit of Erlang involved but the majority of it is gleam.

https://github.com/trescenzi/points

Re: Run Erlang/Elixir on Microcontrollers and Embedded Linux

#16
post #3

I'm interested in the claimed real-time capabilities, but it's hard to find anything about them written there. Still, I like the hardware integration.

yeah the claim is ambiguous because the beam itself is only guaranteed soft real time, leaving it open ended might make ppl think hard real-time especially since its hardware

Re: Run Erlang/Elixir on Microcontrollers and Embedded Linux

#17
post #4

Pretty cool. I am a fan of everything Erlang. Managing large clusters of IOT devices running Beam sounds like a good idea not just because of fault tolerance but for hot swapping code.

I am the same but for elixir, the beam is awesome & I always wonder why it still hasn't caught on with all the success stories. The actor model just makes programming feel so simple

Re: Run Erlang/Elixir on Microcontrollers and Embedded Linux

#20
post #5

> MCU-class footprint (fits in 16 MB RAM) That is absolutely not an MCU class footprint. Anything with an "M" when talking about memory isn't really an MCU. For evidence I cite the ST page on all their micros: https://www.st.com/en/microcontrollers-microprocessors/stm32... Only the very very high performance ones are >1MB of RAM.

You don't necessarily need on-package RAM for this. I'm not sure I'd build a project around this, but 16MiB of RAM would hardly be BOM killer.

Actually it is. If you want to build a cheap sensor or actuator, than any additional component is getting expansive. Remember it is not only the external component, it is also the PCB space, is the production, and the testing after production. This adds up all to the costs.

When you use a µC to make it cheap, then you don't want to use additional components.

Post reply on HN