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”]
Solar WXLink and WXLink Wireless Range
The 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 received 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:
- Specification and Assembly Manual
- Receiver Software – https://github.com/switchdoclabs/SDL_Arduino_WXLink_LoRa_Rx
- Transmitter Software – https://github.com/switchdoclabs/SDL_Arduino_WXLink_LoRa_Tx
For Solar WXLink:
- Specification and Assembly Manual
- Receiver Software – https://github.com/switchdoclabs/SDL_Arduino_WXLink_LoRa_Rx
- Transmitter Software – https://github.com/switchdoclabs/SDL_Arduino_WXLink_LoRa_Tx
Wiring Diagram
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.
We 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.
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