New Espruino Board

Posted on
of 7
  • @DrAzzy yes, the leakage through the diode could be an issue for running the cheap boards off a battery I guess. Problem is, regulators with low leakage start to add more to the price :) The cheap boards would still run pretty well off a CR2032 I guess, and I could put 2 holes in so you could solder a battery holder on top.

    I always find it frustrating that the chips can't just run off voltages up to 4.2v - they've all got built-in voltage regulators to go down to 1.2v-ish internally anyway. I guess it's just the process technology.

    @the1laz yeah, the WiPy looks nice. You could already program the ESP8266 through the Espruino, so you could put Espruino on both. It would have been nice to get the IO broughtout of it, but there's just not space.

  • If it's an ESP-12 module, it's trivial to solder on a flying lead.

  • @DrAzzy good point, especially with the holes they have.

  • This is exactly the board I've been waiting for.

    I've been making a lot of custom hardware based on Espruino (10's of devices), on official boards and ESP-12/01/NodeMCU's, and the one thing missing from most of them are proper mounting points. Just one screw hole would be enough to make it really easy to mount in an enclosure, two would be even better.

  • ... and the micro-python style holes would work for you?

  • Hello!

    As a preface,I don't know a huge amount about micro computing etc... don't worry about giving too much of a tutorial in response though ( probably a bit unfair and also in the wrong place )

    I'm currently looking for something that:

    • Is wifi enabled
    • Is small
    • Is cheap
    • Can run as a Web Server/Service Ideally would run node.js but running a JS enviroment is fine.
    • Is easy to power and leave running.
    • Can accept input from sensor modules, hopefully switch relays. ( i think there's something to do with 5v vs 3.xV here but as i say i'm very fresh to this)

    Am i right in thinking this board will be good at all of these things?

    Also, a bit cheeky perhaps but i don't think this will be suitable as a node.js solution... is there something you could recommend for this. (if it helps counter the cheekiness, i am highly likely to purchase many of these modules for the JS environment)

  • I think this board is pretty close to what you're looking for.
    It is small, and will be wifi enabled via the attached ESP8266 wifi module. I don't know what Gordon plans to charge.
    Espruino takes a lot of conventions from existing javascript platforms. I'm not really well versed in node.js, but I hear it mentioned a lot on here.

    No harder or easier to power than any other board?

    The chip Gordon is using - I think - will have all 5v tolerant pins, so even though it runs at 3.3v, you can put them into open drain mode and pull them up to 5v, and/or let them see a 5v signal.

    You should never drive a relay directly from the pin of a microcontroller - you can sometimes get away with it, but it can damage the chip over time, and is poor practice. Like any load expected to pull more than 20 mA or so, you should have the microcontroller driving a transistor that will actually switch the relay. Many (but unfortunately, not all) relay modules marketed for hobby use do this correctly.

    That all said - there's an Espruino port (still in beta) to the ESP8266 itself (by comparison, the Espruino WiFi board will use an STM32 chip, plus an ESP8266 just for the wifi. The ESP8266 is small, insanely cheap, wifi enabled (obviously) and can run Espruino. The memory is very limited though for Espruino-on-ESP8266, as is what is possible due to the limits of the ESP8266 chip - so it's only suitable for a very small project.

  • Yes, @DrAzzy is spot on with this. It should do what you want.

    Espruino is designed to be a lot like Node.js - for simple things the code you write is basically identical - for example

    The price for this should be pretty reasonable. I won't be certain until I find out how much the manufacturer will charge, but I think it'll be around the $30 mark. It's obviously more than just buying a single ESP8266 module - but then you're paying for me to help people out on the forums and make fixes/improvements :)

    If you want 'full' nodejs you're best off with a full Linux-based board. Something like Beaglebone I'd guess? But if you do that you'll have to worry about Linux as well as Node.js, and you'll definitely have to power it from the mains!

    As @DrAzzy says, there's also running Espruino on ESP8266 itself. That will be very cheap, and will work for small things - however it's not something I personally offer any support for as I just can't afford to.

  • Re: Cheap boards - I may have missed it above - what chip were you planning on using?

    Also, can you please give us castelated pads on the cheap ones, like you did on the Pico? <3 It would work very well for the "build it into your project" paradigm - someone doing custom boards could just solder down an Espruino module. It'd be great. And of course, I'd offer in my Tindie shop project boards that worked with the new cheap Espruinos, like I do for the Pico.

    In any event, you can have faith that I'll drop some green paper for these when they become available. I am very interested in both boards - in fact I have use cases in mind right now for both of them :-D

  • For the cheap boards, I'm thinking stm32f091cc. There's 256kb flash and 32kb RAM, and it's a small package and hopefully cheap enough. The second you add USB the price takes a bit of a hike.

    It's hard to find parts with 256kB flash that are small, but not BGA.

    I'll have to have a look at the castellations - it does add to the price (I think it makes the milling bits wear out more quickly so PCB makers don't like it), but if I used a thinner PCB it would help.

    It's actually going to be a bit of a juggling act between making it small and bringing out enough IO. I wonder whether I could do it in a DIP style, but allow the end to be snapped off if you wanted it small but didn't want the extra IO - but then that all adds to the cost :(

  • Interesting (I'm only one person, but for me, castellated pads are big).

    I like the idea of the snap-off end for the board, so you can make the size vs io tradeoff yourself. And it's a neat attention grabber too.

    32k of ram? How many JSVars does that give you? I like the chip though, especially if it's cheap - 2 channel DAC (?!), 6 UARTs (!!), over a dozen PWM channels... it seems like it checks a lot of boxes.

  • Yeah, I think the castellations have been good with the Pico - I forget whose idea it was now, but it was someone on this forum I think :)

    For the snap-off, my only worry would be that if someone soldered pins onto it and then put it into breadboard, having a snap-off bit might make it more likely to break, especially if the PCB was thin :(

  • Yeah, true... though the pin header sort of reinforces it... (also, see edited in thoughts above on the chip)

  • I'd say you'd get 1600 variables, maybe a bit more. It's not super, but it should be enough for a lot of things - especially as Espruino has started using them much more efficiently recently.

  • 1600 is a bit tight. I'd be whining, but theyre going to be cheap, and there's the Espruino WiFi for those who need more RAM (128k you said? So that means like 7000-ish JSVars?)

    I like the idea of running an Espruino on ESP8266 dedicated to the webserving, and just communicating over serial to a cheap-Espruino. In that way, you push all the web-heavy stuff out to the ESP, all the page serving and all that crap, and it would just talk to the Espruino itself when something that demanded interaction with the hardware occurred, so the cheap-Espruino was dedicated entirely to the hardware it's gotta interact with.
    For the Espruino WiFi, of course, I'd want to leave it with the AT firmware.

  • @Gordon any chance of having 2 uarts surfaced on pins? also am I right the stm32f091cc has a DAC unlike the pico?

  • On the STM32f091CC, @gordon had goddamned well better break out more than two UARTs, the chip has six of them! It would require concerted effort to lose that many UARTs.

  • Yes, it'd have more UARTs - and there is a DAC too.

  • Just a quick update on the cheap board. What's below is 1.7" x 0.75" - every pin is brought out basically in the order they are on the chip, except for the JTAG pins which are on a TC2030 tag-connect on-board header. There'll be (unpopulated) pads for 8Mhz and 32kHz oscillators, and it looks like there's also space to stick pads for a voltage regulator on too.

    Part of me thinks that tag-connect could be really nice. Not only can it do SWD/JTAG in a totally standard way (so you can do proper C development if you want to), but this chip has a UART on there too, so you could get access to the console over it using an FTDI dongle if you wanted a simple plug + go option.

    Cables are $35 from their site - it's not cheap, but I don't know of anything else that could be used.

    So other improvements:

    • Make it shorter and put the extra pins on the ends
    • Currently power/gnd/reset are on one end. I could move them around A9/A10 such that the FTDI cable would fit on (is this the pin ordering?). It does break the nice clean run of pins though - maybe I could just put that on the end?
    • There's not much happening on the rear at the moment. I'll have to route a few traces there, but potentially something else could be added? Not sure what...

    1 Attachment

    • cheapboard.png
  • An update:

    • Board is now 1.3 x 0.7 inches
    • Right-hand edge contains FTDI-style header
    • Pads for voltage regulator and capacitors (big enough to easily hand-solder :) - 5v input is on the FTDI pins, so is disconnected by default.
    • Left-hand edge contains BOOT0 and A0,A1,A2,A3 (stuff you could do without on a breadboard)

    1 Attachment

    • cheapboard2.png
  • That looks nice, it's like a pro mini in size....

  • Thanks! Just ordered some prototypes so we'll see if they actually work. The second revision of the WiFi board, and the low priced one.

    2 Attachments

    • espruino_wifi.png
    • cheapboard3.png
  • ... I'm not sure about castellations now though. It'd be nice, but I don't know if it'd be possible to do them all the way around the edge :(

  • Those look great! I look forward to their availability

  • re cheapboard:

    I can see the rational for having pins 360 degrees... but for working on a breadboard, it creates the same issues as PICO has. I prefer the DIP pinning, like the espruino_wifi. As a compromise for 360 pinning: if the short side ones are for programming, connecting to USB/Serial, that may work.

    Putting headers 'downwards' on long side and headers 'upwards' on short sides, breadboard use is still possible - or - headers on long sides and wires - 'flexible headers' - with tinned (pins at the) end on the short sides: see @Gordon's breadboard friendly version of PICO, w/ picture).

    re espruino_wifi:

    A) What is the rational to put A8, A10 not on the outer line of pins?

    B) I wondered if there is space left for 'wiring' and pads for serial FLASH / EEPROM / RAM / FRAM / MRAM ... since available memory is always a challenge...

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

New Espruino Board

Posted by Avatar for Gordon @Gordon