There're no stretch goals this release brings, and I'd like to talk what I was working on last month. When starting Kickstarter campaign, my personal top goals for it were: a) drive further MicroPython development in general; b) continue getting most of ESP8266, going beyond what's currently known/available. With ESP8266 port work already progressing well MicroPython overall, and the port being in good shape, I decided to dedicate last month to furthering knowledge and insight into ESP8266.
But as you know, only small part of the chip and SDK is documented. Getting further insight requires reverse engineering to achieve further control and interoperability with chip and its firmware. As a firm believer in OpenSource, I consider it's open to use OpenSource tools for the purpose OpenSource reverse-engineering (with the aim of interoperability and community support for hardware devices, essentially, doing vendor's job when it falls short with documentation and support). And there's lack of easy to use and powerful OpenSource tools for RE. So, majority of this month went into improving tools which I started to develop previously (and which were imperative to develop port to its current state).
These are:
- Interactive retargettable disassembler: https://github.com/pfalcon/ScratchABit . There was significant progress with ScratchABit. It's now close to state I wanted it to be, and suitable for long-time (vs try-once) usage. It took 1.5 years (of intermittent work) to get it to that state.
- There're also noticeable progress with my decompilation framework https://github.com/pfalcon/ScratchABlock . However, it's such mind-boggling task for single person to perform, then it's hard to say when there will be wide practical outcome of that work (but that's essentially a life-time project).
- As a side project, there's noticeable improvement to picotui library: http://forum.micropython.org/viewtopic.php?f=15&t=2347 . This serves as a UI library for ScratchABit, and can be used to create UI for MicroPython projects (unix port).
There was actually progress on stretch goals too - support for stream decoding of zlib format was added to uzlib module, that being prerequisite for supporting upip to run on low-memory ports like ESP8266. There're bunch more work to do to make that a reality though.
Next month I have business travel, though probably there won't be much progress too (which prompted to write this report). However, the plan is to continue working on upip stretch goal, and then on uasyncio stretch goal.
Anyway, that's progress report just for me. Stay tuned for cool features implemented by Damien, and contributed by the regular forum participants, there now being steady stream covering various white spots in ESP8266 functionality.
Thanks for your support!