ESP-Board Variations - Availability and MicroPython Support

All ESP8266 boards running MicroPython.
Official boards are the Adafruit Huzzah and Feather boards.
Target audience: MicroPython users with an ESP8266 board.
User avatar
kfricke
Posts: 342
Joined: Mon May 05, 2014 9:13 am
Location: Germany

ESP-Board Variations - Availability and MicroPython Support

Post by kfricke » Thu Mar 03, 2016 3:41 pm

This is a little summary and might kick of guides to the different ESP boards. There are of course the "official boards", which are supported by Paul and Damien. But we will naturally be confronted with a lot of different ESP boards.
:idea: The bare ESP boards are intentionally skipped, because usually those can be handled as an active component only.
  • Feather Huzzah with ESP8266 :!: Officially Supported
    Adafruit Feather footprint, USB-Serial, power supply (USB and LiPo including charging circuitry)
    Suppliers:
  • Huzzah ESP8266 Breakout :!: Officially Supported
    Plain breakout, pin-based power supply (3-12V), voltage level conversion on external utility pins
    Suppliers:
  • NodeMCU v2
    USB-serial, power-supply (USB 5V), 2 buttons
    Suppliers:
  • Olimex MOD-WIFI-ESP8266-DEV
    Plain breadboard-friendly breakout board, no buttons, 1 user-LED, open-source hardware license
    Suppliers:
  • Olimex ESP8266-EVB-BAT
    Relay 220VAC/10A; power jack (5V); LiPo battery connector and charging circuitry; open-source hardware license
    Suppliers:
Last edited by kfricke on Thu Mar 03, 2016 4:54 pm, edited 2 times in total.

User avatar
platforma
Posts: 258
Joined: Thu May 28, 2015 5:08 pm
Location: Japan

Re: ESP-Board Variations - Availability and MicroPyhton Support

Post by platforma » Thu Mar 03, 2016 3:55 pm

To add some United Kingdom suppliers. Although some are on pre-order for now.
  • Feather Huzzah with ESP8266 :!: Officially Supported
    Suppliers:
  • Huzzah ESP8266 Breakout :!: Officially Supported
    Suppliers:

mad474
Posts: 60
Joined: Sun Dec 29, 2013 7:48 pm

Re: ESP-Board Variations - Availability and MicroPython Support

Post by mad474 » Thu Mar 03, 2016 4:19 pm

It may be somehow oldfashioned, but I hope practicing first steps on an ESP8266-01
(only have those in the drawer, bought them for EUR 3,50 on ebay about 1 year ago).

User avatar
kfricke
Posts: 342
Joined: Mon May 05, 2014 9:13 am
Location: Germany

Re: ESP-Board Variations - Availability and MicroPython Support

Post by kfricke » Thu Mar 03, 2016 4:44 pm

mad474 wrote:It may be somehow oldfashioned, but I hope practicing first steps on an ESP8266-01
(only have those in the drawer, bought them for EUR 3,50 on ebay about 1 year ago).
Then you know how to deal with them. One of my intentions is to make it clear for new MicroPython-ists hat only the official boards will be supported by the MicroPython core team. This does mean that any other taste of a ESP "board" (from the bare-metal MoC to the self-etched 3D-printer board) does need some care and patience in the C code of MicroPythonto be reasonably supported. There are different pins available or assigned to different functionalities and so on.

Hopefully we can point to these differences and drag in people who take care of their board. Maybe some kind of maintainers for each board? This can not be dumped onto the core team!!!

riklaunim
Posts: 32
Joined: Fri Aug 22, 2014 5:42 pm

Re: ESP-Board Variations - Availability and MicroPython Support

Post by riklaunim » Thu Mar 03, 2016 9:38 pm

I have two Chinese ones, one is NodeMCU and the second one is some ESP starter board with battery power supply. Those and many more are on dx.com, banggod.com and local shops that import such electronics.
esp.jpg
esp.jpg (151.5 KiB) Viewed 5577 times

pfalcon
Posts: 1155
Joined: Fri Feb 28, 2014 2:05 pm

Re: ESP-Board Variations - Availability and MicroPython Support

Post by pfalcon » Thu Mar 03, 2016 9:58 pm

kfricke wrote:Then you know how to deal with them. One of my intentions is to make it clear for new MicroPython-ists hat only the official boards will be supported by the MicroPython core team. This does mean that any other taste of a ESP "board" (from the bare-metal MoC to the self-etched 3D-printer board) does need some care and patience in the C code of MicroPythonto be reasonably supported. There are different pins available or assigned to different functionalities and so on.

