Close

Web server

A project log for Single Digit Nixie Clock

A small project combining ESP8266 with a vintage Soviet Nixie tube from the 70s to create an artistic clock

daniel-knezevicDaniel Knezevic 01/15/2025 at 16:310 Comments

Backend

Backend is implemented using ESPAsyncWebServer.

Frontend design

Initially, the front end was implemented with jQuery mobile. Reason for choosing this framework was in its simplicity. It provides a simple way to create and control user interface components. One thing that always annoyed me was its low response time. It took too much time to load jQuery, jQueryMobile and theme resources. On top of this, this slow response time caused WDT resets.

One more thing, I just realised that  jQuery mobile project is deprecated since October 7, 2021. Huh, when it comes to web related technologies, it looks like I'm living under a rock...

To solve these issues, I opted to completely re implement the frontend using plain HTML, CSS and JavaScript. The end result looks almost the same as the previous design or even better. Responsiveness and stability increased significantly. The only drawback is now in maintenance and extension. It is required to implement everything manually.

Size comparison

jQueryMobile implementationCustom implementation
Improvement
404kB
32kB1262,5%

Performance comparison

Average loading time of 10 tries:

jQueryMobile implementationCustom implementationImprovement
8695mS879mS988%

Note: The jQueryMobile implementation caused restart of the ESP 3 times.

Design comparison

jQuery mobile design:

Custom design:

Discussions