README.md
Version

Overview

1984 Macintosh-style weather station using Wi-Fi and OLED display.

weather-station.jpg

2020-02-15 23.32.48.jpg

Components

2020-02-17 15.33.40.jpg

Part Quantity Note
Kameleon Core 1
1.3" OLED Display (SSD1306 I2C) 1 Purchased from Aliexpress
Wi-Fi module (ESP-01 module) 1
Jumper Wires 9 10cm Male-Female
Mini Breadboard 1 3.5cm x 4.5cm
Rare-earth magnets 8 diameter 3mm, thickness 3mm
Bolt 4 M3x8
3D printed case 2 pieces https://www.thingiverse.com/thing:4164035

Wiring and Assembly

First, connect Kameleon Core with OLED and ESP8266 as below with jumper wires and breadboard.

Kameleon Core ESP8266 SSD1306
3V3 VCC, CH_PD VCC (VDD)
GND GND GND
6 (UART0 TX) RXD
7 (UART0 RX) TXD
8 (I2C0 SCL) SCL (SCK)
9 (I2C0 SDA) SDA

weather-station_bb.png

Then print the case model using a 3D printer. In my case, I printed it using FDM-type printer with PLA filament. You can get model from Tinkercad(https://www.tinkercad.com/things/9cmyz9PlggY) or Thingiverse(https://www.thingiverse.com/thing:4164035).

Macintosh 1984.png

When you got the printed case, first you need to mount OLED display to the front cover using M3x8 bolts.

2020-02-15 16.06.26.jpg

I used magnets to combine the front cover and the case body. So insert magnets into the 4 holes on the cover and body. Be careful the correct side of magnets should be inserted so that the cover and body can be sticked.

2020-02-15 16.07.58.jpg

Lastly, insert the breadboad to the inner space of the case body and connect USB-cable via the hole on back-side.

2020-02-15 16.08.47.jpg

Setup

To run this project, you need to store several keys in storage via Terminal as below.

First, you have to assign WIFI_SSID, WIFI_PASSWORD keys in storage for your Wi-Fi network.

> storage.setItem('WIFI_SSID', 'MyHome'); // WiFi SSID
> storage.setItem('WIFI_PASSWORD', '********'); // Wi-Fi Password

Then, you need to obtain API key from OpenWeatherMap.

> storage.setItem('OWM_APIKEY', '********************'); // OpenWeatherMap API Key

Set the location where you want to get weather information from OpenWeatherMap.
List of city ID city.list.json.gz can be downloaded here: http://bulk.openweathermap.org/sample/

> storage.setItem('OWM_LOC', '1835848'); // e.g.) Seoul

Lastly, upload this project to the Kameleon Core board.

Usage

No special usage. It periodically (10 min.) request weather information to OpenWeatherMap and show it on OLED display.