Page 1 of 4

Esp32 port

Posted: Sun Jan 15, 2017 8:46 pm
by marfis
Up to now I was not aware that there is a esp32 port in the official uPy repo:
https://github.com/micropython/micropython-esp32

does anybody know how it compares to the pycom fork?

It's partly sponsored by a company called microbric. Damien mentioned in the readme:

Code: Select all

If there is enough interest in the port to the ESP32 then this code can eventually be merged into the upstream repository. So please do let your interest be known!
Yes please! Very interested to see this port being merged into the official repository.

Re: Esp32 port

Posted: Sun Jan 15, 2017 10:34 pm
by bmarkus
+1

Re: Esp32 port

Posted: Tue Jan 17, 2017 12:31 am
by kfricke
+1

Re: Esp32 port

Posted: Tue Jan 17, 2017 12:49 am
by EasyRider
+1. Hopefully more reliable than 8266.

Have given up on ESP8266 as unreliable with too many issues for my needs.

Re: Esp32 port

Posted: Tue Jan 17, 2017 3:10 pm
by bmarkus
As we can see with WiPy2 and LoPy that ESP32 is not a finished product, its vendor is still struggling to support all features. In my view it will take at least half a year to get matured libs. So it is too early to plan any product based on ESP32 today. Of course you can start playing, to learn, etc. But be conservative to make any assumption on usability in real life product, take it as a DIY hobby component today.

Re: Esp32 port

Posted: Tue Jan 17, 2017 8:59 pm
by Ketsa
EasyRider wrote:+1. Hopefully more reliable than 8266.

Have given up on ESP8266 as unreliable with too many issues for my needs.
More info on the problems you encountered ?

Re: Esp32 port

Posted: Wed Jan 18, 2017 7:14 am
by mischko
Ketsa wrote:
EasyRider wrote:+1. Hopefully more reliable than 8266.

Have given up on ESP8266 as unreliable with too many issues for my needs.
More info on the problems you encountered ?
+1 for both more details on problems you encountered and full support on the esp32 board.

Re: Esp32 port

Posted: Fri Jan 20, 2017 3:56 am
by Damien
@marfis thanks for starting this topic. As it says in the README, this ESP32 port was sponsored by an Australian company Microbric. They were very keen to see an MIT-licensed port of MicroPython to this chip, so that they, and other people, can use it freely in their own products.

The core of the port is now complete. All MicroPython features are enabled and there is an internal filesystem. The wifi (STA and AP) works pretty reliably and has the same API as the ESP8266. The machine module is there and has Pin, I2C and SPI.

The ESP IDF (aka SDK for the ESP32) is a very fast moving target at the moment and bugs are being found and fixed all the time. Nevertheless, the MicroPython port is pretty stable. But it does use only a single core at the moment, due to reliability issues with multi core.

Please try out the port if you have an ESP32-based board and let us know of any issues. Note that if you use a Pycom board (eg LoPy) you'll need to select the antenna type for the wifi to work. See the esp32/README.md for some details on this.

Re: ESP8266 problems

Posted: Fri Jan 20, 2017 5:48 am
by pythoncoder
In response to the requests for reports of ESP8266 problems, I had issues trying to get MQTT working reliably. It was not robust in the face of radio interference or moving to the limits of WiFi range, the problem being that on occasion it hangs or crashes rather than failing gracefully. Despite hacking the umqtt library I never managed to achieve 24/7 operation, even over room to room distances on a WiFi network which is dependable in normal use.

Doubtless my failure to improve it is down to my inexperience with network programming. The upshot is that I have shelved ESP8266 until the firmware has matured further, ideally acquiring asyncio compatible libraries.

Re: Esp32 port

Posted: Sun Jan 22, 2017 8:56 pm
by marfis
Damien wrote:Please try out the port if you have an ESP32-based board and let us know of any issues. Note that if you use a Pycom board (eg LoPy) you'll need to select the antenna type for the wifi to work. See the esp32/README.md for some details on this.
I tried it out tonight on my WiPy2.0 - I'm on OSX and I followed the instructions in the README

So far it worked without problems - it's now connected to my home WiFi after only half an hour of installing toolchains / compiling source :) The only thing I had to lookup was how to put the WiPy into bootloader mode (wire P2 to GND).

Code: Select all

gc.mem_free()
showed 57888 bytes after connecting to a hotspot.

I only wished that pycom and the uPy maintainers would somewhen agree on a common port so that dev work is not doubled... the amount of integrated peripherals of the esp32 MCU is huge and it will take quite an effort to port all these functionalities to uPy.