Status of MicroPython ESP8266 project
Posted: Sun Jun 18, 2017 2:44 pm
This post is somewhat overdue, it should have gone somewhere in March, the anniversary of the Kickstarter project, but due do reasons explained below, I'm getting to it just now.
So, more than a year ago, when we with Damien considered what would be a reasonable target for the campaign, we considered one year of development for the port, with the idea that afterwards it will be supported and maintained largely by the community. Well, as you know, the campaign went a great success, so - the project continues! Our specific work breakdown is as follows:
Myself - given that we haven't finished all the stretch goals yet, I'm concentrating on ESP8266 port, avoiding the temptation to work, or even play, with other hardware, this includes ESP32. (As a full disclosure, I also work on Zephyr RTOS port as part of my dayjob). Unfortunately, I had some health issues last few months, which affect my productivity and probably will continue for the foreseeable future.
Damien - you might have heard that ESP32 port was started, it currently lives in the separate tree: https://github.com/micropython/micropython-esp32 , so Damien works both on ESP8266 and ESP32 (and bunch of other things, as he's full time on MicroPython).
I guess such responsibility breakdown is the best we can have - a lot of people were interested in ESP32 and even asked it to be a stretch goal for ESP8266 campaign (which we couldn't reasonable do, and indeed, ESP32 general availability was largely delayed), so now there's ESP32 port! At the same time, it's important to continue working on ESP8266 tasks - the whole idea of the project was to improve MicroPython as a whole while working on ESP8266 port.
By now, we tackled almost all of the stretch goals. Many of course can use or need further work, but that's of course how it is expected to be - if the feature is needed and interesting, there's always something to improve or optimize. One feature still waiting in the queue is the consistent, standardized sensor driver API and driver library. That task was blocked on finalizing Hardware API, so hopefully soon we'll get to it.
Oh, there's yet another still-in-the-queue stretch goal: tutorial videos. Well... We got carried away... It's even some of our backers had concerns, arguing to other backers: "Guys, don't push on that, let these guys do what they can do the best - write code". Last time we discussed this issue with Damien, he was positive it's still a fun task he'd be interested to do soon. Well, months pass, we're working on the code daily on average, and the fun time when we can just relax and shoot some fun video doesn't come .
So, I have a proposal to our backers. As you know, for ESP8266 campaign, we partnered with Adafruit for sharing a word about MicroPython on ESP8266. They went much further than that and recorded bunch of the great videos for MicroPython on the ESP. They actually went even further than that - they forked MicroPython to use on their future boards. Unfortunately, cooperation on the development side didn't go that well - they never contributed a single patch back to the mainline, not even typo fixes they made throughout the codebase. So, I would like to ask the EPS8266 Kickstarter campaign backers if they would consider fair to treat Adafruit's MicroPython tutorial video contributions to the wide MicroPython community, following the principle that everyone does what they can do the best: the mainline developers work on the code, which also benefits Adafruit, and Adafruit gives back to ESP8266 users with the excellent tutorials.
If the backers don't agree to such "exchange", well, the videos then still remain on us, it's a matter of time when they will be done...
Thanks!
So, more than a year ago, when we with Damien considered what would be a reasonable target for the campaign, we considered one year of development for the port, with the idea that afterwards it will be supported and maintained largely by the community. Well, as you know, the campaign went a great success, so - the project continues! Our specific work breakdown is as follows:
Myself - given that we haven't finished all the stretch goals yet, I'm concentrating on ESP8266 port, avoiding the temptation to work, or even play, with other hardware, this includes ESP32. (As a full disclosure, I also work on Zephyr RTOS port as part of my dayjob). Unfortunately, I had some health issues last few months, which affect my productivity and probably will continue for the foreseeable future.
Damien - you might have heard that ESP32 port was started, it currently lives in the separate tree: https://github.com/micropython/micropython-esp32 , so Damien works both on ESP8266 and ESP32 (and bunch of other things, as he's full time on MicroPython).
I guess such responsibility breakdown is the best we can have - a lot of people were interested in ESP32 and even asked it to be a stretch goal for ESP8266 campaign (which we couldn't reasonable do, and indeed, ESP32 general availability was largely delayed), so now there's ESP32 port! At the same time, it's important to continue working on ESP8266 tasks - the whole idea of the project was to improve MicroPython as a whole while working on ESP8266 port.
By now, we tackled almost all of the stretch goals. Many of course can use or need further work, but that's of course how it is expected to be - if the feature is needed and interesting, there's always something to improve or optimize. One feature still waiting in the queue is the consistent, standardized sensor driver API and driver library. That task was blocked on finalizing Hardware API, so hopefully soon we'll get to it.
Oh, there's yet another still-in-the-queue stretch goal: tutorial videos. Well... We got carried away... It's even some of our backers had concerns, arguing to other backers: "Guys, don't push on that, let these guys do what they can do the best - write code". Last time we discussed this issue with Damien, he was positive it's still a fun task he'd be interested to do soon. Well, months pass, we're working on the code daily on average, and the fun time when we can just relax and shoot some fun video doesn't come .
So, I have a proposal to our backers. As you know, for ESP8266 campaign, we partnered with Adafruit for sharing a word about MicroPython on ESP8266. They went much further than that and recorded bunch of the great videos for MicroPython on the ESP. They actually went even further than that - they forked MicroPython to use on their future boards. Unfortunately, cooperation on the development side didn't go that well - they never contributed a single patch back to the mainline, not even typo fixes they made throughout the codebase. So, I would like to ask the EPS8266 Kickstarter campaign backers if they would consider fair to treat Adafruit's MicroPython tutorial video contributions to the wide MicroPython community, following the principle that everyone does what they can do the best: the mainline developers work on the code, which also benefits Adafruit, and Adafruit gives back to ESP8266 users with the excellent tutorials.
If the backers don't agree to such "exchange", well, the videos then still remain on us, it's a matter of time when they will be done...
Thanks!