<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Landy Gauge</title><link>http://www.toxiccelery.com/</link><description>Recent content on Landy Gauge</description><generator>Hugo</generator><language>en-gb</language><lastBuildDate>Thu, 23 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://www.toxiccelery.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Contact</title><link>http://www.toxiccelery.com/contact/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><guid>http://www.toxiccelery.com/contact/</guid><description>&lt;p&gt;If you have questions about the Landy Gauge project, found a bug, or want to contribute, feel free to get in touch.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Email:&lt;/strong&gt; &lt;a href="mailto:paulrbarnard@mac.com"&gt;paulrbarnard@mac.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can also open an issue or pull request directly on the &lt;a href="https://github.com/paulrbarnard/LandyGaugeFirmware"&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Why I did it</title><link>http://www.toxiccelery.com/blog/why-i-did-it/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><guid>http://www.toxiccelery.com/blog/why-i-did-it/</guid><description>The reasoning behind the project and the motivations for open sourcing the project</description></item><item><title>About</title><link>http://www.toxiccelery.com/about/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>http://www.toxiccelery.com/about/</guid><description>&lt;h2 id="what-is-the-landy-gauge"&gt;What is the Landy Gauge?&lt;/h2&gt;
&lt;p&gt;The Landy Gauge is a 52mm standard vehicle instrument gauge. It is an open-source project built around the Waveshare ESP32-S3 1.85&amp;quot; round LCD module. Originally designed for my Land Rover Defender, it&amp;rsquo;s adaptable to any vehicle.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Clock" loading="lazy" src="http://www.toxiccelery.com/images/Gauges.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;It packs a surprising number of features into a compact round display:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Compass&lt;/strong&gt; — digital compass with vehicle heading and bearing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inclinometer&lt;/strong&gt; — pitch with customisable Landrover image&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tyre Pressures&lt;/strong&gt; — BLE TPMS sensor monitoring for up to 4 tyres&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exhaust Gas Temperature&lt;/strong&gt; — thermocouple-based EGT monitoring&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Boost Pressure&lt;/strong&gt; — MAP sensor-based turbo boost gauge&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clock&lt;/strong&gt; — RTC-backed clock with NTP sync via WiFi&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cooling&lt;/strong&gt; — coolant temperature and fan status monitoring&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tilt Meter&lt;/strong&gt; — vehicle tilt angle display with customisable image&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The project supports both the touch and non-touch versions of the Waveshare 1.85 inch display. The expansion board is I2C connected to provide additional sensor and vehicle signal inputs. Without the expansion board the display provides clock, TPMS, tilt and incline. Add the expansion board for coolant temperature, EGT, Boost and some custom wadding and fan control specific to my Landrover. The expansion board has eight 12V safe inputs and eight outputs capable of switching automotive relays. Lots of expansion to develop your own custom functions.
The gauge has an SDCard that hosts custom voice messages and the Waveshare display also supports voice input if your want to go that route.&lt;/p&gt;</description></item><item><title>Build Guide</title><link>http://www.toxiccelery.com/build-guide/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>http://www.toxiccelery.com/build-guide/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;This guide walks through building a Landy Gauge from scratch. You&amp;rsquo;ll need basic soldering skills and access to a 3D printer (or a printing service).&lt;/p&gt;
&lt;h2 id="what-youll-need"&gt;What You&amp;rsquo;ll Need&lt;/h2&gt;
&lt;h3 id="main-gauge"&gt;Main Gauge&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Waveshare ESP32-S3 1.85&amp;quot; Round Touch or non touch LCD module&lt;/li&gt;
&lt;li&gt;Custom gauge PCB (KiCad files provided)&lt;/li&gt;
&lt;li&gt;Components as per the BOM&lt;/li&gt;
&lt;li&gt;3D printed case&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="expansion-board-optional"&gt;Expansion Board (Optional)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Custom expansion board PCB&lt;/li&gt;
&lt;li&gt;MCP23017 I/O expander&lt;/li&gt;
&lt;li&gt;Components as per the BOM&lt;/li&gt;
&lt;li&gt;6-wire cable (recommended: 500mm max). This is actually a Bambu labs AMS interconnect cable.&lt;/li&gt;
&lt;li&gt;3D printed case&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="sensors"&gt;Sensors&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EGT&lt;/strong&gt;: K-type thermocouple. These are pretty standard. I used a generic K-type thermocouple from Amazon.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Boost&lt;/strong&gt;: MAP sensor (0.5V–4.5V output). There are many options but I went with a FEDLDM187 which is used by Renault&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TPMS&lt;/strong&gt;: BLE tyre pressure sensors (4x). Any generic BLE sensor will work but you might need to change the format string used for reading. The specific ones I went for are AIYATO BLE TPMS from Amazon&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="assembly-steps"&gt;Assembly Steps&lt;/h2&gt;
&lt;h3 id="1-pcb-assembly"&gt;1. PCB Assembly&lt;/h3&gt;
&lt;p&gt;I had all my PCB manufactured by PCBWay in China. It was fast and cheap with great results. I had them populate the boards for the supply and expansion board as they use SMD parts. The expansion board i did just as a desktop test board so had screw terminals for connections. My intension was to produce a smaller specific board for the final gauge but it didn&amp;rsquo;t turn out to be a high priority. I asked PCBWay not to populate the screw terminals so that I could solder wires directly to the connections to use in the Landrover. You could keep the screw terminals in the car but should seal the screw with some wax to stop them vibrating loose. A Landroiver vibrates a lot so I went for the solderd connections. The Fan Relay PCB layout can be improved a lot and I forgot to put pads on the vias I used for wire links to be able to use a single sided board. It also uses a thicker Cu layer to handle the current. If you go the fan control route don&amp;rsquo;t go with the layout as is&amp;hellip;&lt;/p&gt;</description></item><item><title>Firmware</title><link>http://www.toxiccelery.com/firmware/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>http://www.toxiccelery.com/firmware/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;The firmware is written in C using the &lt;strong&gt;ESP-IDF v5.5.1&lt;/strong&gt; framework with &lt;strong&gt;LVGL v8.2&lt;/strong&gt; for the graphics. It runs on the ESP32-S3 with PSRAM.&lt;/p&gt;
&lt;h2 id="source-code"&gt;Source Code&lt;/h2&gt;
&lt;p&gt;The full firmware source is available on GitHub:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/paulrbarnard/LandyGaugeFirmware"&gt;LandyGauge Firmware on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;h3 id="display-gauges"&gt;Display Gauges&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Clock&lt;/strong&gt; — RTC-backed with NTP time sync and timezone support (34 zones)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Boost Gauge&lt;/strong&gt; — turbo boost pressure from MAP sensor (ADS1115 ADC)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EGT&lt;/strong&gt; — exhaust gas temperature via K-type thermocouple (MCP9600)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cooling Status&lt;/strong&gt; — coolant level and fan speed indicators. Coolant temperature from Defender temperature sender.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TPMS&lt;/strong&gt; - Tire preasure monitor supporting 4 BTLE sensors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tilt Meter&lt;/strong&gt; — lateral tilt angle&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inclinometer&lt;/strong&gt; — pitch angle from IMU&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compass&lt;/strong&gt; — digital heading with lubber line, bearing display, magnetometer calibration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Artificial Horizon&lt;/strong&gt; — visual pitch/roll indicator (currently commented out of the gauge sequense)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="system-features"&gt;System Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Night Mode&lt;/strong&gt; — automatic day/night switching via expansion board (headlights) or solar twilight calculation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom Images&lt;/strong&gt; — load personalised vehicle images from SD card&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WiFi&lt;/strong&gt; — WPA2 connection for NTP time sync. Tried once a day to sync on home wifi and can be commanded to sync via smart phone hotspot. Selectable timezone for global use with automatic daylight saving.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audio&lt;/strong&gt; — warning beeps via I2S amplifier. Voice warnings for critical events.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Touch&lt;/strong&gt; — capacitive touch for menu navigation with Touch version of Waveshare display&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Settings&lt;/strong&gt; — persistent calibration and configuration via NVS&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="building-the-firmware"&gt;Building the Firmware&lt;/h2&gt;
&lt;h3 id="prerequisites"&gt;Prerequisites&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.espressif.com/projects/esp-idf/en/v5.5.1/esp32s3/get-started/"&gt;ESP-IDF v5.5.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;USB-C cable to the ESP32-S3 module&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build--flash"&gt;Build &amp;amp; Flash&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Source the ESP-IDF environment&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;source ~/esp/v5.5.1/esp-idf/export.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Build&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;idf.py build
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Flash (adjust port as needed)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;idf.py -p /dev/tty.usbmodem21301 flash
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Monitor serial output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;idf.py -p /dev/tty.usbmodem21301 monitor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="configuration"&gt;Configuration&lt;/h2&gt;
&lt;p&gt;The gauge is configured through screen menus. Key settings include:&lt;/p&gt;</description></item><item><title>Hardware</title><link>http://www.toxiccelery.com/hardware/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>http://www.toxiccelery.com/hardware/</guid><description>&lt;h2 id="main-gauge-board"&gt;Main Gauge Board&lt;/h2&gt;
&lt;p&gt;The gauge is built around the &lt;strong&gt;Waveshare ESP32-S3 1.85&amp;quot; Round LCD&lt;/strong&gt; module, with a custom PCB providing sensor connections and power management.&lt;/p&gt;
&lt;h3 id="key-components"&gt;Key Components&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ESP32-S3 (N16R8)&lt;/td&gt;
&lt;td&gt;Main processor with WiFi and BLE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PCF85063&lt;/td&gt;
&lt;td&gt;Real-time clock (battery backed)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QMI8658&lt;/td&gt;
&lt;td&gt;6-axis IMU (accelerometer + gyroscope)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MAX98357A&lt;/td&gt;
&lt;td&gt;I2S audio amplifier (warning beeps)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="downloads--gauge-supply-pcb"&gt;Downloads — Gauge Supply PCB&lt;/h3&gt;
&lt;p&gt;The power supply and interconnect PCB fits inside the 52mm gauge housing alongside the Waveshare module. KiCad project files and manufacturing outputs:&lt;/p&gt;</description></item><item><title>Project Launch</title><link>http://www.toxiccelery.com/blog/project-launch/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>http://www.toxiccelery.com/blog/project-launch/</guid><description>The Landy Gauge project is now open source — firmware, schematics, and 3D models all available.</description></item><item><title>User Manual</title><link>http://www.toxiccelery.com/user-manual/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>http://www.toxiccelery.com/user-manual/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;The Landy Gauge is a compact round instrument display designed for Land Rover vehicles. It features a 360×360 pixel circular screen with touch input, physical navigation buttons, and an expansion board for vehicle signal inputs and outputs.&lt;/p&gt;
&lt;p&gt;The gauge provides eight display screens that cycle in order:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Clock&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Boost&lt;/strong&gt; (turbo boost pressure)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EGT&lt;/strong&gt; (exhaust gas temperature)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cooling&lt;/strong&gt; (fan status, coolant level, coolant temperature)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tire Pressure&lt;/strong&gt; (BLE TPMS)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tilt&lt;/strong&gt; (vehicle roll angle / inclinometer)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Incline&lt;/strong&gt; (vehicle pitch angle)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compass&lt;/strong&gt; (magnetic heading)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Gauges that require the expansion board (Boost, EGT, Compass, Cooling) are automatically skipped if the expansion board is not detected.&lt;/p&gt;</description></item></channel></rss>