• Sign in to Neowin Faster!

    Create an account on Neowin to contribute and support the site.

  • 0
Sign in to follow this  

working with Micropython - which ecosystem to choose - ESP 8266 or ESP 32?

Question

tarifa    0

 

dear community 

 

working with Micropython - which ecosystem to choose - ESP 8266 or ESP 32?


I work with Kids.  I'm always looking for economical platforms to build intriguing projects. 

there are systematical decisions: in earlier times i use Arduino and Raspberry Pi for the projects because the eco-sytems of Arduino and Raspi support rich options  to combine.

While Arduino clones are cheap, it uses the C/C++ language.  that kids are not familiar with. and - yes it doesn't have a built-in WiFi-support. But that is pretty important for me.

WiFi-Support is a must for all the IoT projects i am interested in.  On the other hand, while Raspberry Pi has WIFI and kids can program it using Python, it is still an pretty expensive platform to  just control few GPIO ports to 


1. turn devices on and off. 
2. run a little RC-Car 
3. have a look in the birds house that is in the garden


I need something in between that has both WIFI and Python capabilities. It appears that I found my answer in MicroPython flashed 
onto a cheap ESP8266-based board - and yes - now we also can use ESP32 too. 


What is Micropython?
According to its website, MicroPython is a lean and efficient implementation of the Python 3 programming languages.
And Python is one of the most widespread and well known language - also my kids have access to a lean python introduction.
In other words: Python is much easiser to learn than C /C++ - Python does not have all those pitfalls.
 
Micropython 
that includes a small subset of the Python standard library and the good thing; Micropython is optimized to run on 
microcontrollers and in constrained environment (such as ESP8266). 
It's essentially Python IDE on a chip. One major benefit is that you can create code and change it on the fly using 
a web-browser client called Webrepl. (Try to do that in Arduino.) You can also see sensor data in real-time on 
Webrepl instead of rely on data logging or an LED screen in Arduino.


What is ESP8266?
In short, think of it as an Arduino with built-in network capability. You can use the Arduino IDE to program ESP8266 boards in C/C++ or 
you can flash it with NodeMCU or MicroPython. In this project, I'll be flashing MicroPython onto an ESP8266 board.
I decided to get a WEMOS D1 which is based on ESP8266-12EX for this simple project where I'll be navigating a 2WD car using a web browser.
 There are other boards that are designed for MicroPython but I wanted something cheap that I could throw away 
if it didn't meet my criteria. As expected, it met all my requirements and most likely I'll be incorporating WeMos and Micropython into 
future projects. 

among them are ...
a. creating rc-cars
b. other IoT projects


which ESP would you decide ?

- NodeMcu Lua WIFI Internet Development Board based on ESP-12E CP2102
- Adafruit Assembled Feather HUZZAH w ESP8266 WiFi With Stacking Headers
- ESP8266 ESP-13 Web Sever WIFI Wireless Shield for Arduino UNO R3


which one would you take?

or would you choose the ESP 32 !?


love to hear from you


 

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0
tarifa    0
Posted (edited)

hello again 

well i think that i should use adafruit's "circuit python" because I 
think they have superior  tutorials and controller-oriented libraries... 
Probably with esp32 huzah feathers, because of the feather wings available, if I could afford them.

(But I don't believe that CircuitPython requires an Adafruit board...)  
Adafruit is like... mind-reading evangelists with teaching skills! Librarian skills, too:  https://github.com/adafruit/awesome-circuitpython


the other thing is:  In choosing between ESP8266 and ESP32 the main factor is code size. 
If we can anticipate writing programs longer than, say, 200 lines of code (LOC)  we may find that we need to 
cross-compile the code. Larger programs may require us to freeze the bytecode on ESP8266. 

This involves re-compiling the source and installing the resultant build. We can then run programs 
in the high hundreds of LOC. It's hard to be precise about these figures as they depend on what the code actually does.
ESP32 has much more headroom. If we use boards with SPIRAM then we can run seriously large programs. 

furthermore: There is also the Pyboard D series but that is outside my price range.

hope to hear from you


 

Edited by tarifa

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.