New! Solar WXLink Product Released for Mini Pro LP Arduino Board

solar wxlink

New! Solar WXLink Product Released for Mini Pro LP

Solar WXLink
Solar WXLink hooked up to WeatherRack

Arduino Board

The Solar WXLink Wireless Weather Sensor Link product has been released and available for sale on the SwitchDoc Store.   Contains Grove Connectors so there is no soldering required.

What is the 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 added a solar power option.

The Solar WXLink is a solar powered wireless serial link that can transmit up to 600 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.

This kit contains:

  • – Two Mini Pro LP Arduino Boards
  • – One DS3231 Real Time Clock
  • – One WXLinkWR Weather Rack Interface Board
  • – Two Grove RF Serial Pro
  • – 5 20 CM Grove Cables
  • – 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 system has a bi-directional 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.

img_1183

 

Solar WXLink Wireless Range

img_2081The Serial RF Pro is rated for 600 meters in free air.  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.

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

Downloads

Wiring Diagram

img_1187

img_1182

No soldering needed!  Plug and Play.

 

 

Data Format

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 8MHz 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.Screen Shot 2016-08-02 at 9.10.14 AM

 

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.).

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