WXLink and Solar WXLink Upgraded to LoRa For Long Range Radio

WXLink and Solar WXLink Upgraded to LoRa For Long Range Radio

 

SwitchDoc Labs is please to announce the upgrade or of WXLink and Solar WXLink products to the LoRa long range radio standard.  You can now go up to 6000 meters and even further with larger antennas.   We have also added a 433MHz Yagi antenna to our product line that matches these two kits.

These Kits are compatible with all our SwitchDoc Labs Weather Products:

What is the WXLink and Solar WXLink?

The issue is sometimes you don’t want to run a wire all the way from the Weather Station to the wind and rain sensor.  Using the Mini Pro LP, we built a WeatherRack reader and then we use a transmitter to send it back to the GroveWeatherPi station inside.   And also, sometimes you don’t have power easily available and that is why we also added a solar power option.

The WXLink (the Solar WXLink is solar powered) is wireless serial link that can transmit up to 6000 meters in free air.   It is designed to connect up to any source of data from sensors connected to the Mini Pro LP Arduino compatible low power computer board.  It was specifically designed to connect a WeatherRack weather sensor array to a Weather Board based system connected to an Arduino or Raspberry Pi computer.   The receiver is read by the host computer through an I2C interface.   Much easier and more available than a serial interface.   And yes, it has Grove connectors throughout the system.   The WXLink comes preloaded with the software to support a WeatherRack and AM2315.   See below for the source code.  No soldering required.

The WXLink kit contains:

  • – Two Mini Pro LP Arduino Boards
  • – One DS3231 Real Time Clock
  • – One WXLinkWR Weather Rack Interface Board
  • – Two Grove LoRa 433MHz Transceivers
  • – 5 20 CM Grove Cables

The Solar WXLink kit adds:

  • – SunAirPlus Solar Panel Controller / Data Collector (includes Pin Header to Grove Plug Cable)
  • – USB Cable from SunAirPlus to Mini Pro LP Rx Arduino Board
  • – Two 330mA/6V Solar Panels with JST-2 Plug for SunAirPlus

 

The systems have a bi-directional wireless serial link between the two Mini Pro LP Arduino Boards.    The software below only supports a one way link, but you can modify the software code to transmit anything you would like.   The boards come preprogrammed with the Rx and Tx software so you can get up and testing quickly!

The Rx board has an I2C interface built in so it can be easily read by many computers without consuming the standard serial port.

You can see all of these products at shop.switchdoc.com.

[callout size=”col-12″ title=”Check out all these products at SwitchDoc Labs” button_title=”Shop SwitchDoc Labs” button_link=”shop.switchdoc.com”  button_size=”normal” button_rounded=”true” button_color=”red”]

WXLink

Solar WXLink and WXLink Wireless Range

LoRaThe 433MHz LoRa Transceiver is rated for 18000 meters in free air with quality antennas.   That is a long way.  Typically, you will see 200 meter range with wire antennas, but it is very dependent on your interior and exterior wall (metal studs in your wall can dramatically reduce range, for example).  Free air means with no obstruction and line of sight.   Anything in your way reduces the Mini Pro LPreceived power and reduces the range.   To test the range, We took the solar powered transmitter system on a walk down to the Spokane River.  We ran two tests.  One with the receiver behind three interior walls and one exterior wall and then repeated the test with the receiver only behind one interior wall.   We specifically looked for continuous data flow.   We found we could go about 5% or 10% further and still get a packet now and again.   We were only using the included wire antennas in this test.

Table 1 – Maximum Transmission Distance

 

Receiver Condition Maximum Transmitter Distance
Behind 3 Interior / 1 Exterior Wall 220 meters / 720 feet
Behind 1 Exterior Wall 438 meters / 1437 feet
With one Yagi antenna and small antenna (in residential neighborhood)  1600 meters / 5200 feet

The Yagi Antenna

If you want to get even longer range out of your system, you can select one or two Yagi antennas for your system.   You get substantial gain (about 10dBi for technical folks) at the cost of the antenna being much more directional.   A Yagi antenna is directional in nature and this is tuned to 433MHz.   You can use it for other frequencies at a cost of gain.  As a rule of thumb the antenna will perform well at any integer multiple of 433MHz (866MHz for example).

What is a Yagi Antennna?

A Yagi–Uda antenna, commonly known as a Yagi antenna, is a directional antenna consisting of multiple parallel elements in a line, usually half-wave dipoles made of metal rods. Yagi–Uda antennas consist of a single driven element connected to the transmitter or receiver with a transmission line, and additional “parasitic elements” which are not connected to the transmitter or receiver: a so-called reflector and one or more directors.] It was invented in 1926 by Shintaro Uda of Tohoku Imperial University, Japan, and  Hidetsugu Yagi.

The reflector element is slightly longer than the driven dipole, whereas the directors are a little shorter. This design achieves a very substantial increase in the antenna’s directionality and gain compared to a simple dipole or wire antenna.

It is often used in fixed-frequency applications. The largest and best-known use is as rooftop terrestrial television antennas, but it is also used for point-to-point fixed communication links (like our Solar WXLink and WXLink systems), in radar antennas, and for long distance shortwave communication by shortwave broadcasting stations and radio amateurs.

The following Smith chart illustrates the directionality of the 433MHz antenna.

Downloads

For WXLink:

For Solar WXLink:

 

Wiring Diagram

 

WXLink

No soldering needed!  Plug and Play.

 

 

Default Data Format for WXLink and Solar WXLink

 

