Latest Espruino build for Esp8266

Posted on
of 8
  • While I was away a bit and you're luckily still at it, will there be some support for any 8266ex board like Olimex' MOD-WIFI-ESP8266-DEV or anything cheap with more GPIO than the 2 of set standard -01 boards? Not sure if these questions help, though :)

    Edit: If the 32 should really be available that soon, the question might be useless. If not, and a usable board is six months away, I would still pose it that way.

  • @Wilberforce I didn't realise ESP32 has started to ship! Now who's going to port Espruino :)

    Edit: Scrolled down for spec and realise a pre-order. Still "expected June"

  • @stev - You should be able to flash it to any ESP board, unless they did something particularly weird to it. People are even getting it to run on these wifi enabled outlet things (see sonoff thread). Lots of people use the NodeMCU boards or clones thereof (though they have a different set of pin numbering - no clue why they took it upon themselves to do that).

    It works fine on plain old dirt shit cheap ESP-12Es - I use it on ESP-12's mounted on these protoboards, (which I sell ;-) ):

    The ESP-12's do need a breakout board of some sort - the castelated pads are 2mm pitch, not 0.1". There are a number of "just a breakout board" type boards available.

  • @DrAzzy: Nice tinkering board. I'll have a closer look at the possible components. Though I somehow want everything "smaller!" these days. Not sure how to get there though without doing a new board every time...

    I thought there might not be support for all IO pins or the 8266ex' serial memory. If that's the case though, I'll happily go and buy some (tiny ;) board.


  • Yeah - smaller pretty much means a separate board for each purpose, and I routinely end up making purpose-specific boards for that reason. Those are more for one-off's and prototyping - though I've made a few ESP8266 APA102 controllers on those boards.

    All of the normal IO pins are supported (except the ones used for communicating with the flash, of course). I don't think pin 16 (the one that's used for the sleep wake thing) is supported yet? I haven't been following that aspect, since I'm using them in stationary applications.

  • As always, those look like pretty cool prototype boards!

    With an Espruino on ESP8266 crowdfunding campaign like the Micropython one, I'd get some money up front for ESP8266 development work, but actually it looks like the major work is done, and what's left is really just tweaking and documenting the minor niggles.

    Problem is, after that I'm going to have a bunch of ESP8266 users asking for support for the next few years, and there's not really any way I can afford to provide that since I wouldn't be making anything after the initial crowdfunding. I'd feel bad ignoring something that I'd kind of endorsed by doing the KickStarter.

    If anyone's got ideas for actually making money sustainably from ESP8266 I'd love to hear it (although a separate thread is probably a better place!). About the only thing I can think of is actually offering a paid web service (so ESP8266s can securely connect to an online Web IDE and be programmed from anywhere).

    While IoT services seem like a big thing at the moment, I wonder how many people would actually be willing to pay... After all, one of the big ESP8266 draws is it's price.

  • When the ESP32 starts to ship, I for one will happily volunteer to port to ESP32. I am still waiting on details but believe that the ESP32 will be core based on RTOS ... that will take a bit of effort. But after the work done last year on getting Espruino running on the ESP8266, it shouldn't be too awful. And with the upping from 96KBytes to 512KBytes of RAM ... we should be in GREAT shape for larger apps.

  • @Gordon - answer is obviously esp8266 powered robots programmed in Javascript to mug people and remit the proceeds to you. I'm not sure how to get revenue stream either. I mean, other than doing what you're doing with espruino wifi (imo you should promote the fact that one can run espruino on the esp8266 of the Espruino wifi - thus allowing you to offload more network tasks to the esp8266, if that is appropriate for your application)

    The fact that esp8266 's biggest appeal is possibly that it's dirt shit cheap makes things harder....

    @Kolban The ESP32 looks truly amazing, I think they let the esp8266 hacking community write the feature list or somethinf. I reckon it will have to be more expensive by a good margin to get all that functionality in - I can see that being a really attractive platform.

  • New build from espruino master but using SDK 1.5.4 and having 1600 JS vars:­o_1v85.tve_master_124390c_esp8266.tgz
    This build doesn't have anything radical new other than the newer SDK. I made it for myself and thought I'd share a link in case anyone is interested. The build got made by travis-ci, so please look into the .travis.yml file if you want to build yourself.

    BTW: I would appreciate if this thread didn't get hijacked by completely unrelated stuff...

  • @tve, @Gordon
    I'm a bit confused right now. Do we have 2 different sources for Espruino for ESP8266?
    1st one in using sdk 1.5.0, 1700 vars and last changes in Espruino-core
    2nd one in using sdk 1.5.4, 1600 vars and an older version of Espruino-core
    As far as I understand, there are good reasons to use either of them. But I don't know, how to verify/check the better one (at least for my needs).
    To give an example

    • 1700 vars is more than 1600 no question. But my apps for ESP8266 don't need that much.
    • Changes in sdk 1.5.4 to 1.5.0 leave me with a big questionmark.
    • Newer version of Espruino core include promise, which on one hand I would like to have, but there are some ways to help myself without it.

    Could you please give me some help to better understanding ?

  • I think @tve is experimenting with the new sdk 1.5.4, and if all ok it will get rolled into the mainline build.

  • Jum Jum you use the version that works for you :-)
    1700 vars is better until you run out of memory each time you open several connections. That's what happens to me. 1700 vars doesn't work for me.
    The SDK 1.5.4 has fixes for a number of things, but who knows what it breaks too. Several people were trying to build with 1.5.3 a few weeks ago and now that there's liblwip_536 for 1.5.4 I figured it would be good idea to try it out.
    The fact that someone posts a new build doesn't mean you have to subject yourself to it ;-)

  • @tve

    1700 vars is better until you run out of memory each time you open several connections. That's what happens to me. 1700 vars doesn't work for me.

    Are these inbound to the ESP8266 or outbound? Is it in AP mode Station Mode?

    When you say running out of memory - are you running out of heap?

  • Yup, out of heap. As soon as there is a network hiccup the buffers start accumulating and pretty soon it's cooked.

  • New build from espruino master but using SDK 1.5.4 patch 1 and having 1600 JS vars:­247bc37f92b64d68e5c95f356907b7538358dbad­/espruino_1v86.tve_master_247bc37_esp826­6.tgz
    This build doesn't have anything radical new other than the newer SDK, which has some new RF calibration storage. I made it for myself and thought I'd share a link in case anyone is interested. The build got made by travis-ci, so please look into the .travis.yml file if you want to build yourself.
    In this build RF gets recalibrated at every HW reset, which takes 200ms. That's something I'll turn off again, I did it because Espressif is a bit vague about how this new stuff gets initialized and I was having some RF issues.
    Also different from prior builds is the fact that this uses lwip with 1460 MSS instead of 536, so expect more per-connection heap consumption. We seem to have gained a KB of heap with the latest SDK. We'll have to see how it goes...
    This build is fully up-to-date with master.

  • Good evening.
    Anyone had experience with ESP8266 sparkfun.

    With this version it does not connect with webIDE.



  • With this version it does not connect with webIDE.

    Have you checked the baud rate setting? The Web IDE should be set to 115200 baud.

  • NOTE: Please allow me to direct this post somewhere else within the ESP 8622 Forum if it is not appropriate for this "Conversation" trail.

    I am setting up Espruino @tve 1v86 version on the WeMos R1 D2 module. I have been able to pin (by trial and error) which pins do what Here is the list as an attached picture.

    The only things (so far) I have found not running are:

    1.- AnalogRead(A0?)
    2.- I2C set for SDA:D04 and CLK:D05

    I found a post explaining what to update (".c" and ".h") for the I2C to work, but I really don't know how to build ESPRUINO yet.... on the AnalogRead I really don't know where to start.

    Any help that can be provided will be highly appreciated.

    1 Attachment

    • WeMos_R1_D2.PNG
  • This is what I get every time I try to setup the I2C, it just dumps this data and resets:

    >I2C1.setup({sda:D4, scl:D5, bitrate:100000});
     ets Jan  8 2013,rst cause:2, boot mode:(3,6)
    load 0x40100000, len 1396, room 16
    tail 4
    chksum 0x89
    load 0x3ffe8000, len 776, room 4
    tail 4
    chksum 0xe8
    load 0x3ffe8308, len 540, room 4
    tail 8
    chksum 0xc0
    csum 0xc0
    2nd boot version : 1.4(b1)
      SPI Speed      : 80MHz
      SPI Mode       : QIO
      SPI Flash Size & Map: 32Mbit(512KB+512KB)
    jump to run user2 @ 81000
    ãìgäsón|ä$l`ãsll
     _____                 _
    |   __|___ ___ ___ _ _|_|___ ___
    |   __|_ -| . |  _| | | |   | . |
    |_____|___|  _|_| |___|_|_|_|___|
     1v86.tve_master_247bc37 Copyright 2016 G.Williams
    Espruino is Open Source. Our work is supported
    only by sales of official boards and donations:
    Flash map 4MB:512/512, manuf 0xe0 chip 0x4016
  • You use:

    I2C1.setup({sda:D4, scl:D5, bitrate:100000});


    I2C1.setup({sda:D4, scl:D5});

    I know that the bitrate gives a reset.

  • @Frida, or anyone

    That did it! I don't have a Logic Analyzer, but from your knowledge:

    1.-What do you think the data rate will be? Is fixed to a specific value or it fluctuates? those questions matter as I would like to size the pull-up resistors accordingly.

    2.- Do you by any chance know about AnalogWrite pin value or how to find it? I tried it to just put values starting at "A0" and kept on going (who knows how many iterations) without any luck.

    Thank you!

  • 1: I do not have measuring equipment.
    2: I only use ESP8266-01 currently.

  • analogWrite should work on any of the normal pins, I think ( definitely not the adc pin). It's software pwm - I don't think hardware pwm is available?


Latest Espruino build for Esp8266

Posted by Avatar for tve @tve