Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zephyrproject-rtos/gsoc-2022-arduino-core
Arduino Core Zephyr Module (GSoC 2022 Project)
https://github.com/zephyrproject-rtos/gsoc-2022-arduino-core
gsoc-2022 module
Last synced: 1 day ago
JSON representation
Arduino Core Zephyr Module (GSoC 2022 Project)
- Host: GitHub
- URL: https://github.com/zephyrproject-rtos/gsoc-2022-arduino-core
- Owner: zephyrproject-rtos
- License: apache-2.0
- Created: 2022-06-01T15:20:33.000Z (over 2 years ago)
- Default Branch: next
- Last Pushed: 2024-10-14T15:46:01.000Z (3 months ago)
- Last Synced: 2025-01-03T13:14:02.802Z (8 days ago)
- Topics: gsoc-2022, module
- Language: C++
- Homepage:
- Size: 163 KB
- Stars: 48
- Watchers: 12
- Forks: 23
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
- awesome-zephyr-rtos - gsoc-2022-arduino-core - Arduino Core API module with an Arduino-C++ style abtraction layer. (Libraries / Application frameworks)
README
# GSoC 2022 Project: Arduino Core API module for Zephyr
![](https://dhruvag2000.github.io/Blog-GSoC22/assets/images/website_header.png)
The **Arduino Core API** module for zephyr leverages the power of Zephyr under an Arduino-C++ style abtraction layer thus helping zephyr new-comers to start using it without worrying about learning about new APIs and libraries. See the project documentation folder for detailed documentation on these topics:
* [Using external Arduino Libraries](/documentation/arduino_libs.md)
* [Adding custom boards/ variants](/documentation/variants.md)## Adding Arduino Core API to Zephyr
* **Pre requisites:** It is assumed that you have zephyrproject configured and installed on your system as per the official [Get Started Guide](https://docs.zephyrproject.org/latest/develop/getting_started/index.html). The recommended path to install is `~/zephyrproject` as specified in the guide. If you have zephyr installed in a custom path you may need to make changes to the CMakeLists.txt file in the sample code directory when building these samples.
* Add following entry to `west.yml` file in `manifest/projects` subtree of Zephyr:
```
# Arduino API repository.
- name: Arduino-Core-Zephyr
path: modules/lib/Arduino-Zephyr-API
revision: main
url: https://github.com/zephyrproject-rtos/gsoc-2022-arduino-core
```* Then, clone the repository by running
```sh
west update
```* **Note:** For ***Linux users only*** there exists an ``install.sh`` script in this project that can be run to quickly link the ArduinoCore-API to this module.
If you are able to run that script successfully then you can skip the next steps.* To "complete" the core you need to copy or symlink the api folder from the [ArduinoCore-API](https://github.com/arduino/ArduinoCore-API.git) repo to the target's ``cores/arduino`` folder:
```sh
$ git clone [email protected]:arduino/ArduinoCore-API # Any location
$ ln -s ///ArduinoCore-API/api cores/arduino/.
```
The `cores` folder can be found at `~/zephyrproject/modules/lib/Arduino-Zephyr-API/cores`.**Known Bug(s):**
__NOTE:__ You can skip this step as well if you ran ``install.sh``.
**Maintainers**:
- [DhruvaG2000](https://github.com/DhruvaG2000)
- [soburi](https://github.com/soburi)
- [szczys](https://github.com/szczys)
- [beriberikix](https://github.com/beriberikix)
- [alvarowolfx](https://github.com/alvarowolfx)## License
Please note that the current license is Apache 2. Previously it was LGPL 2.1 but after careful review it was determined that no LGPL code or derivates was used and the more permissive license was chosen.**Additional Links**
* [Official Project Blog](https://dhruvag2000.github.io/Blog-GSoC22/)
* Golioth's Article: [Zephyr + Arduino: a Google Summer of Code story](https://blog.golioth.io/zephyr-arduino-a-google-summer-of-code-story/)