Until recently, I had no idea what a Hayes Chronograph was. I didn’t even know it existed until Bill Lange (@BillLange1968) posted a picture of one on Twitter that linked to a wonderful article he wrote about them. The name Hayes was instantly recognizable though, being the inventors of the Hayes “AT” Command set that has found a way into just about every modem since. The shape was also familiar, a bigger version of the same case used in their Smartmodem 300. This was different. It had a beautiful vacuum fluorescent display (VFD) that was showing the current time and day of the week. I was hooked. I needed to buy this. What a wonderful trophy from the soon to come BBS halcyon days.
The purpose was simple– it’s a real time clock and calendar for your computer. At the time, many computers weren’t equipped with a clock or calendar. The Chronograph connected to your computer via RS-232 and communicated with “AT” commands (albeit slightly different than the modem command set). Manually set the time once from your computer and the Chronograph dutifully kept the time and displayed it on the front for you. Should your computer need to know the time, simply ask with “ATRT” and you’d get “193601” for 7:36:01 PM. Batteries inside kept the time in case of a power failure. It also has an alarm feature that will signal the computer on the “RI” (ring indicator) line. They were also designed to stack with other Hayes components, topped off with your classic Bell telephone.
As you might imagine, Hayes didn’t sell many of these at $250 each and ultimately production was short compared with their Smartmodem line.
I got in touch with the original seller, a previous employee of Hayes, and secured my purchase. He also had the schematics to the unit and has since uploaded it. Created in 1981, the units are now 36 years old. They still work beautifully but it’s time to breathe some new life into them.
I set about coming up with plans to make the Chronograph set the time on its own. I started this project by employing a ESP8266 WiFi microcontroller. This would give me access to NTP to set the clock and HTTP to allow for configuration. I’d need to write custom firmware to manage WiFi and NTP settings along with time zones and daylight savings time functions. I could re-purpose one of my WiFi232 units for the job by plugging it into the RS-232 port but it would need a gender changer, null modem and a power source– hardly elegant. Ideally, I’d like everything to fit inside.
The firmware is based loosely on the WiFi232 and handles communication over WiFi, contacting an NTP server for the time, calculates time zone offsets and daylight savings time, a HTTP server for user settings, saving and retrieving settings from flash, and creates a WiFi access point when it’s unsuccessful at connecting as a client. I’ve added user features such as specifying the start and end dates for daylight savings time in your area, the time zone, NTP server, even the MDNS name. In addition, you can select if you’d like to display only the date, the time, or both the date and time on the front VFD screen.
I prototyped a simple version with an ESP-01 on a breadboard and used spring loaded pin grabbers to attach to the PIC1650A chip for power and data. And much to my surprise, it worked! It even worked with the board was slid back into the aluminum enclosure (I assumed the the metal case would diminish the WiFi signal and not work). I jumped into KiCAD and drew up a quick adapter board. It fits in the 40 pin DIP socket below, provides a 40 pin DIP socket above and adds a ESP-01 header along with the necessary 3.3v bits.
With both the firmware and an adapter board two weeks later from OSH Park, it was time to insert it into the Chronograph and see if it works. My initial test provided to be bad– it blew a fuse on the Chronograph. This had me totally bummed. For the next hour, I poured over datasheets, checked my schematics, and probed with a multi-meter. Nothing.
Suddenly, I realized I had the ESP-01 plugged in backwards! I flipped it around, changed the fuse and it worked! Power on the Chronograph and after a few seconds the date is displayed on the front. Afterwards, the time is set (at the top of the next minute– seconds must be set to “00”).
The load on the AC original power supply adds 20mA draw on the 120V side (.13A to .15A).
I’m happy with the way this project turned out. I received the clocks on July 13 and finished the project on July 31 with working firmware and a non-destructive adapter PCB that installs inside that adds modern amenities to 36+ year old computer clock. Not bad for two weeks of work!
If you have a Hayes Chronograph and are interested in one, get in touch with me.