Hello - I recently purchased a Weather Shield (DEV-13956) and have it connected to an Onion Omega with the Arduino dock. It is mostly working, but I’m having some issues. I am using the “Weather Shield Example” code with GPS set to SW-UART directly from the hookup guide.
Temp, Pressure and Humidity read negative values.
GPS lat/long are zero value
Date/Time are empty
The only thing that seems to be working correctly is wind dir, speed, etc… via the RJ-11 connectors.
Using the Onion command-line I can see there are two devices 0x40 and 0x60 on the i2c bus.
Unfortunately, the Weather Shield appears to not really be compatible with the Arduino Dock for the Onion. The issue you are running into here is most likely related to the TXS0108E IC the Arduino Dock uses for level shifting between the Arduino dock and the Onion. That chip has internal pull-ups that do not play well with devices like the Weather Shield that have their own pull-up resistors.
There might be a couple of ways around this issue but I have not quite figured one out yet. What I have come up with would be to either bypass the TXS0108E or disable the pull-up resistors on the I2C lines for the SI7021 and MPL3115A2LGA8. Both solutions raise new problems, though.
If you bypass the TXS0108E, you would need to also bypass the level shifting that is switching between 5V and 3.3V logic on the I2C bus on the Weather Shield and that will most likely break the example sketch since it is looking for those devices on the ATMega328’s I2C bus. If you disable the pull-up resistors on for the two sensors and bypass the level shifting, you risk damaging them by sending them directly to the 5V logic I2C pins on the Arduino side of the Arduino dock.
Long story short, there might be a way to get this shield to work outside of what I have laid out here but it is almost certainly going to require modifying the Weather Shield, the Arduino Dock or both boards. If you want to look into it more, I would recommend reviewing the schematics for the [Weather Shield and the [Omega Arduino Dock.
Thanks for looking into this TS-Mark. I really appreciate it.
An issue with pullups was kinda what I was afraid of, but I wasn’t able to find those schematics - so thanks for hunting those down.
Is there an easy way to add WIFI to the Redboards? It kinda defeats the purpose of having a weather station that has to be physically attached to a PC. (this is going outside a greenhouse)
There are several options you could use for adding WiFi to a RedBoard or standard Arduino. The Arduino WiFi should work without too much hassle. You might need to adjust some things in the library but since the Arduino WiFi runs at 5V and uses an ATMega chip, it should not have too many issues with the example code. It would just be a matter of modifying the code to send the data via WiFi.
Another option would be to use something like the [SparkFun WiFi Shield. We also have a simple breakout of the [ESP8266 WiFi Module here. Just be aware the ESP8266 runs at 3.3V so if you use the standard module, you would need to level shift the serial lines from 3.3V to 5V. The WiFi shield handles that shifting on the board.
Depending on what range you need for wireless communication, you could also send the serial data from the Arduino+Weather Shield via Bluetooth using something like the [Bluetooth Mate 4.0 or another of our Bluetooth modules.