Getting Started With RoundyFi

by e0f in Circuits > Arduino

1131 Views, 4 Favorites, 0 Comments

Getting Started With RoundyFi

img5.png

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

30-004-XB-1.jpg
img1.png
  • 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

FBVQ5E0L3LLLLVQ.png

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

FUHJHMEL3LLLME1.png

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

Näyttökuva 2022-05-26 025512.png
Näyttökuva 2022-05-26 025629.png
Näyttökuva 2022-05-26 030344.png
Näyttökuva 2022-05-26 030928.png

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);


Don't forget to upload the code into RoundyFi if you make any changes to code.