{"id":16516674,"url":"https://github.com/eadf/esp8266_digoleserial","last_synced_at":"2026-05-15T05:13:27.005Z","repository":{"id":26376304,"uuid":"29825589","full_name":"eadf/esp8266_digoleserial","owner":"eadf","description":"one pin LCD for esp8266 ","archived":false,"fork":false,"pushed_at":"2015-02-28T18:18:50.000Z","size":1116,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-13T05:28:25.060Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eadf.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}},"created_at":"2015-01-25T18:38:10.000Z","updated_at":"2015-02-28T18:18:50.000Z","dependencies_parsed_at":"2022-08-28T23:12:03.100Z","dependency_job_id":null,"html_url":"https://github.com/eadf/esp8266_digoleserial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eadf%2Fesp8266_digoleserial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eadf%2Fesp8266_digoleserial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eadf%2Fesp8266_digoleserial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eadf%2Fesp8266_digoleserial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eadf","download_url":"https://codeload.github.com/eadf/esp8266_digoleserial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241549116,"owners_count":19980476,"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-10-11T16:26:03.109Z","updated_at":"2026-05-15T05:13:26.972Z","avatar_url":"https://github.com/eadf.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# esp8266_digoleserial\n\nThis is a driver for the digole LCD adapter.\nThe adapter requires only one pin so it is possible to run this on an ESP-1.\nThis digole serial driver uses UART1, so it can only be attached to GPIO2.\n![](doc/digole.png)\n\nAs a demonstraton *user_main.c* runs a tachometer that displays the frequency and rpm of GPIO0 on a 4*20 LCD with big digits. I intend to use this very close to a [VFD](http://en.wikipedia.org/wiki/Variable-frequency_drive) and stepping motors so WiFi is totally out of the question.\n\n![](doc/20x4_lcd.png)\n\nTo use the driver in your own project you only need to copy (or git subtree clone) the *digoleserial* and [*easygpio*](https://github.com/eadf/esp8266_easygpio) modules to your own project. Then add the module names to your Makefile:\n```\n# which modules (subdirectories) of the project to include in compiling\nMODULES\t= driver/stdout driver/easygpio digoleserial bigint driver/tachometer user\n```\n\nYou will also have to include the *digoleserial.h* header file to your own code.\n\n###Circuit\nThe digole serial adapter requires 5V to run, but it seems to work with 3V3 on ths RX pin. So the esp can be directly attached to the adapter.\n###Default pin configuration\nFrequency generator | Digole serial adapter | esp8266\n--------------------|-----------------------|----------\n3V3 Volt            |      N/A               | GPIO3 (RX)\nN/A                  | RX/SDA/SDI            | GPIO2\n\nIt is easy to change the GPIO3 pin to something else with the *tachometer_init* function; \n```\nint tachometer_pin=3;\ntachometer_init(tachometer_pin);\n```\n\n###Issues\nThe baud setting refuses to work, my display adapters are stuck at 9600.\n\n###Legalese\nI'm not affiliated with digole in any way, so any faults found in this code are not of their doing. \nThis code is provided as is, and it is not fit for any purpose.  \n\n###License\n\nThe custom characters (and some of the code) defined in bigint.c are copied from some arduino library. Origin unknown.\n\nThe rest is GPL v3+\n\nThe makefile is copied from [esp_mqtt.](https://github.com/tuanpmt/esp_mqtt)\n\n###Building and installing:\n\nFirst you need to install the sdk and the easy way of doing that is to use [esp_open_sdk.](https://github.com/pfalcon/esp-open-sdk)\n\nYou can put that anywhere you like (/opt/local/esp-open-sdk, /esptools etc etc)\n\nThen you could create a small ```setenv.sh``` file, containing the location of your newly compiled sdk and other platform specific info;\n```\nexport SDK_BASE=/opt/local/esp-open-sdk/sdk\nexport PATH=${SDK_BASE}/../xtensa-lx106-elf/bin:${PATH}\nexport ESPPORT=/dev/ttyO0  \n```\n(or setup your IDE to do the same)\n\nTo make a clean build, flash and connect to the esp console you just do this in a shell:\n```\nsource setenv.sh # This is only needed once per session\nmake clean \u0026\u0026 make test\n```\n\nYou won't be needing esptool, the makefile only uses esptool.py (provided by [esp_open_sdk](https://github.com/pfalcon/esp-open-sdk))\n\nI have tested this with sdk v0.9.5 and v0.9.4 (linux \u0026 mac)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feadf%2Fesp8266_digoleserial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feadf%2Fesp8266_digoleserial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feadf%2Fesp8266_digoleserial/lists"}