Hopefully we can point to these differences and drag in people who take care of their board. Maybe some kind of maintainers for each board? This can not be dumped onto the core team!!!
We'd like to support generic "ESP8266 port", and as many as possible specific modules tested, but the official test target is Adafruit Huzzah board. And while high-level schematic variability of ESP8266 modules isn't big (usual difference is number of pins broken out), let's face it - some of them (well, "many" if speaking of first-generation modules) differed in such things as presence/capacity of decoupling capacitors, which affected their stability.

So, we'll see how to support generic modules better and will need community feedback (for example, our current idea is to use native chip GPIO numbering and avoid adhoc board-specific numbering). And we'll also need help and participation to test various modules, report back the results, and search for solutions for issues (especially "weird" ones which aren't reproducible with other modules - we know such will pop up). From our side, you may expect the same level of hardware docs as for PyBoard - overview with pointers to official datasheets.
Awesome MicroPython list
Pycopy - A better MicroPython https://github.com/pfalcon/micropython
MicroPython standard library for all ports and forks - https://github.com/pfalcon/micropython-lib
More up to date docs - http://pycopy.readthedocs.io/

User avatar
kfricke
Posts: 342
Joined: Mon May 05, 2014 9:13 am
Location: Germany

Re: ESP-Board Variations - Availability and MicroPython Support

Post by kfricke » Thu Mar 03, 2016 10:21 pm

Okay, feel free to give away enough stuff which we can collect, contribute and coordinate. Most of us can read datasheets and hopefully there are others who can ('cause i can not) contribute experience with electronics weirdness.

By the way, do you already have estimates for the required flash size? If i recon correctly there are older ESP modules with smaller flash capacities.

pfalcon
Posts: 1155
Joined: Fri Feb 28, 2014 2:05 pm

Re: ESP-Board Variations - Availability and MicroPython Support

Post by pfalcon » Thu Mar 03, 2016 11:25 pm

Well, we knew what we subscribe to with this campaign, and the only way to gather enough supporters was by being ready to support all the diversity which is out there, and we plan to go that way as far as realistically possible.

That of course will require laying out standard, simple, and robust support methods. For example, are you ready to erase flash completely on your module/board? You should be, as that's the prerequisite for installing MicroPython. That's also a first step with any troubleshooting (aka "for me something doesn't work, what is known to work otherwise"). So, one thing interested parties can do in the meantime is practice backing up entire flash, erasing it, and restoring it. (All easily doable using esptool.py which is the official, cross-platform flashing tool of both esp-open-sdk and MicroPython.) (And that's kind of answer to your question elsewhere what interested folks can do in the meantime.)

As for flash size, we'll support modules containing 1MB or more of flash. I know that there were some modules with just 512KB, but Damien or I don't own such personally, and I guess supporting them is out of question (well, backer survey should include question about flash size of modules users have, that's when we'll be able to decide firmly; and interested parties of course will be able to build "lean" firmware themselves for such modules.)
Awesome MicroPython list
Pycopy - A better MicroPython https://github.com/pfalcon/micropython
MicroPython standard library for all ports and forks - https://github.com/pfalcon/micropython-lib
More up to date docs - http://pycopy.readthedocs.io/

mianos
Posts: 84
Joined: Sat Aug 22, 2015 6:42 am

Re: ESP-Board Variations - Availability and MicroPython Support

Post by mianos » Thu Mar 03, 2016 11:56 pm

I have 8 boards (and one more type in the mail). I can run tests on all of these. I also think I have a 512k ESP02 that I can test.
Just thinking off the top of my head, I could wack them all on a powered USB hub and test them all in one go if I can hold down the GPIO with a solid paper clip.
Personally I have only ever had issues with the first flash from the factory. I have had a to use the nodemcu flasher a few times. Maybe I should order a few more fresh to double check this.

syrekron
Posts: 8
Joined: Thu Mar 03, 2016 5:04 pm
Location: Iowa, USA

Re: ESP-Board Variations - Availability and MicroPython Support

Post by syrekron » Fri Mar 04, 2016 3:22 am

our current idea is to use native chip GPIO numbering and avoid adhoc board-specific numbering
I think this is an excellent idea that will serve to reduce confusion in the long run.

I would expect that the community could quickly map out i/o pins for the dozens(?) of modules that may exist.
I'd be happy to provide a chip to pin list for the ESP-03 that I have.

Post Reply