New Espruino Board

Posted on
of 7
/ 7
Last Next
  • @Gordon One crazy idea ... try to use ESP 12-F with 4 MB... the first 1MB to use for the FW of 8266 when the chip 8266 is ON (new AT FW is larger than 512 KB)... the remaining 3MB to use as extrenal flash for MCU when the chip 8266 is OFF ... or divide it 2MB/2MB for 8266/MCU... it is certainly possible in the case of own circuit design...

  • That would be really nice - I wonder if the AT command firmware supports accessing flash though? It's a pain the firmware doesn't seem to be Open Source or we could hack something in.

    Are the SPI flash wires exposed? Is that what the MT* pins are?

    ... actually it's a massive hack but Espruino could boot the ESP8266 into firmware update mode and could then use the bootloader to access the flash memory! :)

  • It does not matter what FW is in the flash memory ... The question is whether chip 8266 in OFF state (CH_PD is LOW) has "our 6 pins" in "tri-state=high impednce" AND flash memory chip has power... then we can have full control over flash memory ... we can do R/W/ERASE... anything... flash will be "shared" :-) ... I am at work now and have a lot of work... I cannot authenticate all things now... but maybe evening

    1 Attachment

    • ESP-12F.png
  • Could be... My point is that those are extra pins that then cannot be used for anything else on Espruino :(

    By just using the built-in bootloader to do the work, you can get access to all that flash without having to use up any pins! It'll just be a bit slower to access.

  • I understand and agree but each solution corresponds to the point of view. I see 8266 mainly as a slave co-processor for wireless connections and I would like to switch it only rarely... for reasons of battery life. Somebody asked on forum for SD card as external storage and we would have it on board (ESP-12F) with no additional cost... and anyway this flash memory "eats" battery capacity. The STM32F411 has up to 5 SPI, one could be used for this activity... it would need only to make the appropriate pads on the PCB for ESP-12F... It can be used by those only who want...

  • I think he's using the 49-pin package, not the 64-pin one, so there aren't as many pins available for SPI. I'm not really sold on the idea of using the ESP8266's flash, since it would only be accessible when the ESP8266 is turned off - but the network connectivity is sort of the point of this board.

    Honestly, I think sometimes designers go overboard on making the board small, and end up with something that's less useful as a result. One thing that I find constantly irritating on the Pico is that there's only one power and ground. Every project - first thing you do, is wire up a little scrap of circuit board to split ground so you can connect it to more than one device. The original Espruino was nice this way - 4 sets of power+ground pins, so you could set up something simple with dupont line alone, without having to kludge up something to get enough connection points for ground...

  • I think @DrAzzy makes a good point with the power pins. Could an option be to extend the board's length by, say, two pins and have gnd and 3.3V on both sides? Then there's a bit more room for the usb plug, component selection, and maybe a few pins on the end of the board. It's obviously a trade-off for 5mm of extra length though.

    Another thing with space, I've squeezed a few more things onto one of my boards before by having the usb connector, the fuse and the diode on the bottom of the board. The usb 5v needs to go through the fuse and diode before it goes anywhere else, so if it was handy for the routing in my particular case.

  • Yes, I use the UFQFPN-48 package pin package. It uses ~50mm²
    of board space, compared to LQFP64 which uses 160mm² - so it's significantly more compact. It means that realistically if I use 4 pins (or 5?) for something like the flash, those are pins some people will miss.

    With putting things on the bottom of the board, it's more about assembly - in this case a pick and place machine would do the top, and I imagine the ESP8266 would be hand-soldered to the bottom afterwards. If I can avoid a second pass through the pick and place it saves money, as does reducing the number of hand-soldered parts.

    The extra GND is a nice idea. I guess potentially the big capacitor could be moved and I might get it in next to the button after the USB diode is removed. However there wouldn't be a pin on it normally, because I really need the boards to work with breadboard and protoboard out of the box.

    @DrAzzy you'll probably hate this, but what I tend to do for devices that don't draw much current is to just use one of the GPIOs as GND - it works quite nicely, and especially with software SPI you can just plug everything into adjacent pins.

    Sure, the board could be made longer - but a lot of people really like the small size - and small size is one of the obvious things Espruino has over the raft of Linux-based boards. I'd be crazy not to take advantage of that. I honestly think I'd get more buyers through it being small and tidy than I would through it having some extra pins.

    Realistically it's never going to be perfect for everyone, but hopefully it can be perfect for some and good enough for most others :)

  • Agree, extra power / ground pins do not need to be bread-board friendly or pinned by default - the breadboard people don't need them anyway.

    It looks like some of those supporting components could be moved away from that edge of the board to make room for an extra pin or two for power/gnd. Not sure how bad the routing is... An extra 1/10 inch though would make room for some power + ground pins, and let you put those two pins that aren't in the line of pins... into the line with the other pins... (can't see what's on those pins, though)

    @DrAzzy you'll probably hate this,

    Gaaaaaa!!! You got that right! Where's my pitchfork?
    You get this rubbery ground that can bounce all over the place under load! And likewise with the power!

  • Hey, great news. I killed a few Esp with an overly compact shim already...

    Will this Espruino have some kind of certification? FCC/IC/CE?

    Not sure what's necessary in what country to resell a solution by just adding the software, or if that's possible at all in this setup.

    Nice start into the year

  • I'm not sure if it will have certification yet (the Pico and Espruino do though - CE and RoHS)... I think it depends how popular it is - if nobody buys it I might not recoup the costs.

    I'll have a word with Seeed too - the ESP8266 module will have certification, so it may be the radio itself doesn't need testing, which might make it a lot easier/cheaper to do.

  • @Gordon - I was wondering about why the ESP8266 was the only thing on the bottom. There are so many considerations for designing boards!

    Maybe some pads could be added on the bottom for extra power and/or any extra signals that there just isn't space for? If there's space between traces, it's a no-loss solution.

    The prototype board looks really good already, I don't mean any of my questions as real issues, just questioning if there's a couple of opportunities to suit more people. The size you're aiming for with this board seems to be a bit of a sweet spot for boards at the moment. Everyone's trying to make things significantly smaller than Arduino Unos (teensy,oak,nodemcu,photon) but not digistump small, and none of the competition are doing anything nearly as cool as javascript-on-board.

  • Hi @Gordon,
    Very few esp modules do have a ce and rohs certifications.
    That's a problem as soon as you want to juild anything commercialy sellable in Europe.

  • Regarding the size of the board: have you considered BGA package? I guess that could be a significant increase in assembly price (x-ray and stuff for bga), and definitely not quickly-handsolder-a-proto friendly, but still...

  • Yeah, I think the AI-thinker one is certified - but it's the only one I've seen. They seem to be on absolutely everything :)

    I did wonder about BGA - it's good being able to hand-solder the prototypes, but also I'm a little worried that with BGA I might have to move away from 2 layer boards, which would again add a bit to the price.

    But yes - doing BGA would really shrink things down, and would give a wider selection of processors. I might take a look at it for the small, cheap board - where the routing should be as simple as possible.

  • Well, they wrote it. I can't say about electrodragon, but some suppliers don't provide the certificates that goes with CE, FCC and more unusual ROHS.
    So far there is the :
    +Acorn V1 (They wrote it on the metallic radio shield but I 'd like to get the certificates)
    +WT8266-S1 which is available from aliexpress supplier's shop and has it's certificates
    ? AI-thinkers pretends it, but I have not read it.

    All the others have just copied the esp8266 chip statements (and the chips have their certificates) but never have anything written about their modules.
    The thing is that PCB's material and soldering joints should also be ROHS: that's never written actually. To be CE, in theory, you have to retest some part of the radio functionalities / power once it's in the final box...

    Olimex is clear about not beeing CE for instance. Although they are ROHS. It's probably because of the costs and the metallic shield required for radio.

    So, it's a quick summary.

  • It'd be nice to be able to fit something like an SPI flash, but I don't think there's really room for that either :(

    Pretty sure there is - you can get SPI flash in 2mm x 3mm USON packages, and 5x6mm WSON too. Hand soldering might prove a wee bit tricky though.... You'd practically need a magnifying glass just to see the things!

    However I've been toying with the idea of doing some 'bare bones' Espruino boards. Something like 5 snap-out ones that are literally just an STM32 (no USB) and capacitors. The voltage range is 2-3.6v usually so maybe a schottky diode and you'd be able to run them safely off a LiPo with no quiescent current from a regulator. Selling 5 at a time would make it worth me selling them, while still keeping the per-unit cost really low.

    I like this idea. You'd have some space on the underside of the board, wouldn't you? Could pads for a regulator be left there, so we have that option?

  • Could pads for a regulator be left there, so we have that option?

    That's a good idea - yes, I'd imagine so.

    For the cheap boards I'd really like to find a cheap way of connecting TTL serial that didn't require an extra connector on the board, or wiring up a USB-TTL connector to the 0.1" pins. Any ideas?

  • I would favor the 6-pin FTDI-pinout header, personally, just to make it similar to other devices. But then, there's the issue of there being no regulator, and most serial adapters are 5v....

    But like, it seems like you're asking the impossible? If you don't want to have an extra connector, and don't want people to have to wire up a USB-TTL converter to the 0.1" pins, by my count that rules out every possible method of connecting to it.

    But yeah - the problem I keep coming back to thinking about this is that it would be really nice to use the cheap 5v serial adapters. Most of the cheap 3.3v adapters get the Vcc they supply on that pin by putting two shitty low current signal diodes in series with the 5v supply :-/
    And I think you've gotta be able to power it off the USB-TTL serial adapter, otherwise it's going to be a PITA to work with.


  • Well, I was thinking that as I'd be selling these in a pack of 5 I might do an extra PCB with the relevant connector on it - I guess that could have a regulator (or just diodes), but to be honest I was thinking of skipping the power supply altogether and just having GND, RX and TX.

    Obviously that extra PCB could have an FTDI chip on it too, but I think it's just all getting too complicated/expensive at that point.

    The point of them would be to build them in to stuff, so you'd probably have a battery or power supply attached anyway. If you just wanted something to plug in and get going, you'd be better off with a Pico.

    ... but yes, the simple solution would be to make sure that you could stick an FTDI cable into a breadboard next to it.

  • I'm with @Gordon "The point of them would be to build them in to stuff, so you'd probably have a battery or power supply attached anyway" ...just what I want for my projects.

  • The voltage range is 2-3.6v usually so maybe a schottky diode and you'd be able to run them safely off a LiPo with no quiescent current from a regulator.

    1. LiPo at full charge is 4.2.

    2. Forward leakage in sleep mode could be a problem:­375269.0

  • Nothing to add just want to say I'd be interested in the bare-bones Espruino's. Always finding myself making something cool I'd like to keep but that isn't worth wasting my (expensive when compaired to the trinket I'm making) Espruino on. Been thinking about printing my own bare-bones STM PCB's for the job but I just seem to never get round to it.

  • Just noticed the WiPy, a wifi micropython board. Might be the closest competition to an espruino wifi board, it could provide ideas for what not to do and what to beat. This is already about 25% smaller, so good start!

    ...also, just had the thought, there's always the option of installing espruino on both processors. Not something you normally want to do, but I do know that there are often people wanting to program the usb chips on their Arduinos. Could it be worth breaking out pads for unused pins for both chips underneath the board?

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

New Espruino Board

Posted by Avatar for Gordon @Gordon