ESP8285 Development Board
2017-02-03 | By Kris Winer
License: Public Domain Arduino
This is a small (0.7 in. x 1 in.) development board for the ESP8285 (ESP8266 plus 1 Mbyte embedded SPI flash memory) which includes an FTDI FT230X USB-to-serial converter so Arduino programs can be flashed via the USB Micro-B connector. The board has a MAX1555 LiPo battery charger, a 3.3 V MIC5528 LDO supplying 500 mA for plenty of power, has reset and boot buttons for easy programming, has a blue led on GPIO15, green led for power on, red led for charging indication, and yellow and orange leds for RX/TX.
The board exposes all eleven of the GPIOs including GPIOs 0 and 2 (SDA/Boot mode enable and SCL), GPIOs 1 and 3 (UART RX/TX), GPIO 15 (pulled to GND by a 4K7 resistor and with a blue led indicator), GPIO16 (connected to #RST via a 0 Ohm resistor for wake from deep sleep) and GPIOs 4, 5, 12, 13, 14 as general IOs. The LiPo battery anode is connected to the ESP8285 ADC via a 1 MOhm/300 kOhm voltage divider so it will read 1 V (Vmax for the ESP8266 ADC) when the single-cell LiPo battery is fully charged at 4.2 V. In addition, there are two 3V3/GND ports, and a VBAT port at the edges of the board so additional sensors, motor drivers or whatnot can be added and managed by the ESP8285.
I have added the footprints for a Bosch BME280 pressure, temperature and humidity sensor as well as Vishay's VEML6040 RGBW ambient light sensor (or VEML 6075 UVA/B sensor which has the same footprint). Adding these sensors turns the board into an environmental monitor with sensor values streaming to a web page via wifi. By default these sensors are NOT on the board so please specify if you want them for an extra $10.
When the USB cable is plugged in the board can be programmed just like a Teensy over the USB cable using the Arduino IDE. Furthermore, the FTDI allows serial output to the Arduino IDE serial monitor. The intent is to use the USB for program development and then transition to the LiPo battery to test applications. Without the USB cable connected the board operates from a single-cell LiPo battery or 5 V DC power supply (VIN < 5.5 V) and the FTDI chip is not powered. In this case, serial is still available from the RX/TX port on the edge of the board, although it is more likely serial input from some add-on (like a GPS module) would be attached here. In fact, the top right six edge pins match the pins of a typical FTDI external connector in case, for some reason, you would prefer to use this.
The SPI embedded flash for some reason requires using the DOUT or QOUT flash mode instead of the usual DIO or QIO modes. If these are not options in your IDE version you have to go into the boards.txt file and add them. Future releases of the Arduino IDE for ESP8266 will include these as defaults too.
Lastly, I have put a through-hole at the end of the antenna trace where a 1.25 inch long copper wire needs to be soldered for "good enough" wifi transmission/reception. With this method I have no trouble receiving signals from ESP8266 devices placed around the house from anywhere inside the house.
I like the ESP8266 and the ESP8285 with its embedded 1 Mbyte of QSPI flash makes designing very small devices with wifi connectivity even easier. I got tired of using an external FTDI connector to program my ESP8285 breakout boards and I wanted a more generally useful way to develop ESP8266-based applications. I tried OTA programming but half the time it didn't work for me (poor wifi service?). What better way than to make the ESP8266 programmable via a USB connector? With this development board I can do all of my application development conveniently on a breadboard. I can charge a LiPo battery while I develop and improve my application code, I can enter boot mode or reset easily with the on-board buttons, I have access to all of the GPIOs so I can connect sensor breakout boards or an SD card or whatever I want. The small size of the ESP8285 Development Board leaves plenty of room on the breadboard for other devices. Basically, this integrated development board makes using the ESP8266 easy and convenient!
I made the board small, breadboard friendly, and as useful as I could for application development. In fact, the entire development board is only slightly larger than the ESP-WROOM-02 module! And because it is small, it can also be used for prototyping wearable and IoT applications. It is breadboard friendly but can be made into a portable, battery-powered device for solving real world problems. I use them around the house to report on environmental conditions. The only downside to wifi is that it is power hungry, so the user has to develop strategies to extend the life of devices running from small batteries. There is a deep sleep mode which can be helpful in this regard. I am still trying to optimize utility versus power in my own applications, but this development board makes it easy to do the work!
I have a working Arduino sketch which reads the BME280 and VEML6040 sensors, sends the properly scaled and formatted data to the serial monitor and a web site on my local network. It updates the temperature, pressure, altitude, humidity, ambient light level, RGB components of the ambient light and the battery voltage every 5 seconds. You wouldn't think so but it is fun to sit anywhere in the house (or in the car just outside of it) and see the environmental conditions in several household locations wirelessly on my smartphone! I know, I am easily amused...
There is no limit to what you could do with this capable MCU with embedded wifi now in a super easy to use, small and portable package.
Yes, it's expensive. But just consider: the ESP8285 Development Board has everything you need not just to develop your IoT application but to prototype it in the field (or on the person) as well. It is small and portable, with a built in charger and an LDO with enough current capacity to power the wifi plus whatever else you add onto the board. It is a complete solution! If you just want to get your hands on an ESP8266 module and don't care how much soldering, wire and breadboard space you'll need to make it work don't buy this development board, you'll be paying too much! But if you want a complete solution to IoT development prototyping, this is the board for you!
My hope is that this board will prove popular enough to have a small production run made, in which case the price could come down considerably.
Order the pcbs from OSH Park and assemble some of your own, or buy the assembled and tested development boards from me and see how easy it is to develop wifi applications on the ESP8266!