Can you provide details on the RX and TX voltage level requirements for the EleksTube serial port located on the controller? Will a 3.3 V serial logic level be acceptable or is a 5 V logic level required?
While we wait for a hardware fix. I have developed an Arduino sketch that utilizes the inexpensive ESP-12F 8266 self contained MCU.
The Arduino sketch has the following features:
1.) Utilizes WiFiManager to setup an Access Point the first time the program is run.
2.) Displays the Access Point IP address on the clock display and waits for the user to connect to the AP and add an SSID to the configuration.
3.) Automatically determines your time zone based on your internet IP address.
4.) Uses the time zone information to determine your offset from UTC.
5.) Uses the time zone information to determine DST details - DST start, DST end and current DST status - either on or off. Uitilizes this information to automatically switch DST offset from UTC when DST changes occur.
6.) Utilizes OTA (Over The Air) update capabilities of the ESP 8266 module to allow sketch updates after the module is installed in the belly of the clock.
Only four wires are required from the EleksTube serial interface to the ESP-12F module. Power (+ and -) connected to the micro-usb input of the ESP-12F and serial transmit and receive.
The first time the sketch boots the WiFiManager requires a SSID to connect to a valid WiFi network. The EleksTube will display the IP address of the temporary access point that is setup to allow you to connect to the ESP-12F to set your WiFi SSID and password required to connect to your network.
The default IP address is 192.168.4.1. Utilizing your smartphone or Wifi capable computer, connect to the open "EleksTube" AP.
Then navigate with your browser to the AP ip address
Configure the Wifi appropriately and save your setting. The temporary access point will be turned off and not be re-enabled until the SSID you configured is not found.
The sketch will now connect to your Wifi with the credentials provided and determine your IP address. The IP address is used to determine your location and subsequent UTC offset and DST requirements. The NTP server will be contacted every 10 minutes to maintain an accurate time reference. The EleksTube will be updated every 1 second. The RTC in the EleksTube is update on power up and on DST changes.
Before using the sketch you must obtain a free API key from timezonedb.com and also generate a MD5 hash of a password to be used for OTA updates to the ESP-12F.
The sketch for the this project is located at GitHub - EleksTube - Wifi NTP clock update
Still experiencing issues with the API
This is what I sent to the clock via the serial interface:
The clock is set to 12:12:12 with the colors expected. However the # command does not seem to work. I have attached a YouTube video that shows the behavior experienced.
Can you clarify the difference between the # header and the * header? If I send the * header with the digit number and sixteen binary RGB color, the display will change the time correctly. If I send the # header with the digit number and sixteen binary RGB color, the display flashes through all of the numbers 0-9 on all of the digits, but does not change the time.
I am attempting to develop a precise update to the clock, by sending the digits to the clock every second. I expected that the # header was the correct approach based on the description, but it appears it is not operating as I expected. Can you provide some clarification to the API?
Also I noticed that some delay is required to sending commands over the serial port to the ElecksTube otherwise commands are missed completely.
Looks like your connection to Offical Forum was lost, please wait while we try to reconnect.