ESP8266_swiss_army_board/README.md

80 lines
1.9 KiB
Markdown

# ESP8266_swiss_army_board
Arduino based project running on my custom made board
## The hardware :
**The board :**
![](http://88.167.116.148/images/git/SAB_front.png)
![](http://88.167.116.148/images/git/SAB_back.png)
**The modules :**
![](http://88.167.116.148/images/git/SAB_cmp_mod.png)
### Hardware pin mapping :
![](http://88.167.116.148/images/git/ESP8266_pinout.png)
(This image wasn't done by me)
**So we have :**
* I2C (for OLED screen and RTC)
* GPIO4 --> SDA
* GPIO5 --> SCL
* SPI (for µSDCard)
* GPIO13 --> MOSI
* GPIO12 --> MISO
* GPIO14 --> CLK
* GPIO2 --> µSDCard CHIP_SELECT
## Here is a list of the components needed in order to build such a board :
* 1x 1N4001 reverse voltage protection diode
* 1x AMS1117 5v voltage regulator
* 1x AMS1117 3.3v voltage regulator
* 2x 22µf electrolytic capacitors
* 2x 0.1µf (code 104) tantalum capacitors
* 1x jumper
* 1x 2 pins male header
* 1x On/Off switch
* 2x push buttons
* 1x ESP8266 E12
* 1x 19 pins female header
* 1x 2 screws terminal
* 1x micro USB socket
* 1x 100 ohm resistor
* 2x 1k ohm resistor
* 1x 6.8k ohm resistor
* 1x 3.9k ohm resistor
* 1x 22k ohm resistor
* 2x 10k ohm resistor
* 1x 33k ohm resistor
* 1x 4.7k ohm resistor
* 1x 7cmx5cm pcb
## The software :
### I2C Hardware addresses :
* OLED screen : 0x3C
* RTC DS3231 : 0x68
### External librairies used :
* Adafruit_SSD1306 (not my work) [link](https://github.com/adafruit/Adafruit_SSD1306)
* Adafruit-GFX (not my work) [link](https://github.com/adafruit/Adafruit-GFX-Library)
* RTClib-master (not my work) [link](https://github.com/adafruit/RTClib)
* AT24CXX-master (not my work) [link](https://github.com/cyberp/AT24Cx)
### SD Card structure (subject to changes) :
```
/
|_CONFIG
| STA.CFG
| AP.CFG
|_WWW
|_FTP
```
### Things to do :
* Screen Manager ✓
* µSDcard File System
* RTC Manager ✓
* RTC FLASH Manager
* FTP Service
* WEB Service
* GPIO Util