3D view (click on the image, wait for the download and move the object with the mouse)
The Yachta wind sensor is used to measure wind speed and wind direction on boats. It is installed on the mast and supplied with 12V. The data transmission of the NMEA0183 telegrams takes place wirelessly via WiFi. There is an access point and a small web server in the wind sensor. A mobile phone with a web browser is used as a display device for the measured values. The measurement data can also be displayed in other programs such as SignalK, AVnav, OpenCPN, Navionics or similar, which can process NMEA0183 data.
Copyright and Licenses
The copyright and the licenses must be observed when reproducing. The wind sensor can be recreated by anyone free of charge as long as there are no commercial intentions and money is earned with it. For commercial purposes, can Contact with open boat projects be included. We then clarify which possibilities exist for a commercial, non-exclusive exploitation.
If these instructions were helpful to you, we would be delighted if you would support us with a donation. This way we can publish other interesting projects. You also help ensure that this site continues to be available to the general public free of charge.
|documentation||CC-BY-NC-SA||All online and print documents|
|hardware||CC-BY-NC-SA||2D, 3D CAD files|
|software||GPL V3.0||Firmware, app|
Difficulty level and time required
|Level of difficulty||4
|Time required [h]||2…3
The assembly instructions are aimed at those with technical skills. If you want to solder the electronics together, you should have experience in assembling SMD components. Without such experience, it is better to purchase a fully assembled board. Programming the ESP8266 microcontroller requires some experience in dealing with microcontrollers and programming adapters, but is not a major hurdle for beginners. If you want to modify the software yourself, you should be familiar with the programming language C and programming environments such as the Arduino IDE or PlatformIO. Since data is transferred via WiFi networks and TCP / IP, you should have knowledge of the configuration of WiFi routers and network technology.
Tools, aids and consumables
|Tools||use||Source of supply|
|Cutter knife / scalpel|
|Open-end wrench set|
|Electronics side cutter|
|Electronics soldering iron|
|USB cable (mini USB)||programming|
|USB serial adapter (3.3V)||programming|
|Digital multimeter||Function test|
|Laptop / pc||programming|
|mobile||Function test with app|
|Oscilloscope (optional)||Function test|
|Tin solder D 1mm|
|Desoldering braid (optional)|
|Silicone oil / fine oil|
|Dupli-Color Aerosol Art, clear lacquer matt||Protective varnish for plastic parts||bauhaus.de|
|2K adhesive Weicon RK-1300||conrad.de|
|Alcohol 99%||Drugstore, hardware store|
|Q tips||Drug store|
The Yachta wind sensor is an anemometer with a rotating bowl wheel. The wind direction is measured using the wind vane. The wind vane aligns itself according to the wind direction. On the underside of the axis there is a neodymium magnet whose magnetic field is measured without contact by a magnetic field sensor (AS5600), which is located on the green circuit board in the middle. The angles are subdivided into 4096 partial steps per 360 ° and transferred to the ESP8266 microcontroller via the I2C bus, resulting in an angular resolution of approx. 0.1 °. The wind speed is measured via the shell wheel, on the upper axis of which there is a ring with several small magnets. When rotating, the magnets move past a Hall sensor and trigger a digital switching signal that is evaluated by the ESP8266. The firmware of the wind sensor contains an access point and a small web server with which the measurement data can be transmitted via WiFi. With a mobile phone you can log into the WiFi network of the wind sensor and view the measurement data with a web browser. There is also an Android app with which the measurement data can be displayed. The wind sensor can also be connected via the TCP port 6666 with other evaluation and display software that is able to evaluate NMEA0183 data.
For mechanical details, you can explore the functional principle in the 3D view.
3D view (click on the image, wait for the download and move the object with the mouse)
- Link to the sailing forum
- Project page on GitLab
- 3D CAD files
- Circuit diagram
- Gerber data for circuit board production
- Aisler circuit board production
- Firmware source code, binaries
- App source code, binaries
- Operating instructions for the app
- Data sheets and other documents
- Contact options
- Weicon RK-1300 product and processing instructions
- Weicon glue video
- Soldering tips
- Video for soldering
- Soldering of SMD components
- Video on using a multimeter
- Commissioning of a new circuit
Before starting the project, take the time to read these guidelines to avoid the most common mistakes. First try to understand how the wind sensor is constructed and how it works before you start. Use the contact options if you have any questions or concerns. In this way you will be able to implement your project successfully.
PETG is an excellent filament for the 3D parts. It has a higher temperature stability than PLA and can be processed just as easily. Make sure not to use dark filaments, as the sun can heat the wind sensor very strongly and the plastic becomes soft. The dimensional stability is only given up to 70 ° C with PETG. White filaments have been found to be suitable. Black PETG filaments, on the other hand, are unsuitable. If you absolutely want to build a black wind sensor, then it is best to use ABS. However, printing is a little more complicated than with PETG and requires experience in handling ABS.
The printed parts of the wind sensor are not waterproof and have to be painted afterwards. Otherwise there is a risk of water entering the wind sensor and damaging the electronics. Any type of varnish cannot be used as the varnish, since ordinary varnish does not adhere to plastic parts. The paint listed in the component list is especially suitable for direct plastic coating without pretreatment. It is easy to work with and achieves good painting results. If you use alternative paints, check the suitability on test objects before painting the wind sensor.
Note that the adhesive used must have a certain residual elasticity in order to be able to compensate for the expansion or shrinkage of different components when the temperature changes. After all, temperature changes of approx. 100 ° C (-10… 90 ° C) can occur between summer and winter and this can break adhesive bonds.
If you have little experience with SMD electronics, buy an assembled and programmed circuit board. This saves you a lot of time and effort in troubleshooting.
If you want to program the electronics yourself, make sure to use a USB-serial converter with a 3.3V TTL signal level. Converters with 5V TTL level are unsuitable and can destroy the electronics. Basically, you should be careful with the electronics and not accidentally come into contact with metal parts. This can lead to short circuits and damage the electronics. Also, be careful not to be electrostatically charged. There is a particular danger in winter when the air humidity is low. You can discharge yourself on a metal water pipe or heating pipe before working on the electronics.
The following component list refers to an assembly with a fully equipped and possibly also programmed board. If you want to assemble the board yourself, you will find a parts list for the electronic components in the GitLab repository.
The sources of supply listed in the component list may no longer be up-to-date. Then it is best to look for alternative procurement options on the Internet.
|position||number||Component||material||Source of supply||comment
|1||1||Wind vane||PETG / ABS||fane.stl|
|2||1||Substructure wind vane||PETG / ABS||fane_support_small.stl|
|3||1||Upper part 1||PETG / ABS||top_1.stl|
|4||1||Upper part 2||PETG / ABS||top_2.stl|
|5||1||Lower part||PETG / ABS||bot.stl|
|6||1||Lower part for ball bearings||PETG / ABS||bot_ball_bearing.stl|
|7||1||Magnet holder||PETG / ABS||magnetholder.stl|
|8||3||Peel||PETG / ABS||cup_round.stl|
|9||1||Bowl base||PETG / ABS||base_cup_wheel.stl|
|10||1||Base||PETG / ABS||base_power.stl||Mounting foot|
|11||1||Yachta board equipped||FR4||Contact form OPB, Aisler||Open Boat Projects, Aisler board manufacturer|
|12||4||Magnet 1 x 1.5 x 5 mm||Neodymium||supermagnete.de||windmill|
|13||1||Magnet 5 x 5 x 5 mm||Neodymium||supermagnete.de||Wind direction|
|14||2||Ball bearing 625 (16 x 5 x 5 mm)||V2A, ABEC9||kugellager-express.de||Upper and middle ball bearing|
|15||1||Ball bearing 695 (13 x 5 x 4 mm)||V2A||kugellager-express.de||Lower ball bearing|
|18||2||M5 stop nut||V2A||bauhaus.de|
|19||1||M5 x 25 countersunk head screw||V2A||bauhaus.de||Wave for wind vane|
|20||1||M5 x 60 Phillips screw||V2A||bauhaus.de||Shaft for cup wheel|
|21||1||M6 x 60 Allen screw with shaft||V2A||bauhaus.de||Pointer for wind vane|
|22||11||M3 x 10 Allen screw||V2A||bauhaus.de||for housing parts|
|23||1||D10 x 1 x 300 aluminum tube||aluminum||bauhaus.de||Holding rod|
|Software / firmware|
|24||1||Firmware V1.14||Binary||GitLab||for ESP8266|
|25||1||Android app||APK||GitLab||Android 5… 11 (3, 4 limited graphics display)|
Step by step description of the assembly with pictures and information on the necessary tools, aids and consumables
Magnet holder and lower bearing
Wind vane and substructure
Standpipe and base
Description of how to prepare the development environment for compiling the source code and how to program the binary file in the hardware. Pictures or circuit diagram for the programming hardware.
The firmware can be installed on the ESP12-E before soldering in using a programming adapter or on the fully equipped circuit board.
Fig: ESP8266 programming adapter for external programming
Fig: Programming adapter for programming on the circuit board
When using a programming adapter for programming on the circuit board, make sure that the signal levels for TX and RX support 3.3V TTL levels. 5.0V TTL levels cannot be used as this can damage the ESP12-E. The programming adapter is to be connected as shown in the picture. You have to make sure that RX is connected to TX and TX to RX. Otherwise you will not be able to carry out any other program transfer.
Fig: programming circuit
- Build the programming circuit together
- Connect PRG and GND
- Connect the USB programming adapter to the laptop or PC
- Connect the 9V battery block
- Programming software NodeMCU Flasher start on laptop or PC and load firmware
- Start the programming process
- If programming is successful, disconnect USB and switch off 9V
- Separate PRG and GND
- Disconnect the programming circuit from the circuit board
- Switch on 12V and check firmware via WiFi connection
The easy-to-use Windows tool NodeMCU Flasher be used. The EXE file can be started directly without any special installation. The tool can be used for both external and in-circuit programming. The first thing to do is take Advanced made the following settings.
After that, under Config the Current firmware file firmware_Vx.xx.wsb selected.
You open up to flash surgery and selects the corresponding interface to which the adapter is connected. Then you press Flash and wait until the firmware is loaded.
The progress of the transfer is displayed during the flashing.
If the firmware has been loaded successfully, the following screen is shown.
After the transfer, the programming tool can be closed and the adapter removed.
The wind sensor needs a reboot to start the new firmware. After the restart, the wind sensor provides a WiFi network with the name NoWa, into which you can log in 30 s after the restart with a mobile phone and the password 12345678. The blue LED then goes out briefly 3 times when the web server is ready. If you then call up the website of the wind sensor with the Android app (http://192.168.4.1), the following should be seen. If the access data of an access point is entered under WLAN client SSID and WLAN client password, the wind sensor will log into this WiFi network. The blue LED then goes out as an indication of a successful connection. If measurement data are called up via port 6666 by a program such as OpenCPN or similar, the blue LED always flashes briefly when a telegram is transmitted.
The last thing that needs to be done in the firmware is the correct type of wind sensor Yachta must be selected in the configuration so that the data is displayed correctly.
Fig: Device Settings for Yachta
Fig: Measured values for Yachta
Step by step description of the function test with measurement results and images. Describe how, for example, the device must be calibrated.
Description of typical assembly errors and their effects and how they can be rectified
|description||Value / range of values||comment|
|Wind speed||0 ... 40 m / s, 0 ... 78 kn|
|Start speed||1 m / s|
|Wind direction||0… 360 °|
|Wind direction resolution||0.1 °|
|Ambient temperature||0 ... 60 ° C|
|Storage temperature||-10 ... 80 ° C|
|Weight class||IP63, IPX3||protected against spray water|
|Supply voltage||7… 30V||reverse polarity protected|
|Network type||WiFi 11 bgn||2.4 GHz|
|Data rate||3 Mbit / s|
|Range||approx. 50 m||in the free field|
|AccessPoint||Yes||max. 3 clients|
|Web server||yes, port 80||Operating pages|
|JSON data server||yes, port 80||Control data|
|TCP data server||yes, port 6666||NMEA0183 data stream|
|Serial interface||yes, 3.3V level||NMEA0183, debug data, parameterizable|
|MDNS||Yes||can be switched off|
|Linux||AVnav, OpenPlotter, OpenCPN|
|Android||Wind sensor app, AVnav, OpenCPN, Navionics, WinGPS pro|
|Dimensions||175 x 120 x 150 mm||without pipe and foot|
|weight||150 g||with pipe and foot|
|plastic||PETG: housing parts||painted|
|Metals||Alu: holding tube||anodized|
|V2A: tip, screws, nuts|
Opinions and tips
We hope that these instructions have helped you to implement the project successfully. Your opinions and tips are important to us. Please let us know whether you have come to terms with the instructions, have had difficulties or have tips on where we should improve the documentation. The best way to do this is to use our contact form. In this way we can enable a high quality of the replication instructions and a successful project implementation.