{"id":18991385,"url":"https://github.com/aziascreations/circuitpython-ebyte-e32","last_synced_at":"2026-04-29T14:03:44.784Z","repository":{"id":173634814,"uuid":"650365764","full_name":"aziascreations/CircuitPython-Ebyte-E32","owner":"aziascreations","description":"CircuitPython driver for Ebyte's E32 UART LoRa modules that use the SX1278/SX1276 chipsets.","archived":false,"fork":false,"pushed_at":"2023-06-14T20:06:47.000Z","size":4525,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-01T14:45:17.046Z","etag":null,"topics":["circuitpython","circuitpython-library","e32","ebyte","lora","python","sx1276","sx1278"],"latest_commit_sha":null,"homepage":"https://aziascreations.github.io/CircuitPython-Ebyte-E32/","language":"Python","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/aziascreations.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":"2023-06-06T23:22:32.000Z","updated_at":"2024-07-04T13:45:06.000Z","dependencies_parsed_at":"2023-06-28T13:01:00.755Z","dependency_job_id":null,"html_url":"https://github.com/aziascreations/CircuitPython-Ebyte-E32","commit_stats":null,"previous_names":["aziascreations/circuitpython_ebyte_e32","aziascreations/circuitpython-ebyte-e32"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aziascreations%2FCircuitPython-Ebyte-E32","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aziascreations%2FCircuitPython-Ebyte-E32/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aziascreations%2FCircuitPython-Ebyte-E32/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aziascreations%2FCircuitPython-Ebyte-E32/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aziascreations","download_url":"https://codeload.github.com/aziascreations/CircuitPython-Ebyte-E32/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240002431,"owners_count":19732195,"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":["circuitpython","circuitpython-library","e32","ebyte","lora","python","sx1276","sx1278"],"created_at":"2024-11-08T17:13:42.406Z","updated_at":"2026-04-29T14:03:39.744Z","avatar_url":"https://github.com/aziascreations.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CircuitPython Ebyte E32 Library\nCircuitPython driver for Ebyte's E32 UART LoRa modules that use the SX1278/SX1276 chipsets.\n\n## Features\n* Supports all standard E32 UART modules.\n* Extra support on a per-frequency and per-power basis:\n  * More descriptive constants for TX power.\n  * ~~Maximum packet size calculators~~.  (TODO)\n  * Entirely optional via separate modules.\n* Minified versions for devices with tiny storage space:\n  * ~75% smaller for `.py` files\n  * ~5% smaller for `.mpy` files  *(Due to shortened local variables, mostly)*\n\n## Limitations\n* **No built-in packet size limit:**\n  * Wildly different between frequencies \u0026 operating parameters.\n  * Not documented clearly enough in LoRA and LoRaWAN documentation.\n* No built-in protocol:\n  * All LoRa packets are glued back-to-back when received.\n  * **No LoraWAN support**\n* Missing support for some modules:\n  * Modules with `170`, `400` and `900` prefix.  *(Will improve overtime)*\n\n## Dependencies\nThis driver depends on:\n* [Adafruit CircuitPython](https://github.com/adafruit/circuitpython)\n* [Adafruit Blinka](https://github.com/adafruit/Adafruit_Blinka)\n\n## Installing\nGo to the [Releases page](https://github.com/aziascreations/CircuitPython-Ebyte-E32/releases/) and download one of the\npackages.\n\nHere is a short description of the available packages:\n\n| Package suffix | Description                                         |\n|----------------|-----------------------------------------------------|\n| `py`           | Python files from [ebyte_e32/](ebyte_e32)           |\n| `py-min`       | Minified version of this repository's code.         |\n| `mpy-8`        | Python files compiled using *mpy-cross v8*          |\n| `mpy-8-min`    | Minified python files compiled using *mpy-cross v8* |\n\n## Usage\nUsage examples can be found in the [examples](examples) folder,\nor in the *Examples* section of the [documentation](https://aziascreations.github.io/CircuitPython-Ebyte-E32/).\n\n### Wiring\n| E32 Module | MCU                                                             |\n|------------|-----------------------------------------------------------------|\n| `M0`       | Any digital output pin                                          |\n| `M1`       | Any digital output pin                                          |\n| `RXD`      | Any UART **TX** capable pin*                                    |\n| `TXD`      | Any UART **RX** capable pin*                                    |\n| `AUX`      | Any digital input pin**                                         |\n| `VCC`      | Power supply 2.3V to 5.2V DC, or 4.5V to 15V for E32-443T37S*** |\n\n*: Some devices like the *STM32 Black Pill* may require you to use very specific pins for the UART bus.\u003cbr\u003e\n**: Analogue input pins might work, but this type of setup isn't supported !\u003cbr\u003e\n***: Higher voltages can cause damage, make sure to double-check the datasheet !\n\n### *\"Making sure it works\"*\nThe `E32Device` class will raise a `ebyte_e32.exceptions.E32GenericError` exception during instantiation if\nit can't communicate to your module.\n\nThe same error may be raised when you change any operating setting.\n\n## Links\n\n### Resources\n* [xreef's E32 driver for Arduino](https://github.com/xreef/LoRa_E32_Series_Library)\n* [Effevee's E32 driver for MicroPython](https://github.com/effevee/loraE32/)\n* [LoRa and LoRaWAN quick overview  (By SemTech)](https://lora-developers.semtech.com/documentation/tech-papers-and-guides/lora-and-lorawan)\n* [LoRa frequency plan by country (By The Things Network)](https://www.thethingsnetwork.org/docs/lorawan/frequencies-by-country/)\n* [LoRa RF modulation basics  (On wiki.lahoud.fr)](http://wiki.lahoud.fr/lib/exe/fetch.php?media=an1200.22.pdf)\n* [Ebyte documentation for most E32 170/400/433/868/900/915 modules  (On ebyte.com)](https://www.ebyte.com/en/data-download.html?id=214\u0026cid=31)\n* [Ebyte documentation for most E32-433T33D  (On manualslib.com)](https://www.manualslib.com/manual/2924523/Ebyte-E32-433t33d.html?page=2#manual)\n* [LoRaWAN Regional Parameters  (By LoRa Alliance)](https://resources.lora-alliance.org/home/rp002-1-0-4-regional-parameters)\n* [LoRa - Packet size considerations  (By SemTech)](https://lora-developers.semtech.com/documentation/tech-papers-and-guides/the-book/packet-size-considerations/)\n* [LoRaWAN - Regional parameters  (By LoRa Alliance)](https://resources.lora-alliance.org/home/rp002-1-0-4-regional-parameters)\n* [LoRa data rate calculator (By rfwireless-world.com)](https://www.rfwireless-world.com/calculators/LoRa-Data-Rate-Calculator.html)\n\n### Datasheets\nAll datasheets can be found in\n[the documentation](https://aziascreations.github.io/CircuitPython-Ebyte-E32/technical_details_e32.html#datasheets).\n\n## Legal Disclaimer\nProper usage of E32 modules and adherence to your local laws and other RF-related laws all fall under your\nresponsibility.\u003cbr\u003e\nImproper use can result in physical damage to your module, and may also break some of your local laws,\nespecially those regarding RF transmissions.\n\nAn example of these law-related issues would be the usage of `E32-443T30D` / `TTL-1W` modules in most of europe.\u003cbr\u003e\nUnless you have the proper authorizations, you most likely can't legally own or use them,\nand you would typically be limited to modules with a maximum of 20dBm / 100mW TX power on the EU443 band.\u003cbr\u003e\n\nI cannot be held responsible for what you do with your own devices in your free time.\u003cbr\u003e\n\n## License\nThis project is licensed under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faziascreations%2Fcircuitpython-ebyte-e32","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faziascreations%2Fcircuitpython-ebyte-e32","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faziascreations%2Fcircuitpython-ebyte-e32/lists"}