{"id":23535232,"url":"https://github.com/denis-source/arduino-base","last_synced_at":"2025-10-15T17:32:34.821Z","repository":{"id":269232356,"uuid":"906765661","full_name":"Denis-Source/arduino-base","owner":"Denis-Source","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-22T00:05:48.000Z","size":235,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-17T06:13:47.603Z","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":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Denis-Source.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":"2024-12-21T20:54:13.000Z","updated_at":"2024-12-22T00:05:51.000Z","dependencies_parsed_at":"2024-12-22T01:17:24.309Z","dependency_job_id":"2661bcda-f323-4c2d-8156-d8b22afa8c13","html_url":"https://github.com/Denis-Source/arduino-base","commit_stats":null,"previous_names":["denis-source/arduino-base"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Denis-Source%2Farduino-base","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Denis-Source%2Farduino-base/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Denis-Source%2Farduino-base/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Denis-Source%2Farduino-base/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Denis-Source","download_url":"https://codeload.github.com/Denis-Source/arduino-base/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254222091,"owners_count":22034818,"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-12-26T01:15:53.295Z","updated_at":"2025-10-15T17:32:29.772Z","avatar_url":"https://github.com/Denis-Source.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Arduino Base\n\nArduino project template with CMake configuration.\n\n## Prerequisites\n\n- Arduino compatible board\n- MINGW (Windows only)\n- AVR toolchain\n- avrdude\n- Arduino core libraries\n\n### MINGW\n\nThe GCC toolchain contains the `make` executable to build the AVR binaries.\n\nCan be installed from the [official website](https://www.mingw-w64.org/downloads/).\n\n### AVR toolchain\n\nAVR GCC toolchain that contains C, CPP and ASM linkers and compilers as well as ELF to HEX converter.\n\nCan be downloaded from the [Microchip website](https://www.microchip.com/en-us/tools-resources/develop/microchip-studio/gcc-compilers).\n\n\u003e Note\n\u003e \n\u003e Toolchain should be downloaded into [tools/avr_toolchain](tools/avr_toolchain) as specified in the CMake configuration.\n\n### avrdude\n\nA program for downloading and uploading the on-chip memories of AVR microcontrollers.\n\nCan be downloaded from the [avrdude repository](https://github.com/avrdudes/avrdude).\n\n\u003e Note\n\u003e \n\u003e avrdude should be downloaded into [tools/avrdude](tools/avrdude) as specified in the CMake configuration.\n\n### Arduino core libraries\n\nSource code of Arduino built-in libraries.\n\nCan be downloaded from the [official GitHub repository](https://github.com/arduino/ArduinoCore-avr/).\n\n\u003e Note\n\u003e \n\u003e [Arduino core](https://github.com/arduino/ArduinoCore-avr/tree/master/cores/arduino) should be placed into [external/arduino] folder.\n\u003e \n\u003e [Arduino variants](https://github.com/arduino/ArduinoCore-avr/tree/master/variants) pin configuration header should be placed into [external/arduino]\n\u003e \n\u003e None of these are required and can be omitted. But be sure to remove those source files from the CMake configuration (`Arduino.h` contains `main` function definition that can be in a way).\n\n## CLion setup\n\n### CLion toolchain setup\n\n![Clion toolchain configuration](docs/clion_toolchain_configuration.png)\n\n- Open settings\n- Navigate to Build, Execution, Deployment\n- Add new toolchain\n- Select MinGW toolchain\n- Select MinGW `make` executable as a Build Tool\n- Select AVR GCC C and C++ compiler binaries that are present in the [tools/avr_toolchain]\n\n### Clion CMake configuration\n\n![Clion Cmake configuration](docs/clion_cmake_configuration.png)\n\n- Open settings\n- Navigate to CMake\n- Set name (Optional)\n- Set build type (Optional)\n- Select previously configured toolchain\n- Add `DCOM` variable to select USB device port (COM5 for example)\n- Set Build directory to `build`\n\n\u003e After that CMake should build the project and configuration buttons should appear.\n\n## Usage\n\nTo upload the code, use the `flash` configuration. \n\nThe toolchain should compile, link and flash the board, all build files including ELF and HEX will be located in the [build](build) folder.\n\n\u003e Note\n\u003e \n\u003e Current setup is configured for Arduino Nano and Mini compatible boards with CH340 programmer.\n\u003e \n\u003e For other boards the CMake configuration is not guaranteed to work and should be changed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenis-source%2Farduino-base","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenis-source%2Farduino-base","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenis-source%2Farduino-base/lists"}