{"id":18163725,"url":"https://github.com/chuckb/esp8266","last_synced_at":"2026-05-04T05:37:23.488Z","repository":{"id":143216634,"uuid":"254440868","full_name":"chuckb/esp8266","owner":"chuckb","description":"Communicate with ESP8266 AT firmware using Java","archived":false,"fork":false,"pushed_at":"2020-04-15T21:38:21.000Z","size":228,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T05:43:01.547Z","etag":null,"topics":["esp8266","java","serial"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chuckb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-04-09T17:49:09.000Z","updated_at":"2022-08-07T12:21:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"728fa99c-ba25-4d9b-a794-0ed3b60089ca","html_url":"https://github.com/chuckb/esp8266","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chuckb/esp8266","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuckb%2Fesp8266","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuckb%2Fesp8266/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuckb%2Fesp8266/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuckb%2Fesp8266/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chuckb","download_url":"https://codeload.github.com/chuckb/esp8266/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuckb%2Fesp8266/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32596533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["esp8266","java","serial"],"created_at":"2024-11-02T11:06:01.916Z","updated_at":"2026-05-04T05:37:23.481Z","avatar_url":"https://github.com/chuckb.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP8266 Java Library\n\n## Overview\nThis is a Java class library that wraps communication functionalty of the ESP8266 AT command firmware. The ESP8266 class implements the capability by abstracting communication away from the serial port. The constructor takes a Java InputStream and OutputStream. The ./samples directory contains examples that demonstrate calling the library from a Windows/Mac/Linux operating system with the very good [jSerialComm](http://fazecast.github.io/jSerialComm/) serial port library. The ./boards directory demonstrate using this library on embedded boards, like the Raspberry Pi, with no operating system.\n\nThis library has been coded and tested against the [AI Thinker revision 018 of the AT command firmware](https://htmlpreview.github.io/?https://github.com/chuckb/esp8266/blob/master/docs/Espressif%20AT%20instruction%20set%20AI%20Thinker%20version.html). This document was originally written in Chinese and is translated here in English for convenience. I wrote this library against said version because this was the revision installed on my ESP-01 boards (purchased several years ago). I did not want to have to flash upgrades, etc.\n\n## Requirements\n- Java JDK (my version was `openjdk 11.0.1-redhat 2018-10-16 LTS`, but earlier versions would probably work)\n- A USB TTL serial cable like [this one from Adafruit](https://www.adafruit.com/product/954)\n- An ESP-01 like [this one](https://solarbotics.com/product/29246/)\n- A 3.3v power supply or alternative to get 5v down to somewhere between 3.3 and 4v @ 250ma\n  - In my example, I use the voltage drop of a standard germanium diode (0.7v) to get voltage in range, and connected it to the supply from the USB cable (which is capable of 500 ma). Note: the specs say ESP-01 voltage requirement is 3.3v - I take no responsibility if this unregulated overvolt technique burns out your board. It works for mine.\n\n## OS Usage Demo Example\nTo run the operating system specific example (tested on Windows 10 but should work on OSX and Linux):\n1. Clone the repo\n2. Connect TTL cable to ESP-01 like this:\n```\n                               +------------+  +------------------------------+\n                               |            |  |                              |\n   +-----------+   +----\u003e|-----+----)|----+ |  | +-------------+              |\n   |   CP2012  |   |  1N4148      100 mfd | |  | |    ESP-01   |              |\n   |           |   |                      | |  +-+ TX      GND +---|'         |\n   |   +5v Red +----                      | |    |             |              |\n   |           |                          | +----+ CH_PD GPIO2 +              |\n   | Gnd Black +------------------+-------+ |    |             |              |   ESP-01 top view\n   |           |                  |         |    + RST   GPIO0 +              |   Antenna on this side\n   |  Tx Green +------------+     __        |    |             |              |\n   |           |            |      '        +----+ VCC      RX +----+         |\n   |  Rx White +----+       |                    |             |    |         |\n   |           |    |       |                    +-------------+    |         |\n   +-----------+    |       |                                       |         |\n                    |       +---------------------------------------+         |\n                    |                                                         |\n                    +---------------------------------------------------------+\n                  \n```\n3. Change constants within `./samples/os/src/main/java/Main.java` according to comments to match your wifi environment.\n4. Change directory to `./samples/os`\n5. `gradlew run`\n\n## Limitations\n- Mux mode is not yet supported.\n- TCP server mode is not supported.\n\n## References\n- [Syonyk/LiteESP8266Client](https://github.com/Syonyk/LiteESP8266Client)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchuckb%2Fesp8266","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchuckb%2Fesp8266","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchuckb%2Fesp8266/lists"}