This is about upcycling of the IKEA-FREKVENS Object.
With this modification you turn Frekvens into Y-CLOCK: A Web Connected Display, which basically acts as an Internet Clock.
What is „FREKVENS“
The original Product was intended to operate as a audio driven display of stored images:
So if you listen to music it would display arrows, bars, stars and other patterns. That’s it. So its pretty useless and boring. My opinion.
The provided software allows for displaying up to four digits in the display. That is normally hours and minutes.
The Arduio Sketches below are a starting point for your own projects and works as a simple WiFi Clock.
The RED Button changes the brightness.
The installation/usage is simplified by using a WiFi-Manager.
Additional Version support a LDR for automatic brightness control and an MQTT-Client to display Messages from home Automation.
Y-Clock Internet Connected Device. Showing the Time. 8:56. Detailed description in the Make: Magazine. We suggest you buy one.
This! is all you need: Frekvens and Wemos D1 Mini Pro. Even the Resistor/LDR is optional.
Y-Clock is an Internet connected device . It needs your Wifi-Credentials to connect to your Router.
The setup is very Easy since it comes with a „Wifi-Manager“ to Setup your Network Connection.
If you start the Y-Clock for the first time, there is a new Network available, named Y-Clock.
- Search for WiFi Networks
- Connect your Phone to Y-Clock.
- WiFi Manager appears
- Select Configure-Wifi
- Select your Router (SSID)
- Enter your Network password.
The Y-Clock stores the password and reconnects. After a minute it can display the network time. The Clock will Display „AP“ and „OK“ if connection is successful.
Getting Network Time
To get international Time, define a Time Server and your Timezone. In Berlin we use CET-1 hour. Summer / Winter Time is automatically changed. More Information on Time Zones is provided here: https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html
define MY_NTP_SERVER "at.pool.ntp.org"
define MY_TZ "CET-1CEST,M3.5.0/02,M10.5.0/03"
Then you can access the Timeserver Data an a regulary basis
time(&now); // read the current time
localtime_r(&now, &tm); // update the structure tm with the current time
year = tm.tm_year + 1900;
month = tm.tm_mon + 1;
day = tm.tm_mday;.dow = tm.tm_wday;
hour = tm.tm_hour;
minute = tm.tm_min;
msecond = tm.tm_sec;
SAMPLE ARDUINO SKETCHES
Use these sketches for your Arduino IDE. Adjust your board settings to Wemos D1 Mini.
For the WiFi Manager you have to Install the library „Tzapu Wifi Manager“.
You can donwload it here: https://github.com/tzapu/WiFiManager.
NOT MAKE ?
if you do not like to make the unit by yourself: Check ebay for Y-CLOCK and buy a fully assembled and tested unit.
or MAKE !
The modification is straightforward:
- buy Frequenz, and a wemos d1 mini pro,
optionally : a LDR and a 100k resistor.
- flash the wemos d1 mini pro before assembly!
- open the product – (see pictures below)
- unsolder and remove the built in green electronics board
- connect the wemos d1 mini pro like displayed
- reassemble the product
Remove the transparent front diffusor. It does not improve the quality.
Image of disassembled FREKVENS
Keep white Power Lines soldered.
Unsolder the three Button-Wires (black,White, Red) from the green Board,
Unsolder the green board.
WIRING of Wemos D1 Mini Pro
- Optional solder Resistor and LDR
- Connect Power/Gnd and 4 Data Wires to white LED Board
- Connect the three Button wires (red,black,white)
In this image you can see how we prepared the connections for the Wemos D1-mini-pro.
Please do use ca 10cm wires ! If they are too short, you may have problems to reassemble!
Here are the connections:
D8,D7,D6,D5 are connected to the LED Board
D2 and D4 are used to connect the two buttons.
(red wire = GND/0, White D4, Black D2)
We can use A0, together with an LDR and a 100k Resistor as an optional brightness sensor,
- LDR is connected to A0 and +3V3,
- R100k to GND and A0
Schematic for LDR Option
If you want to adjust the brightness of the Display in relation of the ambient light, add this line of Code for LDR
to be executed every minute in the main loop:
brightness = map(analogRead(A0), 1024, 0 ,200,254);
The pre-built Firmware has an Option to Display Messages from MQTT Servers. Currently it supports anonymous login only. You can send any Text Message. The Y-Clock currently subsribes two topics for Line1 and Line2 Texts. In the Video PPM2.5 Values are displayed on Line1 and PPM10 Values on Line2. These Features are currently under development.
Use our web installer at http:o-clock.eu, to install the firmware direct on the wemos-d1-mini-pro. Choose Y-Clock for Frekvens for this project. A manual is available from the o-clock.eu website.
NEW: If you like to have more than one Frekvens-Object, you can distribute the time digits to two, three, four or even six units by selecting the digits to be displayed. That is pretty funny! There are many Display Modes to select from, as shown in the picture. The small „20“ on the second cube from left is the seconds. Also there is the current date and day of week available. You have to press the YELLOW Button to select the digits to display. This option is available on the extended Software via o-clock.eu.
The Y-Clock extended Software features a Web Interface to Control and Setup the Clock.
You can Choose fonts, set the brightness levels and pretty new: It has a MQTT Client to display Text Messages in the Network Tab. Also you can distribute the Display to many Frekvens Objects. Download the extended Software via o-clock.eu. You will find a manual there too. If you like you can enable one of the provided weird digital and logic fonts…
if you like you could use some of our nerdy fonts to impress your friends …
have fun !