Sunday, June 24, 2018

WiFiChron adapter for DL-1414 displays

WiFiChron has now support for the obsolete (?) DL-1414 displays. I know, the question everybody is probably asking is "why bother?" The immediate answer is because these displays are cheap and easy to find (on ebay or Chinese electronics suppliers), compared to the HDSP-2534. I actually got a few as a gift from Mr. Kin, thank you very much!

DL-1414 is a 4-character 16-segment parallel intelligent display, the grandfather of HDSP-2534: put an ASCII code on the data lines, then flick the WR line, and there you have it, a character displayed at the position specified by A0 and A1 bits. It really does not get any simpler than this. The character set definition, also similar HDSP-2534 (only defines upper case letters though) is stored internally, so there is no need to manipulate any of the 16 segments individually. Although the magnifiers ("bubbles") make them look somehow like QDSP-6064, the DL-1414 display is much smarter, and therefore much easier to interface and program.

Below are some photos of the prototype adapter for the HDSP clock horizontal mod (more of them shown here).

The adapter PCB I designed is available from oshpark (not tested though).

Note that the DL-1414 display is higher, so it won't fit in the Serpac A20 enclosure, but it will fit in the Serpac A21.

Adapting the HDSP/WiFiChron code was super easy. The only functions requiring change are writeChar(...) and writeDisplay(). The next images show these 2 functions side by side, for DL-1414 (left) and HDSP-2534 (right):

Note that the 2 chips share the D0-D6 and A0-A1 lines, but WR lines are separate, which allows individual control of each chip.

In the end, the DL-1414 offers the same functionality as HDSP-2534, at a lower cost, but also with less visibility (characters are about half the size) and less coolness (harsher "font", no lower case).

The DL-1414 experiment opened the door for future WiFiChron displays. Essentially, any 8-character display can be adapted by modifying the two above mentioned functions. This will be next. Stay tuned.

Tuesday, April 17, 2018

Upgrade your HDSP clock to an NTP-synchronized WiFiChron

So you have the simple HDSP clock but you wish you had the NTP-based time synchronization and the weather feature of the WiFiChron (not to mention the alarm). The "solution" is to buy the WiFiChron kit :)

The alternative "solution" is to hack your HDSP clock, by adding a proto-shield with an ESP8266 module, a 3V3 regulator (e.g. MCP1700) and a buzzer, the components that make the difference between the two clocks.

Before building the ESP8266 proto-shield, perform the following 4 modifications (highlighted in the next photo) on the HDSP board:
  1. isolate the FTDI's CTS pin (second from the top) by cutting its traces to the ground;
  2. wire the newly isolated FTDI pin 2 to pin 16 of the processor (D10, used for the buzzer);
  3. cut the trace connecting pin 1 of the LED display (RST) to pin 3 of the processor;
  4. solder the right angle FTDI male header on the back of the board, towards the USB plug.

The small proto-shield, that looks like in the photos below, will plug in the FTDI header. Naturally, the same FTDI header is used for either the FDTI breakout (to upload sketches) or the ESP8266 proto-shield.

Besides the hardware, one little software change (of the original WiFiChron sketch, available here) is required as well, due to the second button connected to A3 (instead of A1 as in WiFiChron):

    #define PIN_BTN_UP 17  // A3 in hacked HDSP
// #define PIN_BTN_UP 15  // A1 in WiFiChron

Since the 3rd button ("Down") is missing on the HDSP board, only the "Up" button function will be available (the left button).

Follow this post to set up the network connection.
And remember, the ESP8266 baud rate MUST be lower than 115200 (set it to 38400), since the ATmega328 with internal clock cannot handle this speed reliably (according to the datasheet, the drift is about 8%).