This is a very general-purpose development board with a broad array of sensors that can be used for many different applications. Major features include:

1. FT232 USB to UART bridge for programming

2. MCP73831 LiPo charge management IC

3. TPS79533 3.3V regulator for all components except LCD
4. LM2705 on board 5V regulator for driving the LCD

5. BME280 temperature, pressure and humidity sensor

6. LSM303 accelerometer and magnetometer IC

7. UBlox Neo 7M GPS module with chip antenna

8. Micro SD card slot

9. 2.7" Sharp Memory LCD (ultra low-power, monochrome, SPI interface 400x240 pixels)


11. A 5-way switch for input (and another button on the back side that can be used for input; it is actually placed to manually enter bootloader download mode)

12. I have included two pairs of pads to attach a motor and piezo to the DAC output of the ESP32, but they are as yet untested

13. There is place to solder headers for expanding the I2C and UART ports (this is the second UART port on the ESP, not the one used for programming, so it is super useful)

The board files can be found in the github repository. I have just finished testing most features on the board, and they are working. I have also found a few bugs, which I hope to fix in the next iteration. If there is enough interest, I am hoping to place a slightly larger PCBA order to make it economical to make these boards.

I am trying to make the github source code repo as well-documented as possible, and also as modular as possible. I used the SHA2017 badge code as a starting point for my firmware, but is is slowly diverging from that. Currently, the BME sensor library, 5-way and other input switches library and the LCD library (interfaced with the littlevgl graphics library) are well-integrated in the code and working fine. The LED works, but I haven't written an easy-to-integrate library for it yet. The LSM303 sensor also responds over I2C, but I haven't included a library for it yet. SD card slot and GPS are untested (but the SD slot worked fine in an older version of the board).

I have used the littlevgl graphics library with the LCD, and it has worked well till now.