-
Notifications
You must be signed in to change notification settings - Fork 1.1k
espflash: Add binary packages with NINA and esp_hosted firmware. #642
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
I haven't quite kept up with Nina support in micropython; I presume this allows use of an esp32 as an external radio to provide network access on an otherwise non-connected micropython part? |
Yes & yes. That is the intention. You can use generic ESP32WROOM based hardware or modules like u.blox W102 and Adafruit Airlift. But the MicroPython build must have the drivers included, which by default is not the case. The basic WLAN driver is 14 for the code and 6k for frozen utility scripts. Bluetooth including nimBLE is ~80k, mbedts is ~100k. I tested that approach already with two MIMXRT boards (1010 and 1015) which otherwise have not network support. But other port can be extended as well. |
e18e154 to
84bf95b
Compare
84bf95b to
81f8e32
Compare
|
Is it possible to remove the v1.5.0 firmware now that the v2 exists? Also, is it worth adding (brief) instructions on how to build these binaries, so that someone else can update them in the future if needed? |
|
Sure. V1.5 can be removed, and I can write instructions. I can add a README into this espflash directory. |
17854de to
1d451fa
Compare
|
The build instructions are added. I had a little problem compiling and building the nina-fw with my current set-up for esp-idf. Maybe there are too many versions in that copy. So I made a fresh set-up of the esp-idf following the README.md file in the nina-fw repository. That one worked. |
|
I just noticed that esp_hosted has changed a lot since this PR was made. Thus the build instructions do not match any more. I have to re-check the instructions and eventually build & test the esp_hosted firmware. |
1d451fa to
c78a1bb
Compare
|
@dpgeorge The instructions are updated. I verified, that the firmware can be built and that they work. The preference is still to use the supplied binary blobs. |
|
I'm curious, does this new firmware Anyway, if you're still going to remove the 1.5.0 binary, then please update the path and checksum in the example here:
|
|
The V2.0.0 firmware worked on the boards where I tested it. I did not test it with the RP2040 Nano connect. I forgot that I have one. But I do not object to keeping v1.5.0. |
- NINA_FW_v1.5.0_W102.bin for the u.blox W102 module or any other generic ESP32 device. - NINA_FW_v1.5.0_Airlift.bin for Adafruit Airlift modules. The two binaries only differ in which pin is used for the MOSI signals. The u.blox module uses Pin 12, the Adafruit modules use Pin 14. A generic ESP32 can be used with either firmware, given that MOSI is connected accordingly. Signed-off-by: robert-hh <robert@hammelrath.com>
Using the interface pins of the Airlift modules. Signed-off-by: robert-hh <robert@hammelrath.com>
The most important difference to v1.5.0 is changing the Ardiono trust anchors. Signed-off-by: robert-hh <robert@hammelrath.com>
And update example.py. Signed-off-by: robert-hh <robert@hammelrath.com>
c78a1bb to
9f6f7f9
Compare
This is for both the NINA firmware and the esp_hosted firmware. Signed-off-by: robert-hh <robert@hammelrath.com>
9f6f7f9 to
70d28c5
Compare
I tested it with a Nano RP2040 and it works. iperf3 TCP is actually almost twice as fast than with v1.5.0 - but still slow at a rate of about 1MBit/s. The esp-hosted firmware does not seem to work. The NINA.-W102 module has 2MB flash, and the configuration is for a 4MB flash, including a second firmware partition for OTA. That would not fit into 2MB. |
The two binaries only differ in which pin is used for the MOSI signals. The u.blox module uses Pin 12, the Adafruit modules use Pin 14. A generic ESP32 can be used with either firmware, given that MOSI is connected accordingly.