EMW3165 (thermo)meter
Switch branches/tags
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings pbConnectURL has been renamed to pbConnect. Nov 21, 2017
config Switch to potato-json parser to handle new json messages. Jun 1, 2017
fonts Add license files for fonts. Mar 11, 2016
.cproject Need wiced-driver.h for interface definition. Jan 21, 2017
.gitignore Initial commit. Mar 11, 2016
.project Initial commit. Mar 11, 2016
Makefile Generate romfs using wiced sdk version from Makefile. Jun 8, 2016
README.md Add wifi led pin to gpio table. Apr 29, 2016
ap.c Need wiced-driver.h for interface definition. Jan 21, 2017
devtree.c Initial commit. Mar 11, 2016
devtree.h Cleanup old leftovers. May 13, 2016
emw-meter.h Add workaround for corrupted display. Feb 27, 2018
emw-meter.launch Initial commit. Mar 11, 2016
emw3165.ld Initial commit. Mar 11, 2016
gen_romfs.sh Generate romfs using wiced sdk version from Makefile. Jun 8, 2016
gui.c Add workaround for corrupted display. Feb 27, 2018
led.c Initial commit. Mar 11, 2016
main.c Need wiced-driver.h for interface definition. Jan 21, 2017
potato.c Check pbSubscribe result. Feb 27, 2018
sensor.c Need emw-meter.h for MISSING_VALUE. Feb 27, 2018
spibus.c Initial commit. Mar 11, 2016
ssd1306.c Add workaround for corrupted display. Feb 27, 2018
sta.c Add "es" command. Jun 1, 2017
startup.c Use tickless idle to save power. Apr 22, 2016
ugui.c Initial commit. Mar 11, 2016
ugui.h Initial commit. Mar 11, 2016
ui.txt Initial commit. Mar 11, 2016

README.md

EMW-Meter

This is a simple temperature display based on EMW3165 module and cheap SSD1306 OLED display. It receives data with MQTT protocol (using potato-bus library) and displays inside and outside temperatures along with weather forecast symbol. I have also sensor that measures house electricity usage so that is displayed too.

In addition to current values, it collects history for some hours and displays a trend/bar graph from it at bottom of display. There is also a weather symbol that shows forecast for next 8 hours. Forecast data comes from Finnish Meteorological Institute.

Inside temperature is measured by DS1820.

After building firmware and loading it to WifiMCU, type "help" at console prompt to get started. "sta" will connect to system to existing access point. Incoming MQTT messaging is currently not very configurable, ie. topic names and json attributes are built into code and thus need to be modified to be useful to someone else than me.

GPIO connections:

Module Pin Pin GPIO
DS1820 D3 PB10
OLED MOSI D1 PA1 SPI4_MOSI
- D14 PA11 SPI4_MISO
OLED CLK D12 PB13 SPI4_CLK
OLED CS D13 PA5 (not really used by OLED module)
OLED C/D D7 PA12
OLED RST D15 PB1
WIFI LED D17 PA4
SWDIO D6
SWCLK D5
RESET RST

Weather forecast symbol font is created from files available at fmidev github

To build this following modules are needed:

  • Pico]OS
  • picoos-micro
  • picoos-micro-spiffs
  • picoos-lwip
  • picoos-ow
  • wiced-driver
  • cmsis-ports
  • potato-bus
  • eshell

There is a short story about the project here.