Well, here it is – one of our readers kindly sent me chips to play with. So first things first – unless you have incredibly small hands there is no way to “play” with these with a soldering iron – but a reflow oven well that’s another matter.
For anyone wondering what this chip is – it is the ESP8266 with 1Mbyte of FLASH embedded in the chip.
So it remains to be seen what to do with this tiny chip and marvellous opportunity – clearly we need a board. Readers have kindly sent links to boards – and that’s great – except the board + postage generally seems to be more than the cost of a full, all singing, all dancing Raspberry Pi – or at least a FriendlyArm M1 + WIFI adaptor. So what’s the point?
I have some thoughts and while I ship these chips back to Aidan in the UK to ponder a board layout, I’ll air my thoughts here.
So to make a small board it would make sense to reduce the reset/program thing to 1 button – adding an FTDI chip would just jack the price up – so my thoughts would be the normal FTDI connection – that is a 0.1” 6-way connection with GND, N/C, 5v, RX,TD,DTR
It is quite easy in, say, Eclipse to manipulate DTR on the FTDI (a simple Python script does that and it is trivial to add it to the makefile). Other languages would do just as well. So the usual trick is to have a button you can ground, which if done quickly, will merely reset the board…. if held for a while, will force GPIO0 to ground until AFTER the reset returns to normal. IMPORTANTLY this should not affect GPIO0 after reset!! now, I like to use GPIO0 as an input AFTER power up – so it becomes a multi-purpose pin. Held low before power-up you can go into programming mode, after power up you can use it to put the unit into terminal mode.
FOR THAT reason I’m going to suggest that we forget clever reset/programming hardware - a combined reset and GPIO0 button is not a good idea – and indeed, how often are the boards programmed? My suggestion then is for FORGET the reset button -and just have the GPIO0 button (shorts to ground – with a pull-up) – this gets rid of a few components – and when the GPIO0 button is not pressed – there is no connection to GPIO0 which frees it to be used for whatever purpose.
Clearly you need a regulator – feeding 5v into the unit. That needs a reg and couple of passives.
Clearly you also may wish to DRIVE something – but we don’t want a massive board on the off-chance – you may wish to drive a relay OR you may wish to power 12v RGB LEDs so my initial thoughts are – 3 MOSFETS on the underside of the board (which can be left off – and they can be hand-fitted after the board has been put together in an oven (for the chip). That way if you chose to use a relay - put the diode across the relay and you have a choice of using a 5v coil or a 12v coil etc.
A led INDICATOR is always a good idea – but because you might have the board in WIFI AP mode or it may be waiting to connect to MQTT, a normal LED may end up having to do too complicated a flashing setup – my thoughts there would be to have the option to fit EITHER a LED and resistor OR an RGB LED – the latter can be any colour and dimmed as needed without any external components.
Ceramic antenna or PCB trace? My own experience is that the ESP-12 with it’s trace antenna is VERY good – and so much as I’d rather save board space – I think I’d put the trace at one end of the board.
This board then could end up not too different to the old ESP-01 in looks.
Pin use would work with our existing software of course – so GPIO13 would be the LED indicator, GPIO2 would be ideal for DHT22 etc. and a pull-up would be fitted on-board.
25mm square perhaps??