• EDIT:  Sat 2020.02.29   added translate links

    English not your native language? Make use of these online tools:


    Mon 2019.06.10

    As Espruino continues along the path of the ubiquitous IoT device explosion, those in the community battle with the decision on how much of their free time to spend assisting fledgling new Original Espruino board purchasers, those with an eager desire to get started. The following are observations I have made since my introduction to Espruino.

    There are an exceptional amount of web site tutorials and code examples,


    but at times, one may be well, . . . just stuck.

    Many community contributors are willing to assist, giving up their valuable time freely, to get others up and running. We each remember those initial days and you can benefit from their experience. Remember that @Gordon started initially with just an idea. A fleeting thought to solve an existing problem. Imagine the struggle from that initial concept, to the explosion of new users with the myriad of Espruino devices! You, newly introduced to running Javascript on a microcontroller, are building on that success. But maybe, there might be an area where all the pieces don't seem to fit. Here is where the forum will be the tool to get the answer to get up and running quickly.

    EDIT: Other items to check before making that post: See explanation from @Gordon #4 below.

    As a consideration:

    Try updating your firmware to the latest version

    From the WebIDE :: Settings >> Flasher


    Current Espruino versions and release dates


    Same symptoms in online   vs   native WebIDE?
    ref:   http://forum.espruino.com/conversations/­353971/#comment15529342

    Three WebIDE variants

    Chrome Web Store IDE should 'just work'
    Installing native app
    Easiest but it needs an up to date version of Chrome
    Version 85.0.4183.102 (Official Build) (64-bit) some recent older versions do work also (2020.09.22)

    Struggles with Bluetooth and Windows10

    Try connecting with a different device, such as an Android Phone

    Reboot Windows10 Cold Start

    See middle of Post #15   Problem with setWatch on MDBT42Q

    for step-by-step recovery when device now doesn't reliably connect.

    Common 'Gotchas'

    Issues on start up after save()

    Quick Start Best Practices - Proper way to call init()

    ES5 vs ES6


    Which Javascript Standards Version and Javascript Language Reference should be used?

    Bangle specific




    Which Bangle hardware version do I have?


    Bangle.js 2 only has a single button, while the original standard Bangle has 3 buttons

    Steps to locate Fonts source code (in this case the Font7x11Numeric7Seg font)

    Typing 'Fonts' into the Search field at the upper right of most Espruino pages.


    Noting that right clicking on almost every listed font takes one to:


    Searching that list finds the desired Font7x11Numeric7Seg font.


    Steps to locate Espruino source code (in this case the embedded WiFi module source)

    selected connect() function

    Locate and click the Right Facing arrow adjacent to the heading, which takes one to:


    Back up the tree in order to locate source code for other functions

    Steps to locate Bangle app source code: (in this case the touch event within 'Touch Launcher' app source)


    Find the 'GitHub' icon to the left below app title 'Touch Launcher' and R-Click open which will take you to: [Line 230]


    and in addition have these excellent pages been reviewed?














    Javascript Language Reference

    The Mozilla Developer Network 'MDN' reference along with w3c.org standards are the places to go to understand the language specifics, while W3Schools has a nice interactive try before coding editor-viewer.


    Still at a crossroads? Then by all means create your request:

    An effective forum post would include the following:
    As a suggestion:

    • Create a detailed specific title - beneath the correct forum heading
    • Describe the situation in a sentence or two
    • Post the link to the tutorial or example
    • Post the link to the datasheet for the specifc module or chip
    • Post the results of process.env so that viewers can better visualize the environment
    • Post your code - Entire code block please - See #2 @AkosLukacs suggestion post
    • Post the error(s) as seen in the L-Hand console side of the IDE
    • Describe the efforts that have been attempted
    • An image will assist - A picture is worth a thousand words

    Having all of the above will reduce the back-n-forth need to get at the real issue quickly. Having to wait days or weeks for the supporter to gather enough information to get at the source of the issue will greatly reduce the time involvement by building a complete effective foundation first. Correctly placing the initial post will save the moderator valuable time not having to relocate to the appropriate location. 'Other Boards' means just that, non Original Espruino boards.

    Create a detailed specific title
    There are many community contributors that each has a specialty that is willing to assist. But, just having a title, such as 'Software Issue' most likely won't draw the attention of that specific individual for your particular situation. Wasting the time of the reader opening an un-related post is frustrating for all.

    Post the results of process.env
    Remember that the viewer is not a mind reader. Having this tidbit will allow that reader to better visualize what the environment is like. That might assist in splitting between a software issue and a hardware one.

    "VERSION": "1v99",
    "GIT_COMMIT": "f0d66ba",
    "BOARD": "PICO_R1_3",
    "FLASH": 393216, "RAM": 98304,
    "SERIAL": "25005800-13513335-32373134",
    "CONSOLE": "USB",
    "MODULES": "Flash,Storage,fs," ... "b,crypto,neopixel",
    "EXPTR": 536871156 }

    Hint: Use the Greater Than symbol > preceding the first character in a line to highlight gray.

    Hint: To highlight a code word as in the above heading, surround the code word with a valid Html element pair   < code > process.env < / code >   to produce process.env

    Note that spaces were used to allow correct rendering here

    Additional help in formatting may be found using the 'Formatting help' link, just adjacent to the Cancel button, at the bottom of the edit window.

    Post your code

    EDIT: . . . or create a gist as explained by @MaBe in post #3 below

    Hint: Using the '</>Code' button just to the left of the 'Preview' button above the edit window will allow the block and error responses to have additional highlighting, making reading much easier. Line numbers allow others to easily reference a specific code entry.

    Example code block:

    var intervalID = {};
    function ci() { clearInterval( intervalID ); }
    // msec 
    var delay = 500;
    var nTimes = 6;
    function startTimer() {
      var toggle = false;
      intervalID = setInterval(function () {
        toggle = toggle ? false : true;
      }, delay);

    Unrelated error examples:

    debug>p status
    Uncaught ReferenceError: "status" is not defined
     at line 1 col 3
    Uncaught Error: Cannot read property 'length' of undefined
     at line 4 col 228
    ..."+typeof strr+" len: "+strr.length);console.log("Free: "+pro...

    Please, please don't be overly concerned about the quality of the code posting. Everyone has their own style and others may pick up on a newly discovered technique. Resolving a code block style early will speed up the observation of syntax and programming issues, providing for speedier future development.

    Also, don't worry about line numbers if posting a subsequent code snippet. We are not using Basic with a GoTo: statement.    ;-)

    To get an effective response, please remember to review your post, from the point of view, as will be seen by the reader. No one I know is a mind reader, so having complete and concise content will aid those willing to provide their assistance. Also consider staying the course with follow-up. Those of us that provide that assistance would like to know of your success. So will others that may have the exact same issue as yours.

    As a suggestion, post the date. I've seen that up to fifty percent of postings have been resolved as soon as the most recent version of Espruino has been flashed. Having that version and the current date will allow those with a bit of experience to clue in on a possible area of contention.

    While waiting a response
    Remember to be patient, as most are giving their time freely. Search for online content as others most likely have had the same issue previously. Using the search box on the Espruino website might return links when the exact subject or specific board is known. If not, remember that Google is your friend here. Launch a new Google page instance and type a concise request using the 'site:' keyword qualifier. Google search something like:

    how to illuminate the onboard LED for Pico site:espruino.com
    New interpreter error: FIFO_FULL site:forum.espruino.com

    Remember to stay active and follow-up timely. A simple thank you goes a long way.


    End-user and two-year supporter of Original Espruino boards (circa January 2017)

    P.S. Thank you for supporting the Espruino community with the purchase of an Authentic Espruino board

    Sun 2020.02.02   Added Bangle.js reference link
    Sat 2020.02.29    Added links to online translate sites
    Fri 2020.03.20   Added link for Bangle troubleshooting
    Sat 2020.09.19   Added insight to locate Espruino source code
    Tue 2020.09.22   Added three WebIDE possible links
    Tue 2020.12.08   Added instructions to locate Bangle app source
    Sun 2021.01.03   Added Mozilla MDN, W3Schools, and W3C links
    Wed 2021.03.31   Added Reference Page links for Internals, Performance & Quick Start BLE
    Fri 2021.08.27   Added Which Bangle hardware version do I have
    Sat 2021.08.28   Added Fonts and Font source links

    Copyright 2019 ©

  • Suggestion: bold Post your code :)
    Another suggestion: highlight the part you feel relevant, but post a full reproduction. There may be a mistake at initialization, or even unrelated parts could interfere.

  • If you like to post your code and have problems with a proper format:
    Create a gist and add the link.

    Edit: add link to gist

  • Thanks for this - I'll 'pin' this post to the top :)

    Also, as a first step: Try updating your firmware to the latest version. a lot of people follow tutorials to get started with Espruino and those may use the older firmwares that those tutorials link, but issues get found and fixed all the time.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Writing an effective forum post that will get viewed and generate desired results

Posted by Avatar for Robin @Robin