drogue-device
TinyGo
drogue-device | TinyGo | |
---|---|---|
2 | 103 | |
188 | 15,757 | |
1.1% | 0.9% | |
3.0 | 9.6 | |
over 1 year ago | 10 days ago | |
Rust | Go | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
drogue-device
- I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun
-
Async actor framework for embedded Rust
https://github.com/drogue-iot/drogue-device/blob/972e1806c25752d66f60b2a6755124ee8148f522/src/actor.rs#L411
TinyGo
- Build It Yourself
-
Write code on esp32 on different languages (currently AssemblyScript and TinyGo supported)
Built a platform flibbert.com where you can run code on ESP32 microcontrollers in AssemblyScript and TinyGo. It’s great for trying things out or learning without the usual setup hassle. Would love for people to try it and share feedback! (The project is on early stage, tested only on esp32-cam)
-
Wasm3 + TinyGo on PSP
So, I chose another way. In other words, the approach is to convert it into WASM using TinyGo.
- If Not React, Then What?
- Introduction to the event "TinyGo Keeb Tour 2024"
- TinyGo – A Go Compiler for Small Places
- Cylon: JavaScript framework for robotics, drones, and the Internet of Things
- Gokrazy – Go Appliances
-
A "Tiny" APISIX Plugin
Reading through the documentation, you will understand why this plugin is called "tiny," i.e., the SDK uses the TinyGo compiler instead of the official Go compiler. You can read more about why this is the case on the SDK\'s overview page, but the TLDR version is that the Go compiler can only produce Wasm binaries that run in the browser.
-
What's Zig got that C, Rust and Go don't have? [video]
Not only you can fit Go into a kernel, there is at least two products that do so.
TamaGo, used to write the firmware used in USB armory.
https://www.withsecure.com/en/solutions/innovative-security-...
TinyGo, which even has official Arduino and ARM support, and is sponsored by Google
https://tinygo.org/
Ah but that isn't proper Go! Well neither is the C code that is allowed to be used in typical kernel code, almost nothing from ISO C standard library is available, and usually plenty of compiler specific language extensions are used instead.
What are some alternatives?
nrf-hal - A Rust HAL for the nRF family of devices
MicroPython - MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
chirpstack - ChirpStack open-source LoRaWAN Network Server
go - The Go programming language
rusty-password - Get the password of the Wi-Fi network you're connected to
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
quad - Firmware, hardware and documentation for my autonomous quad copter project
PlatformIO - Your Gateway to Embedded Software Development Excellence :alien:
dstep - A tool for converting C and Objective-C headers to D modules
awesome-micropython - A curated list of awesome MicroPython libraries, frameworks, software and resources.
ziglings - Learn the Zig programming language by fixing tiny broken programs.
micropython-ulab - a numpy-like fast vector module for micropython, circuitpython, and their derivatives