User Tools

Site Tools


This is an old revision of the document!

3D print WX station [ethernet+poe]

Web page

With propagation to APRS - OK1HRA-6 OK1KPA-6


Interactive BOM

For incomplete PCB, need

  1. U10, U12, U15 soldered from side of PCB - order
  2. soldered U14 order
  3. rev 0.4 issue - change resistors to 100R or soldered over existing
  4. soldered P1 order
  5. soldered P2 order
  6. soldered EXT1, EXT2 order
  7. connect ESP32-POE order
  8. POE injector order
    1. Warning: do not connect POE and USB cable in same time!

After PCB assembly

  1. Test if works
    1. Upload firmware to ESP32-POE, connect usb terminal and test sensor with neodyme magnet.
    2. hall efect sensor detect only north pole of neodyme magnets, therefore try to attach for find north pole and sign it with permanent pen. The output of the closed sensor can be monitored in the CLI on line (1 is open)remoteqth.com_img_wiki-wx-station-03.jpg
       RpmPin 0 | Rain1Pin 1 | Rain2Pin 1
  2. Mask all connectors and sensors (U13, U14) and appply protective acrylic


part pieces order URL
M3x10mm 7x
M2x10mm 4x
brass threaded rod M6x250mm 1x
brass M6 nut 2x
bearings 61802 2x
neodymium magnet 12x6x2mm 4x
neodymium magnet 5x3x1mm for rain sensor (NOT TESTED) 2x
magnet glue (or another) 1x
cable tie with a metal clasp >2x
PCB protective acrylic (optional) 1x
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

  1. Install Arduino IDE
  2. Install ESP32 support from GitHub
    1. prefered via board manager
    1. PubSubClient
    2. Adafruit_BMP280_Library
    3. Adafruit_HTU21DF_Library
    4. Adafruit_Unified_Sensor
    5. OneWire (optional if use external DS18B20 temperature sensor)
    6. DallasTemperature (optional if use external DS18B20 temperature sensor)
  3. Download firmware from GitGub
  4. Select menu Tools/Board:“OLIMEX ESP32-POE”
  5. Connect micro USB between ESP32-POE and PC
    1. WARNING: not connect USB cable and POE in same time!
  6. Select menu Tools/Port/YOUR-CONNECTED-PORT
  7. Upload firmware
  8. After firmware upload you can upload next version of the firmware via IP, if you computer in same network. In Arduino IDE shows another choice Network ports
  9. password for OTA upload is remoteqth

Configure CLI

First step need get IP addres and telnet acces key

  1. After first upload firmware via USB, open serial monitor in Arduino IDE (Ctrl+Shift+M) and set
    1. baudrate to 115200
    2. No Line ending
  2. write

    and press enter show settings Command line interface

  3. 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
  • In menu Terminal preset CR/LF and line discipline by picture

  • In main menu Session select or set the following values

    • 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
  • 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
  • Now logged in to CLI (command line interface) via telnet
  • 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 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

