{"id":22097451,"url":"https://github.com/nuclei-software/nuclei-board-labs","last_synced_at":"2025-07-24T22:33:09.214Z","repository":{"id":43261068,"uuid":"244290418","full_name":"Nuclei-Software/nuclei-board-labs","owner":"Nuclei-Software","description":"Nuclei Board Labs","archived":false,"fork":false,"pushed_at":"2024-01-08T10:31:38.000Z","size":9633,"stargazers_count":48,"open_issues_count":1,"forks_count":25,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-01-08T12:05:33.319Z","etag":null,"topics":["fpga","hummingbird","hummingbirdv2","nmsis","nuclei-sdk","rvstar"],"latest_commit_sha":null,"homepage":"https://doc.nucleisys.com/nuclei_board_labs","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nuclei-Software.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}},"created_at":"2020-03-02T05:45:34.000Z","updated_at":"2023-12-23T06:43:44.000Z","dependencies_parsed_at":"2024-01-08T11:56:53.195Z","dependency_job_id":null,"html_url":"https://github.com/Nuclei-Software/nuclei-board-labs","commit_stats":null,"previous_names":[],"tags_count":3,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuclei-Software%2Fnuclei-board-labs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuclei-Software%2Fnuclei-board-labs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuclei-Software%2Fnuclei-board-labs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuclei-Software%2Fnuclei-board-labs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nuclei-Software","download_url":"https://codeload.github.com/Nuclei-Software/nuclei-board-labs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227482406,"owners_count":17779968,"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":["fpga","hummingbird","hummingbirdv2","nmsis","nuclei-sdk","rvstar"],"created_at":"2024-12-01T04:15:34.904Z","updated_at":"2024-12-01T04:15:35.974Z","avatar_url":"https://github.com/Nuclei-Software.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nuclei Board Labs\n\nThis is a handbook for Nuclei Board Labs which is a part of courses in Nuclei University Program.\n\nThis handbook describes how to develop with Nuclei Development Board through a step-by-step way,\nit can be used as lab teaching metarials.\n\nAnyone interested in Nuclei Processor Cores can also take this handbook as a quick start-up to develop with Nuclei Processor Cores in the field of embedded systems.\n\nThe hierarchy of Nuclei Board Labs are shown in the block diagram below.\n\n![Hierarchy of Nuclei Board Labs](doc/source/asserts/medias/overview_fig1.jpg)\n\nThe labs are developed based on the [Nuclei Software Development Kit (Nuclei SDK)](https://github.com/Nuclei-Software/nuclei-sdk) which is an open software platform to facilitate the software development of systems based on Nuclei Processor Cores.\n\nIn Nuclei SDK, the [Nuclei MCU Software Interface Standard (NMSIS)](https://github.com/Nuclei-Software/NMSIS) is a vendor-independent hardware abstraction layer for micro-controllers that are based on Nuclei Processor Cores.\n\nFor more details about this handbook, please click https://doc.nucleisys.com/nuclei_board_labs\n\n## Board Labs Listing\n\n\u003e Generated by `python3 update.py` @ 2024-01-08 16:34:45\n\n| Application | Board/SOC | Description |\n| --- | --- | --- |\n| [./cm32m433r-start/quickstart/running_led](./cm32m433r-start/quickstart/running_led) | cm32m433r-start | CM32M433R-START running_led lab |\n| [./e203_hbirdv2/common/demo_iasm](./e203_hbirdv2/common/demo_iasm) | e203_hbirdv2 | Nuclei e203_hbirdv2 common demo_iasm lab |\n| [./e203_hbirdv2/common/demo_nice](./e203_hbirdv2/common/demo_nice) | e203_hbirdv2 | Nuclei e203_hbirdv2 common demo_nice lab |\n| [./e203_hbirdv2/common/gpio_toggle](./e203_hbirdv2/common/gpio_toggle) | e203_hbirdv2 | Nuclei e203_hbirdv2 common gpio_toggle lab |\n| [./e203_hbirdv2/common/i2c_eeprom](./e203_hbirdv2/common/i2c_eeprom) | e203_hbirdv2 | Nuclei e203_hbirdv2 common i2c_eeprom lab |\n| [./e203_hbirdv2/ddr200t/pwm_led](./e203_hbirdv2/ddr200t/pwm_led) | e203_hbirdv2 | Nuclei e203_hbirdv2 ddr200t pwm_led lab |\n| [./e203_hbirdv2/ddr200t/spi_lcd](./e203_hbirdv2/ddr200t/spi_lcd) | e203_hbirdv2 | Nuclei e203_hbirdv2 ddr200t spi_lcd lab |\n| [./e203_hbirdv2/mcu200t/pwm_led](./e203_hbirdv2/mcu200t/pwm_led) | e203_hbirdv2 | Nuclei e203_hbirdv2 mcu200t pwm_led lab |\n| [./evalsoc/mmudemo](./evalsoc/mmudemo) | evalsoc | nuclei evalsoc mmu demo |\n| [./evalsoc/rvv_examples](./evalsoc/rvv_examples) | evalsoc | RISC-V Vector Examples |\n| [./evalsoc/zcmt_jumptable](./evalsoc/zcmt_jumptable) | evalsoc | Nuclei Zcmt Jump Table Demo |\n| [./evalsoc/crypto_examples](./evalsoc/crypto_examples) | evalsoc | RISC-V Crypto(K extension) Examples |\n| [./rvstar/adc/adc_regular_scan](./rvstar/adc/adc_regular_scan) | rvstar | Nuclei rvstar adc adc_regular_scan lab |\n| [./rvstar/crc/crc_single_data](./rvstar/crc/crc_single_data) | rvstar | Nuclei rvstar crc crc_single_data lab |\n| [./rvstar/dac/adc_dac_converter](./rvstar/dac/adc_dac_converter) | rvstar | Nuclei rvstar dac adc_dac_converter lab |\n| [./rvstar/demo_iasm](./rvstar/demo_iasm) | rvstar | Nuclei rvstar demo_iasm lab |\n| [./rvstar/dma/dma_ram_uart](./rvstar/dma/dma_ram_uart) | rvstar | Nuclei rvstar dma dma_ram_uart lab |\n| [./rvstar/exti_key_interrupt](./rvstar/exti_key_interrupt) | rvstar | Nuclei rvstar exti_key_interrupt lab |\n| [./rvstar/gpio/gpio_input_key](./rvstar/gpio/gpio_input_key) | rvstar | Nuclei rvstar gpio gpio_input_key lab |\n| [./rvstar/gpio/gpio_output_led](./rvstar/gpio/gpio_output_led) | rvstar | Nuclei rvstar gpio gpio_output_led lab |\n| [./rvstar/i2c/i2c_oled_screen](./rvstar/i2c/i2c_oled_screen) | rvstar | Nuclei rvstar i2c i2c_oled_screen lab |\n| [./rvstar/nesting_of_interrupts](./rvstar/nesting_of_interrupts) | rvstar | Nuclei rvstar nesting_of_interrupts lab |\n| [./rvstar/pmu/deepsleep_wakeup_exti](./rvstar/pmu/deepsleep_wakeup_exti) | rvstar | Nuclei rvstar pmu deepsleep_wakeup_exti lab |\n| [./rvstar/rtc/rtc_display_time](./rvstar/rtc/rtc_display_time) | rvstar | Nuclei rvstar rtc rtc_display_time lab |\n| [./rvstar/running_led](./rvstar/running_led) | rvstar | Nuclei rvstar running_led lab |\n| [./rvstar/spi/spi_master_polling](./rvstar/spi/spi_master_polling) | rvstar | Nuclei rvstar spi spi_master_polling lab |\n| [./rvstar/timer/timer_encoder_counter](./rvstar/timer/timer_encoder_counter) | rvstar | Nuclei rvstar timer timer_encoder_counter lab |\n| [./rvstar/timer/timer_pwmout_buzzer](./rvstar/timer/timer_pwmout_buzzer) | rvstar | Nuclei rvstar timer timer_pwmout_buzzer lab |\n| [./rvstar/timer/timer_pwmout_light](./rvstar/timer/timer_pwmout_light) | rvstar | Nuclei rvstar timer timer_pwmout_light lab |\n| [./rvstar/uart/uart_control_led](./rvstar/uart/uart_control_led) | rvstar | Nuclei rvstar uart uart_control_led lab |\n| [./rvstar/uart/uart_return_char](./rvstar/uart/uart_return_char) | rvstar | Nuclei rvstar uart uart_return_char lab |\n| [./rvstar/uart/uart_return_string](./rvstar/uart/uart_return_string) | rvstar | Nuclei rvstar uart uart_return_string lab |\n| [./rvstar/vectored_interrupt](./rvstar/vectored_interrupt) | rvstar | Nuclei rvstar vectored_interrupt lab |\n| [./rvstar/wdgt/fwdgt_key_int](./rvstar/wdgt/fwdgt_key_int) | rvstar | Nuclei rvstar wdgt fwdgt_key_int lab |\n\n## Use it in Nuclei Studio\n\n\u003e Nuclei Studio 2023.10 is required now.\n\n\u003e Some packages required may not yet updated to support 2023.10.\n\nOpen Nuclei Studio, and Open `RV-Tools` -\u003e `Nuclei Package Management`, and download `sdk-nuclei_sdk`, `sdk-hbird_sdk` and `sdk-cm32m4xxr` see below.\n\n![NPK Package Requiremetns](doc/source/asserts/npk_requirements.jpg)\n\nAnd then you can download this repo as zip or directly download `bdp-nuclei_board_labs` package.\n\nThen you can see extra board labs examples when you create New Nuclei RISC-V C/C++ Example.\n\n## Use it in Nuclei SDK\n\nJust download or clone the nuclei-board-labs repo to existing [nuclei sdk repo](https://github.com/Nuclei-Software/nuclei-sdk).\n\nMake sure the source code structure as below.\n\n~~~shell\n\u003cNuclei SDK\u003e:\n  - Build\n  - application\n  - nuclei-board-labs # this repo\n  - xxxxx\n~~~\n\nAnd then you can use it like other nuclei sdk applications.\n\n## Add new board labs\n\nIf you are adding new board lab, you need to set `category: Board Labs` in `npk.yml`, so user can select board labs\nvia `category` in project example wizard.\n\nYou can refer to any example located in this folder.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuclei-software%2Fnuclei-board-labs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuclei-software%2Fnuclei-board-labs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuclei-software%2Fnuclei-board-labs/lists"}