ESPlorer fork with improved MicroPython support

Discussion about programs, libraries and tools that work with MicroPython. Mostly these are provided by a third party.
Target audience: All users and developers of MicroPython.
Post Reply
User avatar
josverl
Posts: 15
Joined: Fri Nov 24, 2017 4:22 pm

ESPlorer fork with improved MicroPython support

Post by josverl » Wed Jan 03, 2018 9:44 pm

Hello all,
Over the last few weeks I have been adding new functionality to ESPlorer to make it work better with MicroPython boards. I plan to submit these as a PR to the main repo, in order to faciliate testing infrequent I'll host a beta release on my fork as well. I was inspired by a friend to look into fixing and extending the MicroPython functions offered in ESPlorer. The main reason for doing so is that for new learners a GUI may be simpler to use than remembering the different text based syntaxes and idioms, and that I frequently found myself switching between 2 or 3 tools to accomplish simple tasks. Personally I prefer to have the choice between a text based and a GUI based IDE , so I can pick what works best for me, for a specific project.

I have made the following additions and fixes and a few changes to improve uPython support:
- ESP Firmware detection improvements (not perfect yet on ESP32)
- Add support for generic uPython, by using machine module in addition to pyb
- Updates to Options UI and Preferences
- Read GPIO input / output (uPython pyb and generic)
> the GPIO buttons use the machine module or the pyb module according to preferences.
> Update sample snippets to machine module
- Unified File-Managers between LUA and uPython to single file manager
> Fix list files in uPython
> Add PopUp Menu to uPython files (*.py, *.pyc)
> View file - View in Terminal
> Hexdump file - View in Terminal
> Remove file
> Rename File
- Fix line number alignment in Script and Snippet editor
- Script Editor:
> Save file to uPython (uses Hexlify to transfer contents with need for escaping)
> Send file to uPython ( Executes script interactivly)
> Run File
> Send Selected Block from editor to ESP
- Snippet Editor:
> Add Snippet names to buttons to simplify use
> Add Popup menu to the snippet editor:
> Send Line
> Send Selected Block

Source: https://github.com/Josverl/ESPlorer/tree/MT-Build
Beta Release: https://github.com/Josverl/ESPlorer/releases

My ask : Could you please give this a try on other platforms and other micropython boards or firmware versions, and report both successes and failures ?

Quitty
Posts: 1
Joined: Wed Jan 16, 2019 7:09 am

Re: ESPlorer fork with improved MicroPython support

Post by Quitty » Wed Jan 16, 2019 7:29 am

I like your work. How can i help?
I run Linux Mint 4.15.0-43-generic #46-Ubuntu SMP x86_64 GNU/Linux.
I have the the following boards.
ESPDUINO-32 HW-729 (ESP32-WROOM-32)
NodeMCU v1.0 Dev kit. (ESP8266MOD)
NodeMCU v0.9 Dev kit. (ESP8266MOD

User avatar
josverl
Posts: 15
Joined: Fri Nov 24, 2017 4:22 pm

Re: ESPlorer fork with improved MicroPython support

Post by josverl » Thu Jan 17, 2019 10:30 am

Hi Quitty

Thank you for the kind remark.
I liked the benefits , but not the difficult work. ESPlorer's code base is not a work of art , it is fully undocumented and not written in line with java OO. Also there are a lot of old / unstable components used , which make simple things like find/replace in the editor , well just absent.
The original creator never even responded to any message , so he has either moved on , or is just not interested in collaboration with me.

so log story short. I have changed my efforts to contribute to PyMakr for VSCode , an add-in that Pycom (one of MicroPython's sponsors I believe) has created. The Pycom team is considering porting some of my additions over from Vscode to Atom as wel.
Pymakr is an add-in for the currently free and popular editors VSCode (and Atom) , which now should work with just about any MicroPython board over serial , telnet or sockets.

if you want to help , please feel free with testing some of my recent additions, there may be bugs to be found , and fun to be had :-)
even just running a few test on Linux/VSCode and reporting on these would help ( testing is always a challenge )

Currently I'm working on getting better language support for MicroPython and builtin modules, happy to have input there as well.


Post Reply