Getting Started With RoundyFi
RoundyFi is a small computer with a round IPS display. RoundyFi was available over at Kickstarter along with Raspberry Pi based RoundyPi which I will not go into in this guide.
Roundy offers three simple projects to get started in their GitHub page. I chose the WiFi Clock as my first project and example for this guide. It is a simple project that displays a nice analog watch face and keeps time when powered on and within the reach of your wlan.
This guide is mostly based on the Roundy official guide, but I added a few steps so it is easier for beginners to start tinkering with RoundyFi
Supplies
- RoundyFi module
- Micro USB Cable
- Computer
Arduino IDE officially supports Windows, Linux and MacOS. This guide is for Windows but can be applied to other systems too.
RoundyFi has GPIO pins too but we don't need to utilize them now. Code can be uploaded via USB
Connecting RoundyFi to Computer
To get started using RoundyFi, you first need to plug it in to computer. Just connect Micro USB cable to the backside of RoundyFi, and the USB end to any available USB port on your computer. You can see a faint backlight coming from the otherwise black screen, that is all for now.
Installing Arduino IDE
To upload code into RoundyFi, you have to install Arduino IDE. You can get it from the official site, or software store like Microsoft Store.
Configuring Arduino IDE
Arduino IDE needs some libraries to communicate with RoundyFi.
- Select File -> Preferences and paste the following in the field "Additional Boards Manager URLs" and press OK
http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
- Select Tools -> Board -> Boards Manager and type "esp8266" into the search field. You should get one hit, "esp8266 by ESP8266 Community". Press Install and wait for it to complete, then you can close the window.
- Install Arduino_GFX_Library by downloading a .zip file from link below, browse to the bottom where you can see the title "Releases", then download the latest version. After that go to Sketch -> Include Library -> Add .ZIP library -> browse where you downloaded that zip file, then select it and press open.
https://www.arduino.cc/reference/en/libraries/gfx-library-for-arduino/
- Install NTPClient library from Sketch -> Include Library -> Manage libraries -> write "NTPClient" to serch box and Install the first result called just "NTPClient"
- Go to Tools -> Board -> ESP8266 Boards -> Select "Generic ESP8266 Module"
This is all the dependencies you need for this watch project.
Uploading the Code Into RoundyFi
- You can now download the project file from
https://github.com/sbcshop/RoundyFi/blob/main/RoundyFi/Wifi_Clock/wifi_clock.ino
- Open the file or paste the code to Arduino IDE
- You can press Verify to see if it can compile the code without errors.
You might want to edit the code before you upload it. Check Step 5 for wifi etc.
- Press the Upload button. If Arduino IDE asks for what COM port to use, you can check from Device Manager what ports are under "Ports (COM & LPT)". Which ever port is called USB to UART Bridge, pick that one.
Configuring the Code
Connecting to WiFi
On the line 29 and 30 you should have the following code:
const char *ssid = "Write_your_wifi_name"; const char *password = "Write_your_wifi_password";
edit your wifi details inside the quotes like this:
const char *ssid = "Example"; const char *password = "123456";
Setting the timezone
On the line 68 you should have the following code:
timeClient.setTimeOffset(19800);
This is the timezone offset in seconds. You can calculate your timezone by multiplying 3600 (one hour in seconds) by the GMT timezone you are living in.
Here is a handy table for calculating it:
- GMT +1 = 3600
- GMT +8 = 28800
- GMT -1 = -3600
- GMT 0 = 0
- In India, the offset is UTC+5.30. Therefore the offset in terms of seconds is (5*60 +30)*60 seconds = 19800 seconds
So if your timezone is GMT +3, you calculate 3600*3, which is 10800. Now edit that number in the code:
timeClient.setTimeOffset(10800);