Skip to the content
PCBKitNew board
2 layersWindSensor, the printed circuit board in 3D

WindSensor

ieb/WindSensor1

RF WindSensor device using 12bit position sensor and 2.4GHz RF emitting raw readings at 5Hz.

Copper layers
2
Thickness
1.6 mm
Parts
13
Nets
11
Pads
35
Tracks, vias
54, 0
Routed
Yes
KiCad
KiCad 4
Created
4 Jan 2021
Updated
20 Mar 2021

Overview

WindSensor is an open-source printed circuit board by ieb, from the ieb/WindSensor repository on GitHub. It is a 2-layer board with 13 parts on 11 nets, routed with 54 tracks and 0 vias.

Its parts include 9 connectors, 2 capacitors and 2 ICs. It belongs with the sensors and measurement boards of this library.

README

README.md

Sailing Wind Sensor

This project contains the code and designed for a long arm sailing wind sensor. Standard wind sensors are fine for most sails but they fail to acurately measure wind angle down wind where they are in the flow of the air from the mainsail. This is partically bad where the mainsail has a large flat top. (Class40, Pogo1250, etc). The solution is to put the windsensor on a 1m-1.8m carbon mast above the masthead. Commercially these sensors start at 1K GBP and for 1.8m sensors expect to pay 4K GBP. Hence this project attempts to create a wind sensor using opensource components.

Construction The housing is 3D printed in ABS. The mast is laminated in carbon fibre.

Communications Raymarine uses a 2 axis hall device generating sin/cos voltages and a pulse for speed. The circuit is complex, large and suceptable to errors in the voltages due to the length of wire run and poor connections. For that reason, although I currently have a Raymarine wind sensor I decided not to duplicate.

The device will communicates with RF using a Beken BK2491 chipset configured in the form a a JDY-40 runing at 2Mb/s bursting a serial stream at 9600 baud.

https://www.mikrocontroller.net/attachment/381910/BT-WiFi-52rf5541.pdf https://www.electrodragon.com/w/images/0/05/EY-40_English_manual.pdf

The data sent over RF has 2 forms running at between 5-10Hz, both comma seperated values with a CRC16 checksum.

The protocol is proprietary and compact. A single line of csv readings without interpretation including the reading from the possition sensor 12bit representing 0-360 and the number of nano seconds for half a revolution (64bit).

  • Masthead micro controller - Ardiono Pro Mini (18mmx33mm, 8MHz, 3.3v).
  • Angular sensor - AS5600 12bit i2C device sensing a diametrically magnatised magnet
  • Speed sensor - SS451 Hall switch sensing 2 magnets on a shaft triggering interrupts.
  • JDY-40 - 2.4GHz RF module running at 9600 baud bursting over a 2Mb/s wifi channel.
  • Supply 11-16V

Measurements.

The measurements including writing to the serial take 4ms to complete. Resolution of the AS5600 is 0.1 degrees. The code measures the pulse period directly since at low speed counting pulses is inacurage. Slowest speed is 1 revolution every 64s which is 0.01Kn. Highest is probably limimited mechanically but is well over 100kn (tested with a drill driving the shaft)

Calibration Curve for AS5600, depends completly on the hardware setup.

text
    0,709,69,2070
    10,822,69,2078
    20,939,69,2083
    30,1049,69,2086
    40,1167,69,2090
    50,1283,69,2092
    60,1396,69,2098
    70,1512,69,2104
    80,1625,69,2110
    90,1736,69,2117
    100,1853,69,2117
    110,1964,69,2113
    120,2082,69,2112
    130,2196,69,2126
    140,2308,69,2122
    150,2423,69,2117
    160,2536,69,2120
    170,2649,69,2122
    180,2762,69,2119
    190,2874,69,2112
    200,2987,67,2106
    210,3103,67,2096
    220,3216,67,2087
    230,3326,67,2081

