wokwi-features
embassy
wokwi-features | embassy | |
---|---|---|
130 | 70 | |
65 | 4,405 | |
- | 4.9% | |
0.0 | 9.9 | |
over 2 years ago | 3 days ago | |
Rust | ||
- | 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.
wokwi-features
-
Getting into Robotics as a Software Engineer
No, no - I have a half a dozen RPi's of varying revisions. Since they run Linux and the SDcards are less than robust, anytime you accidentially trip the power (which to me happens several times during hardware debugging sessions) you risk scrambling the rootfs and thus need to reflash a new SDcard. Some SDcards get damaged.
I recommend using Arduino and/or Wokwi (https://wokwi.com/) to get started.
- Wokwi – Simulate IoT Projects in the Browser
- Simulate IoT Projects in the Browser
-
Embedded Rust Education: 2023 Reflections & 2024 Visions
More Wokwi Integration: Wokwi is an amazing embedded simulator and is great for getting started quickly. For a learner, there's no need for toolchain setup or even the purchase of hardware. There are many features as well that make it quite a flexible tool supporting a lot of features right from the browser. Users can also vote for more features. Still maybe at some point, one might want to tinker with physical hardware. However, at that point, they would have gained some confidence first. Currently, only ESP boards are supported with Rust on Wokwi. I hope for the variety to expand soon.
-
Need advice on Arduino projects and programming
In addition to the other great suggestions here I wanted to point out that you can practice and learn a lot for free using an online simulator such as wokwi.com and tinkercad.com (among others)! And you don't have to buy an Arduino or any parts to get started!
-
Arduino calender clock project
And you can prototype all of this first to get it working for free using an online simulator at sites like wokwi.com or tinkercad.com!
-
How do I get better at Low level programming
If you don't have the budget for real hardware consider the simulator at https://wokwi.com/ It works with Rust (at least for ESP32, haven't tried other architectures). Bonus: you can't blow up the electronics by a wiring mistake.
-
Have many folks played around with Chatgpt and FastLED?
I spent a bit of time today with a few FastLED programs and uploaded them to wokwi.com on a simulated Arduino Nano and a WS2812 strip of 64 LED's (not in a 2D matrix). The chatgpt requests I made were:
-
Jumperless: Breadboard Without Jumper
https://tinyurl.com/yr34sym6
https://wokwi.com/ is great for simple, digital only stuff.
https://fritzing.org/ will kind of lay out the PCB for you, but it's kind of a pain in the ass.
Wokwi and Fritzing are more "Breadboard Simulators" than real circuit simulators, but they do have their place.
-
I built a working automated dry chamber with an Arduino and a thermoelectric wine cooler and want to make the project open source.
Another cool thing you may want to try is making a simulator https://wokwi.com/
embassy
- Embassy 在 Blue Pill 上的点灯案例
-
Why choose async/await over threads?
thanks. looked that up. for the curious: https://embassy.dev/
-
Accessing the Pinecil UART with Picoprobe
Running the Embassy RP2040 USB CDC ACM serial example takes about 5 seconds on a Pico.
https://github.com/embassy-rs/embassy/blob/main/examples/rp/...
-
Avoid Async Rust at All Cost
Async solves different problems, you can, for instance, have just a single-threaded CPU and still have a nice API if you have async-await. It might not be so cool at a higher level as Go's approach of channels and threads, but it's cool in embedded, read this:
https://github.com/embassy-rs/embassy?tab=readme-ov-file#rus...
"Rust's async/await allows for unprecedently easy and efficient multitasking in embedded systems. Tasks get transformed at compile time into state machines that get run cooperatively. It requires no dynamic memory allocation, and runs on a single stack, so no per-task stack size tuning is required. It obsoletes the need for a traditional RTOS with kernel context switching, and is faster and smaller than one!"
I'm just toying with Raspberry Pi Pico and it's pretty nice.
Go and Rust have different use cases, the async-await is nice at a low level.
-
Is anyone using coroutines seriously?
I have not yet dipped by toes in the Rust waters, but reading about the embassy project is actually what piqued my curiosity about using C++ coroutines in embedded. Are you familiar with the project or have you found it lacking?
-
The state of BLE and Rust (no_std)
I think I get the basics (shoutout to the Rust Embedded Working Group!), and I've started looking for the stack I'd be using. I think Embassy is really amazing, as well as the work of the ESP team -- hats off.
-
Rust newcomers are 70x less likely to create vulnerabilities than C++ newcomers [pdf]
> }
And this is how to do it using embassy, which is an async framework for embedded in rust:
https://github.com/embassy-rs/embassy/blob/main/examples/rp/...
-
The State of Async Rust
> not good for embedded
embassy begs to differ
https://embassy.dev/
async/await is really just a syntax for building state machines in a way that resembles regular code. It's compiled down to the same code that you would write by hand anyway (early on it had some bloat in state size but I think it's all fixed now).
And embedded has a lot of state machines!
-
Asynchronous Rust on Cortex-M Microcontrollers
You can run multiple executors at different interrupt priority levels (with multiple tasks per executor), which allows tasks on the higher priority executor to interrupt other tasks. Here's an example https://github.com/embassy-rs/embassy/blob/main/examples/nrf...
- Espressif advances with Rust – 30-06-2023
What are some alternatives?
fritzing-app - Fritzing desktop application
rtic - Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers
PlatformIO - Your Gateway to Embedded Software Development Excellence :alien:
rusty-clock - An alarm clock with environment stats in pure bare metal embedded rust
WS2812FX - WS2812 FX Library for Arduino and ESP8266
smoltcp - a smol tcp/ip stack
QEMU - Official QEMU mirror. Please see https://www.qemu.org/contribute/ for how to submit changes to QEMU. Pull Requests are ignored. Please only use release tarballs from the QEMU website.
rust-mos - Empowering everyone to build reliable and efficient software.
BIPES - BIPES: Block based Integrated Platform for Embedded Systems allows text and block based programming for several types of embedded systems and Internet of Things modules using MicroPython, CircuitPython, Python or Snek. You can connect, program, debug and monitor several types of boards using network, USB or Bluetooth. No software install needed!
nrf-hal - A Rust HAL for the nRF family of devices
epaper_templates - Template-oriented driver for e-paper displays
async-std - Async version of the Rust standard library