- Mon Mar 23, 2020 4:17 am
When you say moving from ESP12E to mini ESP12e I assume you mean a ESP12E mounted on a dev board like a NodeMCU or a Wemos.
Also consider the ESP12F which is identical to the ESP12E but with an improved antenna design. THE ESP12S is very similar and marginally smaller as it doesn't have access to the internal flash connections.
On pull ups/downs the 2 critical pins are EN which needs to be high for the board to run and GPIO15 which needs to be low at start up for it to execute normally from the flash program. Either link EN to 3.3V or better use a pull up resistor like 100K if you want to be able to drive that pin. For GPIO15 best to use a pull down resistor to ground (e.g. 4k7). This minimises risk of shorting the pin and allows the pin to be used for IO.
Reset has a internal pull up. GPIO0 and GPIO2 need to be high for normal operation but will default high via weak internal pull ups. This works fine in my experience providing you don't have long external connections to these pins.
For programming you can use your USB serial board with board TX out connected to ESP RX and board RX to ESP TX. To do an upload the board must be put into upload mode. You can do this manually by having a switch to GND on GPIO0 and a switch on RESET or EN to GND. If the board is powered up, RESET pulsed, or EN pulsed with the GPIO0 grounded then it goes into upload mode and you can then initiate your upload from Arduino IDE.
It is possible to automate this just like an development board. Easiest if your USB board has bothe DTR and RTS connections as DTR can drive the GPIO line and RTS the EN signal. Best to use this rather than reset as EN does not have the internal capacitor that the reset line has. There are other schemes which can automate using just DTR but you need external components for that.
The trickiest part is probably making connections to the module to program it. You can just solder wires to it or you can make up something like my poso pin connector if you are going to be doing this a lot. https://www.thingiverse.com/thing:2147460
The other thing to make this easier is always to include OTA programming in your sketches. This means you only ever have to do serial programming once per module.