lowjs
nephyr
lowjs | nephyr | |
---|---|---|
4 | 4 | |
1,271 | 24 | |
0.0% | - | |
0.0 | 0.0 | |
about 1 year ago | almost 2 years ago | |
C++ | Nim | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
lowjs
-
Microsoft DeviceScript – TypeScript for Tiny IoT Devices
Agree 100%
That was my point - the ESP32 is so versatile and cheap, it's my go-to these days for pretty much everything.
Being about to have an easy and reasonably powerful js runtime for that sounds great.
Apparently node-red also has something for esp32?
And I haven't tried it, but low.js looks cool too [1]
[1] https://github.com/neonious/lowjs
-
I fell in love with low-JS
Oh, I thought this was going to talk about low.js (https://github.com/neonious/lowjs), the "node.js" runtime for micro-controllers and tiny embedded systems.
-
Kaluma - A tiny JavaScript runtime for RP2040 (Raspberry Pi Pico)
My two favorite Linux JS runtimes: QuickJS, low.js
-
[AskJS] Do you use JavaScript on Microcontrollers? Which engine / interpreter?
- lowjs (1.2k stars)
nephyr
-
Microsoft DeviceScript – TypeScript for Tiny IoT Devices
I use Nim on embedded precisely for that reason: https://github.com/elcritch/nesper
I wtapped much of zephyr as well but that ones less used: https://github.com/embeddednim/nephyr
-
Compile time evaluation in Nim, Zig, Rust and C++
It's funny how something like Zig's comptime of C++'s constexpr get 90% of the way to solving most compile time issues, but can't knock out that last 10%. Compile time database types sound like one of those cases. F# had a feature for compile time types via "type providers". It seemed _really_ cool at first, but in practice is was a bit fragile.
Though on the other hand I'm using compile Nim code to parse CMake files and provide static types for configuration values. It's super easy in Nim between macros and const's. Here's a ~170 lines of code where I'm compile time checking that my Nim code can compile time check against the current build configuration of Zephyr RTOS https://github.com/EmbeddedNim/nephyr/blob/main/src/zephyr_c...
-
Launching the 2021 Nim Community Survey
Nesper author here, unfortunately I haven’t had time to fix the compile issues on all the esp-idf branches. Please feel free to file an issue as I don’t use es-idf/Nesper often now but I’ll respond to issues. The main branch should be more stable too.
I’ve been moving development to Zephyr RTOS since it supports many more boards and is more stable. I’d recommend trying it out but note it’s a WIP. I haven’t figured out templated examples yet. I’ve covered lots of api areas but not all. My goal is to make it into a broad MCU platform for Nim — Nephyr: https://github.com/EmbeddedNim/nephyr
But yah Nim can run on most anywhere you can compile C to. Some people just got Nim CMSIS working. I’m hoping to get more people involved at github.com/EmbeddedNim project to support more mcu’s. Testers are welcome!
- An Embedded USB Device Stack in Ada
What are some alternatives?
MicroPython - MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
svd2nim - Convert CMSIS ARM SVD files to nim register memory mappings
Espruino - The Espruino JavaScript interpreter - Official Repo
usb_embedded - An Ada USB stack for embedded devices
jerryscript - Ultra-lightweight JavaScript engine for the Internet of Things.
RFCs - A repository for your Nim proposals.
Duktape - Duktape - embeddable Javascript engine with a focus on portability and compact footprint
nesper - Program the ESP32 with Nim! Wrappers around ESP-IDF API's.
ts2c - Convert Javascript/TypeScript to C
examples
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).