{"id":20785408,"url":"https://github.com/openscopeproject/hp34401a-oled-fw","last_synced_at":"2025-05-05T14:43:05.524Z","repository":{"id":108345883,"uuid":"144700976","full_name":"openscopeproject/HP34401a-OLED-FW","owner":"openscopeproject","description":"HP34401a DMM OLED display mod firmware","archived":false,"fork":false,"pushed_at":"2021-12-20T02:51:09.000Z","size":57,"stargazers_count":52,"open_issues_count":2,"forks_count":8,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-30T21:51:14.331Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openscopeproject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-14T09:48:47.000Z","updated_at":"2025-02-21T00:13:20.000Z","dependencies_parsed_at":"2023-03-13T14:27:54.106Z","dependency_job_id":null,"html_url":"https://github.com/openscopeproject/HP34401a-OLED-FW","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openscopeproject%2FHP34401a-OLED-FW","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openscopeproject%2FHP34401a-OLED-FW/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openscopeproject%2FHP34401a-OLED-FW/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openscopeproject%2FHP34401a-OLED-FW/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openscopeproject","download_url":"https://codeload.github.com/openscopeproject/HP34401a-OLED-FW/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252516281,"owners_count":21760750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T14:45:28.915Z","updated_at":"2025-05-05T14:43:05.512Z","avatar_url":"https://github.com/openscopeproject.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HP 34401a 6½ digit multimeter OLED display mod\n\n## Status [![Build Status](https://travis-ci.com/openscopeproject/HP34401a-OLED-FW.svg?branch=master)](https://travis-ci.com/openscopeproject/HP34401a-OLED-FW)\n\n## About this project\n\nMany of the old meters in 34401a series are still in great working condition,\nhowever their aging VFD displays are failing in various ways. Low contrast,\nleaking current in segment drivers, shattered glass are frequent cause of\nthese excellent devices being written off. While replacement VFDs are\nstill sold on some markets, they are not cheap and getting them intact in mail\nis a lottery. Also replacing the VFD itself does not always resolve the issue\nsince in some cases it's the driver IC that is at fault. On older issue 34401a\nmeters (fw version 06-04-01 and prior) have a custom HP designed micro controller\nwith integrated high voltage VFD driver which is not obtainable, unless bought\nas a whole front panel assembly, which again is not cheap.\n\nAfter acquiring one of such devices off ebay and encountering the leaking driver\nissue which lead to artifacts on the screen, a decision was made to rectify\nthis situation. This project is result of many evenings of carefully reverse\nengineering the protocol between the CPU of the meter and it's front panel\ncontroller IC and designing a sniffing device that would extract the data sent\nto the front panel and display it on a more modern display instead.\n\nAfter the protocol was reverse engineered a simple sniffing device based on\neveryone's favorite stm32 f1 series micro was designed. First prototype used\na bluepill board and an Arduino compatible 3.5\" TFT screen.\n\n\u003cimg src=\"https://i.imgur.com/AId0xw1.jpg\" alt=\"prototype\" width=\"300px\"\nhref=\"https://i.imgur.com/AId0xw1.jpg\"/\u003e\n\nAfter the prototype showed promise it was quickly upgraded to a screen that\nwould work well inside the meter and a custom board was designed. In the\nprocess a useful fast bargraph feature was added.\n\n\u003cimg src=\"https://i.imgur.com/bZpQViy.jpg\" alt=\"final design\" width=\"300px\"\nhref=\"https://i.imgur.com/bZpQViy.jpg\"/\u003e\n\nAnd this is what final product looks like:\n\n\u003cimg src=\"https://i.imgur.com/FP5pQ6R.jpg\" alt=\"final product\" width=\"300px\"\nhref=\"https://i.imgur.com/FP5pQ6R.jpg\"/\u003e\n\n\n### Links\n\nFor protocol details see `protocol.md`\n\nFor compilation and flashing instructions see `howto.md`\n\n[KiCad files](https://github.com/openscopeproject/HP34401a-OLED-HW)\n\n[Bill of materials](https://openscopeproject.org/InteractiveHtmlBomDemo/hp34401a_oled/ibom.html) (see my [plugin for KiCad](https://github.com/openscopeproject/InteractiveHtmlBom) if you want to generate a BOM like this for your project)\n\n[More pictures and history of progress of this project on EEVBlog](https://www.eevblog.com/forum/repair/hp-34401a-dmm-with-leaking-segments/).\n\nSimilar (unfinished) project was done by user\n[douarda on EEVBlog](https://www.eevblog.com/forum/repair/reverse-ingeeniring-hp-34xxx-display-panel-serial-protocol/) for\n[HP34970A data acquisition unit](https://whatever.sdfa3.org/hp-34970a-data-acquisition-unit-communication-protocol.html)\n\n# License and credits\n\nFirmware source is distributed under MIT license. See LICENSE for more info.\n\nFirmware is built with [platformio](https://platformio.org/) using\n[stm32duino framework](https://github.com/rogerclarkmelbourne/Arduino_STM32)\nand flashed via [maple bootloader modified for stm32duino](https://github.com/rogerclarkmelbourne/STM32duino-bootloader).\n\nDisplay library (lib/SSD1322_Display) is based on\n[MCUFRIEND_kbv library](https://github.com/prenticedavid/MCUFRIEND_kbv)\nwhich builds on\n[Adafruit_GFX library](https://github.com/adafruit/Adafruit-GFX-Library).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenscopeproject%2Fhp34401a-oled-fw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenscopeproject%2Fhp34401a-oled-fw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenscopeproject%2Fhp34401a-oled-fw/lists"}