14.7 C
London
Monday, September 16, 2024

Mark Wilson’s WeatherRenderRound Shaves the Edges Off for a Smoother Climate Dashboard



Physicist, software program engineer, and maker Mark Wilson has constructed a climate station that exhibits its readings on a simulated analog gauge, courtesy of a round LCD show.

“I received just a little expertise enjoying with barometric sensors engaged on my Chrondrian undertaking,” Wilson explains, referring to an earlier effort to construct a segment-LCD-style rectangular climate dashboard. “I had a small round LCD in a drawer and although I would mix them. [It] shows the climate on a round dial — the present stress, the stress three hours in the past, the temperature, and the humidity.”

The 240x×240 1.28″ IPS show, based mostly on a GC9A01 driver, communicates with an Arduino Leonardo-compatible microcontroller board based mostly on the Microchip ATmega32U4 — however in a significantly shrunken footprint in comparison with Arduino’s authentic design. Each are housed in a customized laser-cut chassis constructed up from 9 layers of acrylic, together with a Bosch Sensortec BME280 temperature, humidity, and barometric stress sensor.

Each the chassis and the simulated dial that shows the climate station’s readings had been created utilizing Inksnek, a Python Inkscape extension Wilson developed particularly for the duty. Each metric and imperial variations of the dial had been generated, and may be chosen at compile time to be run-length encoded and inserted into the completed firmware.

“The needle traces are drawn with a fixed-point anti-aliased algorithm,” Wilson provides. “There’s some help for line width — the stress pattern needle (stress three hours in the past) is thicker and with a ‘copper/brass’ look. All of the graphics are completed from scratch and usually are not pixel-perfect!”

The undertaking is documented on Hackaday.io, with supply code revealed to GitHub below the permissive MIT license.

Latest news
Related news

LEAVE A REPLY

Please enter your comment!
Please enter your name here