Currently it's only targeting the ESP32 family, but the code is pretty portable. By default, it probably also needs more resources due to OS-like abstractions, allowing for multiple containers to run on parallel, etc. Obviously that also brings some nice advantages. For example, installing or updating, a new container is just a few lines of code.
We have been working on it for more than 5 years now, and it's definitely at a stage where lots of projects would benefit from it.
[1] https://www.moddable.com/ [2] https://github.com/Moddable-OpenSource/moddable/tree/public/...
I'm not super familiar with embedded Lua but I believe it to require at least an order of magnitude more RAM and codespace than this, even without float support.
For my money, Berry is still a bit heavy. On a cheap M0 I'd rather have something with about half the required memory.
Seems to be targeted at microprocessors not microcontrollers per the title.
It also mentions heap, which is not something I associate with microcontrollers by default, but I notice a lot of RTOS and allocators lately when I look beyond my own stuff!
sagacity•5h ago
elitepleb•5h ago
It's still receiving maintenance from contributors, but these sort projects reach a stable maturity and stay there for years fulfilling their use case.
sagacity•7m ago
middayc•4h ago
And some projects just don't require much speed and benefit from a higher level lanuage. Reading a couple of sensors over I2C every few seconds, doing some "business logic" and serving data via a http server over wifi can be simpler to achieve in higher level language and the device will be idle for the most of the time anyway.
Micropython is a nice solution in that niche.
But for some projects you do want a lower level language if not for else maybe for lower battery consumption.
iainmerrick•4h ago
aa-jv•3h ago
ethan_smith•2h ago
imtringued•2h ago
However, now that I look at the syntax, Berry Script doesn't really look like a well designed language to me. It's like a weird mix of Lua, Python and Javascript. It's a very backwards looking (as in, it is emulating the past rather than innovating) language, where a lot of the differences only exist for the sake of being different and the more I read through the docs the more I think it looks like a bastardized Python and that I'd rather use MicroPython instead.