Homely WSN Basic Board V2 is an IoT board to collect environmental data (temperature, humidity, and pressure) and to push them to a centralized server through Wi-Fi. This is the enriched successor of the Basic Board V1, that improves different aspects:
- energy efficiency (20uA during deep-sleep)
- onboard recharge for single-cell Lipo battery
- measurement of battery level based on voltage*
- ESD protection
- USB-C connector
* Given the high non-linearity of the curve charge-voltage of Lipo battery, you will be able to provide only 3 battery states (i.e. high, medium, low).
## Main components
- Espressif ESP32-S2 (ESP32-S2-WROOM or ESP32-S2-WROOM-I)
- Digital temperature and humidity sensor Sensirion SHT30
- Digital temperature and pressure sensor Bosch BMP280
- Reset and User buttons
- 32.768Hz crystal oscillator
- Switch ON/OFF
- Low quiescent current LDO Microchip MCP1700T
- Lipo recharger Microchip MCP73837
- JST PH (2.0mm pitch) to connect the lipo battery
- USB-C connector for power supply and to recharge the (optional) Lipo battery
## Assembling
The entire board is manually assemblable, no stencil is required. Hot air gun will be necessary for BMP280, SHT30, MCP73837, and USB-C connector.
Arduino sketches to test the PCB are available [here](https://github.com/fabianoriccardi/homely-wsn-basic-board-2-test).
## Usage
### Firmware upload
Since there is no USB-Serial to flash ESP32-S2, you need an external one. The 6 pins needed to flash the board are identified by *PROG* label on the PCB. You may use [this programmer](https://easyeda.com/fabiano.riccardi/esp8266-programmer_copy), designed to be *pin-compatible* with this board.
The firmware is under development, and it will be released after the first official release of Arduino core for ESP32-S2.
## About versions and board name
*Basic Board V2* is the evolution of the original Basic Board V1, which basically renew all the hardware expect for the sensors. Hence, given the differences, I have started a new indipendent project that has *V2* in the name. However, these projects remain indipendent: when a project advances, it will continue with version 3, 4, 5,... but the name will not follow the versioning system. This project starts from version *2.0.0*.
## Changelog
- 2.0.0 ✅: first version, I works but I would suggest to wait for next release that improve *solderability*
- 3.0.0 ❔: work in progress, form factor will be changed
### Versioning conventions
Each manufactured board must have a version. Version advancements are ruled accordingly to *Semantic Versioning*, similarly to what usually happens in software development.
To quickly identify the status of each version, I use emojis. The following list explains their meaning:
- A *White Heavy Check Mark* (✅) means that it is successfully tested;
- A *Negative Squared Cross Mark* (❎) means that it was almost successfully tested (the main functionalities are fine), but there are bugs affecting minor funcionalities;
- A *Warning Sign* (⚠) means that the board is not usable out of the box but the bugs are fixable in DIY (decent) fashion;
- A *Cross Mark* (❌) means that there are some problems that makes it unusable;
- A *White Question Mark Ornament* (❔) means not tested.
schematic diagram
(
1
/
)
Empty
ID |
Name |
Designator |
Footprint |
Quantity |
1 |
USR_BTN |
BTN1 |
SW-SMD_L6.3-W3.6-P7.9 |
1 |
2 |
RST_BTN |
BTN2 |
SW-SMD_L6.3-W3.6-P7.9 |
1 |
3 |
1uF |
C1,C3,C8,C30 |
C0603 |
4 |
4 |
22uF |
C2 |
C0603 |
1 |
5 |
100nF |
C4,C9 |
C0603 |
2 |
6 |
1u |
C5 |
C0603 |
1 |
7 |
18pF |
C6,C7 |
C0603 |
2 |
8 |
4.7uF |
C10,C11 |
C0603 |
2 |
9 |
MBR120VLSFT1G |
D3 |
SOD-123F_L2.8-W1.8-LS3.7-RD |
1 |
10 |
SP0503BAHTG |
D4 |
SOT-143-4_L2.9-W1.3-P1.92-LS2.3-BL |
1 |
11 |
1206L050YR |
F1 |
F1206 |
1 |
12 |
S2B-PH-SM4-TB(LF)(SN) |
JST1 |
CONN-SMD_P2.00_S2B-PH-SM4-TB-LF-SN |
1 |
13 |
JST_6-PIN_Female_Connector |
JST2 |
1X06 1.27MM HOLES HEADERS PINS |
1 |
14 |
LED-BLUE |
LED1 |
LED0603_BLUE |
1 |
15 |
PWR |
LED2 |
LED0603_BLUE |
1 |
16 |
STBY |
LED3 |
LED0603_GREEN |
1 |
17 |
CHRG |
LED4 |
LED0603_RED |
1 |
18 |
BSS84LT1G |
Q2 |
SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR |
1 |
19 |
33k |
R1 |
R0603 |
1 |
20 |
10k (2) |
R2 |
R0603 |
1 |
21 |
10k |
R4,R9 |
R0603 |
2 |
22 |
1k |
R5,R8,R20,R21,R22,R30 |
R0603 |
6 |
23 |
4.7k |
R6,R7 |
R0603 |
2 |
24 |
5.1k |
R10,R11 |
R0603 |
2 |
25 |
Solder Jumper |
SJ1 |
SJ_2S |
1 |
26 |
ENABLE_LDO |
SJ2 |
PAD-JUMPER-2-NO_YES_SILK |
1 |
27 |
DISABLE_LDO |
SJ3 |
PAD-JUMPER-2-NC_BY_TRACE_YES_SILK |
1 |
28 |
SC12P-AVR |
SW1 |
SW-TH_SC12P-AVR |
1 |
29 |
ESP32-S2-WROOM |
U1 |
ESP32-S2-WROOM |
1 |
30 |
SHT30-DIS-B |
U2 |
DFN-8_L2.5-W2.5-P0.50-BL-EP |
1 |
31 |
MCP1700T-3302E/TT |
U3 |
SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR |
1 |
32 |
BMP280 |
U4 |
SENSOR-TH_BMP280-BL |
1 |
33 |
MCP73837T-FCI/UN |
U6 |
MSOP-10_L3.0-W3.0-P0.50-LS5.0-BL |
1 |
34 |
USB-310F |
USB1 |
USB-C-SMD_20P-P0.50-L6.5-W8.9 |
1 |
35 |
32.768KHz |
X1 |
OSC-SMD_2P-L3.2-W1.5 |
1 |
Unfold
12
27
Collect to album