Conversion to degrees is 360*(m-offset)/4096. Average error is 0.3 degrees, There appears to be a sinusoidal error associated with magnet offset, although this is not large enough to be of concern or to both fixing. Just as likely to be a measurement error.

Conversion and linearisation will be done in the base station, not in the masthead sensor.

Problems encountered

FLoating dir pin on the AS5600 causes erratic readings. AGC of 50-70 and Flux magnitude of 2000+ gives very stable readings, magnet is a 6mmx4mm Samarium Cobalt Magnet magnet with 0.3kg pull https://www.magnetexpert.com/magnet-materials-standard-assemblies-c150/6mm-dia-x-4mm-thick-diametrically-magnetised-samarium-cobalt-magnet-0-3kg-pull-p3517

The 3144 needs magnets to pass 1mm or less from the surface using 3mmx1mm N35 Neodymium magnet with 0.13kg pull (using 2x)

https://www.magnetexpert.com/magnet-materials-standard-assemblies-c150/3mm-dia-x-1mm-thick-n35-neodymium-magnet-0-13kg-pull-p6201

Initial attempts to use RS-485 and RS-422 failed due to current consumption runnng the drivers exceeding the output available from the Pro Mini. Also managed to blow multiple Pro Mini's and 1 AS5600 when testing with long wires. the JDY-40 appears to have at least 50m range though walls and metal roofs with minimal data corruption.

Parts

13
QtyValueFootprintReferences
2GNDPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mm_SMD_Pin1LeftP8, P9
2SPPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mm_SMD_Pin1LeftP1, P4
10VPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mm_SMD_Pin1LeftP2
110nFCapacitors_SMD:CP_Elec_5x5.8C2
110nFCapacitors_SMD:C_0805_HandSolderingC1
13v3Pin_Headers:Pin_Header_Straight_1x01_Pitch2.54mm_SMD_Pin1LeftP3
15VPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mm_SMD_Pin1LeftP7
1ArdinoMinProDivers:ArduinoProMiniU1
1JDY40Divers:JDY-40U3
1SCLPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mm_SMD_Pin1LeftP6
1SDAPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mm_SMD_Pin1LeftP5

Questions

What parts does the WindSensor use?

13 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the WindSensor KiCad files?

From the ieb/WindSensor repository on GitHub, at the commit this page was made from: the board is pcb/WindSensor.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the WindSensor design in my own project?

Its repository states no licence, so its author keeps all rights: ask ieb before reusing the design.

Similar boards

  • 2 layers40 × 20 mmUsb uart, the printed circuit board in 3D

    Usb uart

    earthtojake/text-to-cad

    Design physical products with AI

    13 parts26kMIT
  • 2 layers35 × 29 mmMagSpoofTC, the printed circuit board in 3D

    MagSpoofTC

    samyk/magspoof

    A portable device that can spoof/emulate any magnetic stripe, credit card or hotel card "wirelessly", even on standard magstripe (non-NFC/RFID) readers.

    13 parts4.2k
  • 2 layers20.6 × 23.6 mmAO-03 signal amplifier, the printed circuit board in 3D

    AO-03 signal amplifier

    fossasia/pslab-scripts

    Pocket Science Lab - Scripts for Sensor Experiments

    13 parts1.6kApache-2.0
  • 2 layers47 × 35.6 mmMX7-C-35PL C11, the printed circuit board in 3D

    MX7-C-35PL C11

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    13 parts1.2k
  • 2 layers95 × 95 mmCube batteryboard, the printed circuit board in 3D

    Cube batteryboard

    willem-pennings/balancing-cube

    A cube that balances itself in a corner or edge using reaction wheels

    13 parts1.1kGPL-3.0
  • 2 layers15.2 × 20.3 mmPt100stick, the printed circuit board in 3D

    Pt100stick

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    13 parts1.1kGPL-3.0
  • 2 layers53.9 × 23.2 mmBuffer, the printed circuit board in 3D

    Buffer

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    13 parts1kGPL-3.0