toit-color-tft
badger
toit-color-tft | badger | |
---|---|---|
1 | 4 | |
3 | 72 | |
- | - | |
6.0 | 0.0 | |
24 days ago | about 2 years ago | |
Toit | Nim | |
MIT License | - |
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.
toit-color-tft
-
The Toit language is now open source
As an example, here's the driver for small TFT screens of the type that is built into the M5Stack. This is an SPI-attached device: https://github.com/toitware/toit-color-tft/blob/main/src/col...
If you just have an M5Stack Core2 and want to play with it, then you don't need to write a new driver though. Probably you want the examples from this package: https://pkg.toit.io/package/github.com%2Ftoitware%2Ftoit-m5s...
(The implementation of that package in the src directory is an example of using an I2C peripheral.)
badger
- How to get clean simple C output?
-
The Toit language is now open source
Nothing about the entire ecosystem I was talking about. But my initial work on the keyboard firmware can be found here: https://github.com/PMunch/badger/tree/final. There are many different projects in Nim running on microcontrollers though, but not something on a common ecosystem.
HHL?
-
Nim Version 1.6 Released
Well no language is perfect, but Nim can be used in almost every domain because of it's compilation targets(C, C++, JS) and it's fast compile times(who needs interpretation when compile times are that fast!):
* Shell scripting, I still assume most people will just use Bash tho: https://github.com/Vindaar/shell
* Frontend: https://github.com/karaxnim/karax or you could bind to an existing JS library.
* Backend: For something Flask-like: https://github.com/dom96/jester or something with more defaults https://github.com/planety/prologue
* Scientific computing: the wonderful SciNim https://github.com/SciNim
* Blockchain: Status has some of the biggest Nim codebases currently in production https://github.com/status-im?q=&type=&language=nim&sort=
* Gamedev: Also used in production: https://github.com/pragmagic/godot-nim and due to easy C and C++ interop, you get access to a lot of gamedev libraries!
* Embedded: this is a domain I know very little about but for example https://github.com/elcritch/nesper or https://github.com/PMunch/badger for fun Nim+embedded stuff!
Most of the disadvantages come from tooling and lack of $$$ support.
-
Looking into Zig
I think the fact that Nim compiles to C is neat in that you can use it on any platform that has a C compiler.
Here is a recent project that uses nim for AVR platforms, for example: https://github.com/PMunch/badger
What are some alternatives?
toit - Program your microcontrollers in a fast and robust high-level language.
jester - A sinatra-like web framework for Nim.
skybison - Instagram's experimental performance oriented greenfield implementation of Python.
toit-lsm303dlhc - Driver for the LSM303DLHC
ulisp - A version of the Lisp programming language for ATmega-based Arduino boards.
beartype - Unbearably fast near-real-time hybrid runtime-static type-checking in pure Python.
zig-bootstrap - take off every zig
cps - Continuation-Passing Style for Nim 🔗
nimbus-eth2 - Nim implementation of the Ethereum Beacon Chain