Table of Contents
3D print WX station (OBSOLETE)
Web page
Instaled stations - OK1HRA-6 OK1KPA-6 OK1IRG weewx CR3DX-6
Electronics
Interactive BOM
Schematics
For incomplete PCB, need
- U10, U12, U15 soldered from side of PCB - order
- soldered U14 order
- rev 0.4 issue - change resistors to 100R or soldered over existing
- soldered P1 order
- soldered P2 order
- soldered EXT1, EXT2 order
- connect ESP32-POE order
- POE injector order
- Warning: do not connect POE and USB cable in same time!
After PCB assembly
- Test if works
- Upload firmware to ESP32-POE, connect usb terminal and test sensor with neodyme magnet.
Hardware
part | pieces | order URL |
---|---|---|
M3x10mm | 7x | https://www.tme.eu/cz/details/m3x10_d912-a2/srouby/kraftberg/ |
M2x10mm | 4x | https://www.tme.eu/cz/details/m2x10_d912-a2/srouby/kraftberg/ |
brass threaded rod M6x250mm | 1x | |
brass M6 nut | 2x | |
bearings 61802 | 2x | https://www.zkl-loziska.cz/vyhledavani/?string=61802 https://www.tme.eu/cz/details/bb-6802-b180-30-es/valiva-loziska/igus/ |
neodymium magnet 12x6x2mm | 4x | https://www.unimagnet.cz/kv-12-06-02-n_z401/ |
neodymium magnet 5x3x1mm for rain sensor (NOT TESTED) | 2x | https://www.unimagnet.cz/kv-05-03-01-nh_z375/ |
magnet glue (or another) | 1x | https://www.unimagnet.cz/499-lepidlo-UHU-plus-endfest-300.html |
cable tie with a metal clasp | >2x | https://www.tme.eu/cz/details/bt2s-c0/stahovaci-pasky/panduit/ |
PCB protective acrylic (optional) | 1x | https://www.tme.eu/cz/details/70_400/ochranne-a-stinici-povlaky/kontakt-chemie/74313-004/ |
stainless steel threaded rod M6x+-125mm | 1x | for balacing wind azimuth |
External outdoor DS18B20 temperature sensor | 1x | optional |
3D print
part | filament | weight |
---|---|---|
1,3,4,5,6.stl | WHITE PETG | 100g |
0,2,7-14.stl | NO-WHITE PETG | 350g |
Download 3d models
Part #2 designed for mounting tube with 58 mm diameter
For another diameter change value in OpenScad and export new .stl
MountDia = 58; // tube size for mounting
Firmware upload
- Install Arduino IDE
- Install ESP32 support from GitHub
- prefered via board manager
- Install Arduino libraries
- PubSubClient
- Adafruit_BMP280_Library
- Adafruit_HTU21DF_Library
- Adafruit_Unified_Sensor
- OneWire (optional if use external DS18B20 temperature sensor)
- DallasTemperature (optional if use external DS18B20 temperature sensor)
- Download firmware from GitGub
- Select menu Tools/Board:“OLIMEX ESP32-POE”
- Connect micro USB between ESP32-POE and PC
- WARNING: not connect USB cable and POE in same time!
- Select menu Tools/Port/YOUR-CONNECTED-PORT
- Upload firmware
- password for OTA upload is remoteqth
- After first upload also available upload binary via web
- binary available on release page
- web form find on http port 82 on WX station IP and /update foleder [WXstationIP]:82/update
Configure CLI
First step need get IP addres and telnet acces key
- After first upload firmware via USB, open serial monitor in Arduino IDE (Ctrl+Shift+M) and set
- baudrate to 115200
- No Line ending
- Now copy and save
- IP address
- Key for telnet access (100 characters)
Key are generated automatically from internal pseudo random generator after start if EEPROM is clear. Therefore you can generate new key after clear EEPROM with E command.
Second step connect remotely via IP
- Download and install PuTTY
-
- select Telnet
- port 23
- write IP address (saved from first step acces)
- Sessions may be saved for next time
- for connect press Open
- Login confirm with press
y
- Now answer four times the question of what character is on random selected position, in your key (key saved from first step acces). Key formated in groups of ten - FOR EXAMPLE
Position KEY 1-10 pP75tf8qrF 11-20 y4SK57dpnC 21-30 fpag8x9eZ4 31-40 IsueSv4jCY 41-50 pX3lpK4UPD 51-60 ij1bbLEQRu 61-70 XRr9dfoJje 71-80 44u5MYQdcm 81-90 B68NpG7F0t 91-100 5mD04pAE6s
- if you enter wrong three times, login will be blocked for next ten minutes
- After login your IP address store to EEPROM and next key will be required only if change your IP address
- for Logout press q
How command are available
? | List status information and command |
a | set wind speed alert, if exceed limit (not implemented) |
O | set pressure ofset in hPa |
* | enable/disable serial/telnet debug, switching between three status disable, enable, enable frenetic mode |
+ | change MQTT broker IP and port - defailt value used RemoteQTH.com public MQTT broker |
L | change location name, or callsign with ssid if enable APRS |
A | enable/disable upload to hamradio APRS network (requires a valid license) |
s | enable/disable external temperature sensor DS18B20 connected to P4 by this schematics/picture NOTICE If use external temperature sensor DS18B20, must add 4k7 pull-up rezistor between +3,3V and data (pin 1 and pin3 on P4 connector) How to build passive thermometer sun shield |
q | disconect telnet, also show login verified IP address |
Q | disconect telnet with erase verified IP addres - will be required key in the next time you log in |
e | list EEPROM (only for debbuging) |
. | reset half hour timer and send measure to MQTT (and APRS if enable) |
@ | restart device (causes telnet disconnection) |
Third step - MQTT
If open IP address of WX station in web browser, load MQTT-wall.
That propagate every half hour last measured value.
How to build
The screws do not need any nuts because the holes are conical.
Passive thermometer sun shield
This part needed for accurate measure of temperature.
- Now open source code in OpenScad and change line
MOUNTDIA = 42;
- Change the parameter gradually from 1 to 3
Part = 1;
then press F6 and F7 for .STL export this part. Other parts not depend to mounting pipe diameter.
M3 x10 mm | 18x |
M3 x 20mm | 3x |
Outdoor DS18B20 temperature sensor | 1x |
Plastic binder | 5x |
Instalation
ToDo
- LoRa firmware support