CHANGING THE MODES OF
MOD-WIFI-ESP8266-DEV
REFERENCE
Revision B, March 2018
Designed by OLIMEX Ltd, 2014
All boards produced by Olimex LTD are ROHS compliant
OLIMEX© 2018 MOD-WIFI-ESP8266-DEV reference
DISCLAIMER
© 2018 Olimex Ltd. Olimex®, logo and combinations thereof, are registered trademarks of Olimex Ltd. Other product
names may be trademarks of others and the rights belong to their respective owners.
The information in this document is provided in connection with Olimex products. No license, express or implied
or otherwise, to any intellectual property right is granted by this document or in connection with the sale of
Olimex products.
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of
this license, visit http://www.creativecommons.org/licenses/by-sa/3.0/.
This hardware design by Olimex LTD is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported
License.
The software written by Olimex is released under GPL. Some of the demo code might be based on Espressif code, make
sure to check the license that their original software uses. Our demo examples inherit any license of the original code
without changing it to another license.
The product described in this document is subject to continuous development and improvements. All particulars of the
product and its use contained in this document are given by OLIMEX in good faith. However all warranties implied or
expressed including but not limited to implied warranties of merchantability or fitness for purpose are excluded. This
document is intended only to assist the reader in the use of the product. OLIMEX Ltd. shall not be liable for any loss or
damage arising from the use of any information in this document or any error or omission in such information or any
incorrect use of the product.
This evaluation board/kit is intended for use for engineering development, demonstration, or evaluation purposes only
and is not considered by OLIMEX to be a finished end-product fit for general consumer use. Persons handling the
product must have electronics training and observe good engineering practice standards. As such, the goods being
provided are not intended to be complete in terms of required design-, marketing-, and/or manufacturing-related
protective considerations, including product safety and environmental measures typically found in end products that
incorporate such semiconductor components or circuit boards.
Olimex currently deals with a variety of customers for products, and therefore our arrangement with the user is not
exclusive. Olimex assumes no liability for applications assistance, customer product design, software performance, or
infringement of patents or services described herein.
THERE IS NO WARRANTY FOR THE DESIGN MATERIALS AND THE COMPONENTS
USED TO CREATE MOD-WIFI-ESP8266-DEV. THEY ARE CONSIDERED SUITABLE
ONLY FOR MOD-WIFI-ESP8266-DEV.
Page 2 of 5
OLIMEX© 2018 MOD-WIFI-ESP8266-DEV reference
ESP8266 has three modes of operation: FLASH mode (default), UART mode,
and SDIO mode. By default the board is configured for FLASH mode
operation. FLASH mode means that the board would execute code stored in
the flash memory.
If you wish to change the code that would get executed in FLASH mode you
would often need to set the board to boot in UART mode. This requires
setting GPIO0 low during power-up.
The easiest way to enter UART mode requires you to disconnect the power
supply from the board and then press and hold the button, apply the power
supply (3.3V), release the button. On next power up, do not use the
button and the board would boot in FLASH mode.
The button is available in MOD-WIFI-ESP8266-DEV boards since hardware
revision B.
You can manipulate the position of the on-board SMT jumpers in order to
access each of the three modes. The jumpers are called called GPIO0,
GPIO2 and MTDO. They are located at the top of the board below the UEXT
pads. Each of the jumpers can be set to either position 0 or position 1
(via cutting the connection between the pads of the original position and
soldering together the pads of the desired position). The jumpers are
highlighted on the picture below:
The jumpers for the default FLASH mode were set during production as
follows: GPIO0 is set to position 1; GPIO2 is set to position 1; MTD0 is
set to position 0.
Page 3 of 5
OLIMEX© 2018 MOD-WIFI-ESP8266-DEV reference
The positions for the all the modes are printed on the board itself. The
table looks like this:
MODE
JUMPER MTDO GPIO0 GPIO2
SDIO 1 x x
UART 0 0 1
FLASH (DEFAULT) 0 1 1
For example:
Initially, you can't update the firmware of MOD-WIFI-ESP8266-DEV since by
the board starts in the default FLASH mode. In order to update the
firmware of the board you would need to change the starting mode to UART.
This is done by:
(1) Using the button: press the button before applying power, then apply
power, then release the button
Or
(2) Changing the position of the jumpers: change the position of jumper
named GPIO0 to 0. After the update is done – change the position of GPIO0
back to 1 again.
In order to change the position of an SMT jumper like that you would need
basic soldering skills. There are two things that you would need to do:
1. Remove the original connection between the pads. If it was made using
soldering – unsolder it and remove the soldering residue. If it was a
hardware PCB connection – make sure to cut between the pads with a sharp
tool (like a sharp cutter).
2. Connect the pads of the desired position – solder together the two
pads. Do not use a large amount of soldering residue. Do not keep the
soldering iron pressed to the board longer than 10 seconds. Make sure
that there is no left-over soldering residue which might lead to
accidental short-circuits.
If you want, you can add wires and a PTH jumper or a slide switch to the
pads of the jumpers. This would allow easier change of the jumpers in
future. There is no need to add button to GPIO0 since such was added in
hardware revision B of the board.
Page 4 of 5
OLIMEX© 2018 MOD-WIFI-ESP8266-DEV reference
More details about the three different modes might be found in the
ESP8266EX datasheet.
Page 5 of 5