MicroPython
esp-idf
MicroPython | esp-idf | |
---|---|---|
212 | 252 | |
20,584 | 15,774 | |
0.8% | 2.8% | |
9.9 | 10.0 | |
8 days ago | 6 days ago | |
C | C | |
MIT | 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.
MicroPython
-
Why Lua Beats MicroPython for Serious Embedded Devs
it's not an embeddable runtime like Lua
While it's true you can't have multiple MicroPython interpreters running concurrently (or at least not easily; it's not that the design makes this impossible, it's just that all in all MicroPython is fairly young and development focus has been put elsewhere), it is possible to embed MicroPython. Not completely out of the box, needs some glue code etc. See for example https://github.com/micropython/micropython/tree/master/ports....
- 讓 MicroPython 輸入中文
-
MicroPython on M68k Mac
It's obviously not directly comparable - each port will be different - but startup time is <50ms on an RP2040 (Cortex M0 @133MHz):
https://github.com/micropython/micropython/issues/8420
-
MicroPython v1.25.0
Yes, although MicroPython is focused on running on microcontrollers it can be useful if you want to reduce memory consumption, flash space and even startup time on servers.
The challenge is that MicroPython has many fewer standard libraries:
https://github.com/micropython/micropython/wiki/Standard-Lib...
And so many Python libraries targeting CPython won't work out-of-the box and you'll need to modify them or use alternatives that do work on the MicroPython subset.
- MicroPython – Python for Microcontrollers
- Mruby/C and picoruby: high level langs in low-level devices?
-
Ask HN: What less-popular systems programming language are you using?
I'll link to it because many people don't know a version of Python runs on microcontrollers:
https://micropython.org/
-
Tactility: OS for the ESP32 Microcontroller Family
I'm personally working on something like this for the ESP32, but written on top of micropython [1]. A few things are written in C such as the display driver, but otherwise most things are in micropython. We chose the T-Watch 2020 V3 microphone variant as the platform [2].
Our objective is to build a modern PDA device via a mostly stand-alone watch that can be synced across devices (initially the Linux desktop). We want to achieve tasks that you might typically do on your desktop, focussed towards productivity.
We did consider a custom OS, but decided against it for a few reasons:
1. Allowing somebody else to handle basic OS stuff allows us to concentrate on what really matters, the higher level stuff on top.
2. Having multiple threads in micropython is super simple and we are able to run many active apps at the same time, rather than having to kill them off [3]. Our background apps can continuously interact with the network in the background.
3. Code written for micropython can be easily run on other Python-capable devices.
[1] https://micropython.org/
[2] https://lilygo.cc/products/t-watch-2020-v3
[3] https://tactility.one/#/application-lifecycle
- Release RP2350 and ESP32-C6 support, RISC-V native emitter, common TinyUSB code
-
Wasm2Mpy: Compiling WASM to MicroPython so it can run in Raspberry
tools/mpy_ld.py: https://github.com/micropython/micropython/blob/master/tools...
tools/mpy-tool.py lists opcodes: https://github.com/micropython/micropython/blob/master/tools...
Can the same be done with .pyc files; what are the advantages of MicroPython native modules?
Why does it need wasm2c?
esp-idf
-
Espressif's ESP32-C5 Is Now in Mass Production
Any chance you could explain this to somebody who is just learning about HID and has run this example: https://github.com/espressif/esp-idf/tree/master/examples/pe... ? "non-boot protocol" I'm guessing is the key here? I don't have a super deep understanding of HID or what the "boot-protocol" refers to.
-
ESP32 Undocumented Bluetooth Commands: Clearing the Air
The researcher-or-tinkerer who wants to play with these commands can just not upgrade to the newer ESP-IDF. Or update to a newer ESP-IDF, and revert the patch. It's open source. https://github.com/espressif/esp-idf
-
ESP-IDF with Arduino Examples
The target ESP-IDF version is v5.3.2
- Show HN: I made a tiny device for automatically recording digital pianos
- Esp-Idf v5.3 Includes ESP32-P4 Support
-
Reverse engineering ESP32 Wi-Fi driver: the road ahead
The BT stack is based on Bluedroid, so that’s open source (up to the driver I’d guess); see here https://github.com/espressif/esp-idf/tree/master/components/...
-
ESP32S3 ability to change wakeup interrupt in wake stub/ulp coprocessor program?
For returning to deep sleep from the wake-up stub you can take a look at how it is done in https://github.com/espressif/esp-idf/tree/master/examples/system/deep_sleep_wake_stub
-
Trying to learn ESP-IDF on VSCode
You can find the examples here: https://github.com/espressif/esp-idf/tree/master/examples
-
GC9A01 vs ILI9341 for M5Stack AtomS3 LCD - both work, which should I use?
I found the spi_lcd_touch example and flashed it, and it seems to run fine with either ili9341 or gc9a01 drivers selected (although both are mirrored, and one has the colours inverted compared to the other - both of which I assume are things I can fix in either driver).
-
I2C Interrupt
If that's the case: You register a GPIO as event source and make a task waiting for it, that then just performs the I2C-transaction. Follow this example https://github.com/espressif/esp-idf/blob/master/examples/peripherals/gpio/generic_gpio/main/gpio_example_main.c
What are some alternatives?
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
arduino-esp32 - Arduino core for the ESP32
Unicorn Engine - Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, S390x, TriCore, X86)
ElegantOTA - OTA updates made slick and simple for everyone! (ESP8266, ESP32, RP2040+W, RP2350+W)
IronPython - Implementation of Python 3.x for .NET Framework that is built on top of the Dynamic Language Runtime.
WiFiManager - ESP8266 WiFi Connection manager with web captive portal