Transmitted Data Format

Value Format Notes Byte Value Start I2C Block Number
Start Byte #0 0xAB Constant

0

0

Start Byte #1 0x66 Constant

1

0

Wireless ID/Software Version Byte WIRELESSID is changed if you have more than one unit reporting in the same area.  It is coded in protocol as WIRELESSID*10+SOFTWAREVERSION

2

0

TimeStamp long – 4 bytes Approximate Seconds since reboot of TX unit.  Only guaranteed to advance with time.

3

0

Wind Direction int – 2 bytes degrees

7

0

Average Wind Speed (KPH) float – 4 bytes KPH

9

0

Wind Clicks long – 4 bytes clicks since last packet generation

13

0

Total Rain Clicks long – 4 bytes Since boot up

17

0

Max Wind Gust float – 4 bytes KPH – Not Implmented

21

0

Outside Temperature float – 4 bytes Degrees C

25

0

Outside Humidity float – 4 bytes %

29

Split between 0/1
Battery Voltage float – 4 bytes Volts

33

1

Battery Current float – 4 bytes mA

37

1

Load Current float – 4 bytes mA

41

1

Solar Panel Voltage float – 4 bytes Volts

45

1

Solar Panel Current float – 4 bytes mA

49

1

Aux A float – 4 bytes For future use

53

1

Message ID long – 4 bytes Increments from 0 at boot up sequentially per message packet generated and sent

57

1

Checksum High Byte High byte of CRC 16XModem checksum of message – see code for generation 

61

1

ChecksumLow Byte Low byte of CRC 16XModem checksum of message – see code for generation 

62

1

Fill byte Byte – 0x00 constant

63

1

The Arduino Mini Pro LP Board

Features

  • – Really Low Power Usage (for Solar applications!)
  • – Grove Connector Compatibility for IOT Prototyping
  • – ATmega328P Processor
  • – Arduino Pro Mini Compatible Pinout
  • – Under 1mA sleep current
  • – DS3231 Real Time Clock Included
  • – 3.3V – 5V
  • – Arduino IDE Compatible
  • – Thousands of drivers available
  • – Compatible with Hundreds of Grove Sensors

And this is why we are building the Grove Pro Mini LP.

Mini Pro LPWe redesigned the Arduino Pro Mini LP board to be very low power.   We removed the regulating power supply, modified the circuit to run the processor at 16MHz and provided 3.3V and 5V compatibility. Whew!  And the engineering prototypes work!  We have about another week of testing and we should be able to release to production.  That means we will should ship this Kickstarter on time!

A Low Power Arduino Board – Designed for Solar!

The Arduino family of processors is a fabulous prototyping and building system for Makers.   The combination of the Arduino IDE with its thousands of available drivers for sensors and the ATMega line of processors have spawned a tremendous burst of creativity around the world.

At SwitchDoc Labs we have been building and writing about Arduino projects for years.   From Project Curacao in the tropics to specialized Arduino based solar powered weather stations, we have extensively used these devices in many ways.

Low Low Power

The Grove Mini Pro LP is designed to be low power.   Especially when sleeping.   It can be awakened in a number of different ways.   The included DS3231 Clock can be programmed to wake up periodically, the Arduino can be programmed to sleep for a while then wake up and the board can be programmed to wake up on a GPIO line changing thus causing an Interrupt.  Very flexible.   You can expect around a max of 18mA at 5V and about 8mA at 3.3V.   The sleep current of this device is < 1ma if you disconnect the power LED.

 

Optional Second Solar Cell

If you live in an especially cloudy area and want to use the second included 330mA/6V Solar Cell, you will need to solder two wires (Note:   The second Solar Panel is for those locations with more than average cloud cover.   It is optional to install.  If you wish to install it, you will need to solder two wires from the positive (+) on one solar panel to the positive (+) on the other panel and the negative (-) on one solar panel to the negative (-) on the second panel as in the picture below.).

 

Or you can see our Solar Multi-panel Connector here.

img_0994

 

Output from DataLogger

We have interfaced our Raspberry Pi DataLogger with the SolarWX and here are some results with the Debugging turned on:

readWXLINKData - The time is: 2016-10-22 09:51:33.836462-07:00
-----------
block 1
0xab 0x66 0x19 0x74 0x6 0x0 0x0 0x3b 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xcd 0xcc 0x1c 0x41 0x0 0x0 0x99
block 2
0x42 0x30 0xdd 0x84 0x40 0x33 0x33 0x13 0x41 0x99 0x99 0x11 0x42 0x19 0x4 0x96 0x40 0x9a 0x99 0x31 0x42 0x0 0x0 0x0 0x0 0xe 0x0 0x0 0x0 0xd4 0xd1 0x0
-----------
ReversedreceivedCRC= d4d1
calculatedCRC = d4d1 
Good CRC Recived
32
header = ab 66
protocol = 25
timeSinceReboot = 1652
windDirection = 315
averageWindSpeed =   0.00
windClicks = 0
totalRainClicks = 1
maximumWindGust =   0.00
outsideTemperature =   9.80
outsideHumidity =  76.50
batteryVoltage =   4.15
batteryCurrent =   9.20
loadCurrent =  36.40
solarPanelVoltage =   4.69
solarPanelCurrent =  44.40
auxA =   0.00
messageID = 14
checksumHigh =0xd1
checksumLow =0xd4
Tick! The time is: 2016-10-22 16:51:33.853907
 writing SQLdata 
lastMessageID = 12