README.md
Version

Overview

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

1582701231350.jpg

1582691225481.jpg

Components

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

Wiring

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

1582691349527.png

Assembly

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 or Thingiverse.

1582691389839.png

When you got the printed case, first you need to mount OLED display to the front cover using M3x8 bolts. Don't tighten too much the bolts into the case because there is some margin between OLED and the front case. If you tighten too much, OLED breakout board may be broken.

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

1582691475832.jpg

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

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