4 ms·
Doesn't seem to have received any updates in the last 2 years. I'm wondering what the use cases are for this type of scripting in embedded systems, though?
by sagacity 1y ago
Doesn't seem to have received any updates in the last 2 years. I'm wondering what the use cases are for this type of scripting in embedded systems, though?
- elitepleb 1y agoRunning arbitrary user code in IOT systems safely like https://tasmota.github.io/docs/Berry/#rules https://tasmota.github.io/docs/Berry/#rules 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 1y agoAh, yes. That makes sense.
- middayc 1y agoOne benefit can be more interactive development, or interaction with the embedded device. I think various forths were used on embedded systems also because of that. 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 1y agoInterpreted languages can be great for small code size too. Forth is especially good as it doesn't need a big runtime and the language lends itself really well to code reuse.
- aa-jv 1y agoI don't use Berry (although its quite interesting), but I do use Lua in this context, and I find that putting a lot of embedded-application logic into a script is very productive - especially in the case where the VM is running and is passed a validated bytecode stream. This is quite an effective way of building sophisticated applications with embedded targets.
- ethan_smith 1y agoThe repo has active development with commits from March 2025, and scripting languages like Berry enable rapid prototyping, runtime configuration changes, and user customization without reflashing firmware.
- mrheosuper 1y ago>runtime configuration changes, and user customization without reflashing firmware. This can already be done in C/cpp.
- imtringued 1y agoIf you have an embedded system with a screen, say a 3d printer, it's probably nicer to write the UI in JavaScript than C. 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.
- nereye 1y agoAdding to the list, DeviceScript, which affords running TypeScript on embedded devices: https://microsoft.github.io/devicescript/intro https://microsoft.github.io/devicescript/intro