Skip to content

Using a Vacuum Fluorescent Display (VFD) with an ESP8266 as information display

Notifications You must be signed in to change notification settings

ErVijayRaghuwanshi/esp8266_vfd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

esp8266_vfd

Using a Vacuum Fluorescent Display (VFD) with an ESP8266 as information display

See a video on youtube

And for the technical documentation of this VFD click here

Find out more about this project on https://jurjan.info

Picture A Picture B
vfd vfd

Details

The scheme displayed below shows the components involved. First there is an ESP8266 that is being used as the controller of the VFD. Because the serial port of the VFD is inverted an invertor is needed to invert the bits transmitted on the serial port. I used a sn74hc04n for this, but this is probably a bit of overkill.

For the software part I decided to keep the software on the ESP as simple as possible. So the ESP only has logic to control the display, display the time and do some fancy animation tricks.

The Web-API contains all the logic to gather and prepare the information that needs to be displayed on the VFD. Currently the WEB-API gathers the following kinds of information:

  • weather forecast
  • traffic information
  • calendar (central family)
  • fitbit (weight goals of me and my partner)

Other possible future things to add are:

  • Tesla car status (charge level, location)

vfd

When the ESP makes a call to the WEB API (source code is included in this repository) the following JSON is returned:

[{"date":"2020-02-09T15:23:25.5169582+00:00","line1":"Weersverwachting","line2":"Wisselvallig met soms regen of enkele buien. De eerste dagen nog tamelijk veel wind. De temperaturen liggen overdag aanvankelijk rond het langjarig gemiddelde, vanaf het einde van de week lopen de temperaturen op.","displayMode":4,"delay":5000}]

The returned JSON contains the following elements:

  • date: datetime of the information
  • line1: first line to display on the VFD
  • line2: second line to display on the VFD
  • displaymode: the way the information needs to be displayed on the VFD (see enum in the sourcecode). For example:
    • horizontal scroll
    • vertical scroll
    • knightrider mode.

The WebAPI uses OAuth 2.0 for both the Graph API and Fitbit API. I only implemented the refresh-token logic, so there is no Authorization logic (using the Microsoft.Owin library). Instead I used Postman to get my user authorization code, access code and refresh token. You can read more about this here. As instructed in the code you only need to enter these tokens once... The WebAPI will store and update the tokens into AzureKeyVault on its own.

If this project help you reduce time to develop, you can give me a cup of coffee :)

Donation Button

Donate

About

Using a Vacuum Fluorescent Display (VFD) with an ESP8266 as information display

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 62.7%
  • C++ 37.3%