If use external temperature sensor DS18B20,
must add 4k7 pull-up rezistor
between +3,3V and data (pin 1 and pin3 on P4 connector)
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.
  1. Check if all parts is presentremoteqth.com_img_wiki-wx-station-07.jpg

  2. Trim all soldered THT pin on back side of PCBremoteqth.com_img_wiki-wx-station-08a.jpg

  3. Use two screw M3x10 for mount PCB to printed parts number 2 and use two cable tieremoteqth.com_img_wiki-wx-station-08.jpg

  4. Use two screw M3x10 for mount PCB to printed parts number 1remoteqth.com_img_wiki-wx-station-09.jpg

  5. You can seal the hole on the top with siliconeremoteqth.com_img_wiki-wx-station-34.jpg

  6. Silicone top holeremoteqth.com_img_wiki-wx-station-35.jpg

  7. Slide in brass threaded rod M6x220mm
    Slide in printed parts number 7 and screw in 2x M2x10remoteqth.com_img_wiki-wx-station-11.jpg

  8. remoteqth.com_img_wiki-wx-station-36.jpg

  9. Press the bearing into printed parts number 8
    If need precise tuning outside diameter, use this value in OpenScad source
    BearingInTuning  = +20;  // +- smooth tuning bearing inner diameter in um


  10. Slide in neodymium magnet - magnet must be turned north side inwardsremoteqth.com_img_wiki-wx-station-13.jpg

  11. Slide the printed part onto the assembled partremoteqth.com_img_wiki-wx-station-14.jpgif your printer's tolerance is different, you can generate a set with select part number 16 in openScad source
    Part                      =    16;   // select part 0-16, -1=all, 16=variant of inner

  12. Slide in printed parts number 10 and screw in 2x M2x10remoteqth.com_img_wiki-wx-station-15.jpg

  13. Press the bearing into printed parts number 11
    If need precise tuning outside diameter, use this value in OpenScad source
    BearingInTuning  = +20;  // +- smooth tuning bearing inner diameter in um


  14. Slide in neodymium magnet - magnet must be turned north side topremoteqth.com_img_wiki-wx-station-17.jpg

  15. Slide the printed part onto the assembled partremoteqth.com_img_wiki-wx-station-18.jpgremoteqth.com_img_wiki-wx-station-19.jpg

  16. Slide in two small neodymium magnet - must be turned bottom north sideremoteqth.com_img_wiki-wx-station-20.jpg

  17. Screw in 2x M3x10 - after tightening, loosen by one turnremoteqth.com_img_wiki-wx-station-21.jpg

  18. Carefully insert the PCB coin and plug in to connectorremoteqth.com_img_wiki-wx-station-22.jpg

  19. Silicone top holeremoteqth.com_img_wiki-wx-station-37.jpg

  20. Put on printed parts number 12 and tighten with a brass nut
    free hole around PCB it is necessary to seal with siliconeremoteqth.com_img_wiki-wx-station-23.jpg

  21. The screw must not protrude beyond the nutremoteqth.com_img_wiki-wx-station-24.jpg

  22. Silicone top holeremoteqth.com_img_wiki-wx-station-38.jpg

  23. With press the pliers to put onremoteqth.com_img_wiki-wx-station-25.jpg

  24. Screw in M3x10 to printed parts number 14remoteqth.com_img_wiki-wx-station-26.jpg

  25. fit the azimuth blade and screw it on stainless steel threaded rod M6x125mm on, so as to keep them horizontally balanced - M6 nuts can be screwed in for balancingremoteqth.com_img_wiki-wx-station-27.jpg

  26. Fit part number 14 on part number 12 so that the locking screw is against the bottom holeremoteqth.com_img_wiki-wx-station-28.jpg

  27. Install the three anemometer bladesremoteqth.com_img_wiki-wx-station-29.jpg

  28. Connect ESP32-POE to PCB and fix with two lashing strapsremoteqth.com_img_wiki-wx-station-30.jpg

  29. Slide in printed part number 0 and fasten with a screw M3x10remoteqth.com_img_wiki-wx-station-32.jpg

  30. Pass two lashing straps to attach to the mastremoteqth.com_img_wiki-wx-station-33.jpg

Passive thermometer sun shield

This part need for acurrate measure of temperature.

  • First step measure mouting pipe diameter
  • 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.

  • After complete all STL parts you can start 3D printing with WHITE PETG filament. Sun-shield part nr 4 you print four times.

M3 x10 mm 18x
M3 x 20mm 3x
Outdoor DS18B20 temperature sensor 1x
Plastic binder 5x
  • Check all parts
  • Mount three screw M3x10mm for join part 1 and 2
  • Plug thermistor to center part 3
    remoteqth.com_img_wiki-wx-station-43.jpg remoteqth.com_img_wiki-wx-station-44.jpg
  • Mount three screw M3x10mm for join every floor
    remoteqth.com_img_wiki-wx-station-45.jpg remoteqth.com_img_wiki-wx-station-46.jpg
    remoteqth.com_img_wiki-wx-station-47.jpg remoteqth.com_img_wiki-wx-station-48.jpg
    remoteqth.com_img_wiki-wx-station-49.jpg remoteqth.com_img_wiki-wx-station-50.jpg
  • remoteqth.com_img_wiki-wx-station-51.jpg
  • remoteqth.com_img_wiki-wx-station-52.jpg


  • Three mounting type are available
    • Horizontal pipe - need tune parts number 3 to same diameter and 3d print
    • Vertical pipe - need tune parts number 3 to same diameter and 3d
    • 6mm hole for vertical rod
  • During instalation respect orientation by down side sign to South-North orientation


  • LoRa firmware support
3d_print_wx_station.1611944828.txt.gz · Last modified: 2021/01/29 18:27 by ok1hra