{"id":20696858,"url":"https://github.com/araobp/stm32-mcu","last_synced_at":"2025-09-20T23:56:01.531Z","repository":{"id":145719383,"uuid":"130847341","full_name":"araobp/stm32-mcu","owner":"araobp","description":"Application components for STMicro STM32 MCUs ","archived":false,"fork":false,"pushed_at":"2019-06-09T04:54:20.000Z","size":42437,"stargazers_count":28,"open_issues_count":1,"forks_count":13,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T18:41:30.841Z","etag":null,"topics":["adc","cubemx","dac","dfsdm","mems-mic","stm32","thermography","truestudio","x-cube-ai"],"latest_commit_sha":null,"homepage":"","language":"C","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/araobp.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":"2018-04-24T12:00:25.000Z","updated_at":"2024-09-27T00:49:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"d96066da-de08-49a7-8849-f943814370b8","html_url":"https://github.com/araobp/stm32-mcu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/araobp%2Fstm32-mcu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/araobp%2Fstm32-mcu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/araobp%2Fstm32-mcu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/araobp%2Fstm32-mcu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/araobp","download_url":"https://codeload.github.com/araobp/stm32-mcu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250321514,"owners_count":21411591,"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":["adc","cubemx","dac","dfsdm","mems-mic","stm32","thermography","truestudio","x-cube-ai"],"created_at":"2024-11-17T00:15:39.740Z","updated_at":"2025-09-20T23:55:56.477Z","avatar_url":"https://github.com/araobp.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Application components for STMicro STM32 MCUs\n\nToolchain: Migrating from TrueSTUDIO+CubeMX to [STM32CubeIDE](https://www.st.com/en/development-tools/stm32cubeide.html)\n\n## Common libraries\n\n### [NUCLEO-F401RE](http://www.st.com/en/evaluation-tools/nucleo-f401re.html) board\n\n- [DCT Type-II implementation on CMSIS-DSP (also works on L4)](./NUCLEO-F401RE/DCT) including a zigzag scan utility function.\n\n## Application components\n\n### [NUCLEO-F401RE](http://www.st.com/en/evaluation-tools/nucleo-f401re.html) board\n\n- [Thermography (infrared array sensor) and rock-paper-scissors recogniton with Keras/TensorFlow](./NUCLEO-F401RE/Thermography)\n- [X-CUBE-AI (ML inference on MCU with 2D images from an infrared array sensor)](./NUCLEO-F401RE/AI)\n- [X-CUBE-BLE1 (BLE)](./NUCLEO-F401RE/BLE)\n\n### [NUCLEO-L476RG](http://www.st.com/en/evaluation-tools/nucleo-l476rg.html) board\n\n- [HelloWorld](./NUCLEO-L476RG/HelloWorld)\n- [GPIO_Interrupt](./NUCLEO-L476RG/GPIO_Interrupt)\n- [Clock](./NUCLEO-L476RG/Clock/README.md)\n- [CAN](./NUCLEO-L476RG/CAN/README.md)\n- [MEMSMIC(MEMS mic expansion board)](./NUCLEO-L476RG/MEMSMIC/README.md)\n- [ADC with DMA](./NUCLEO-L476RG/ADC/README.md)\n- [DAC with triangular wave and sine wave](./NUCLEO-L476RG/DAC/README.md)\n- [Mic-\u003eADC-\u003eDAC pipeline](./NUCLEO-L476RG/Mic_ADC_DAC/README.md)\n- [Sound Effector](./NUCLEO-L476RG/Sound_Effector)\n- [Chirp compression](./NUCLEO-L476RG/Chirp_Compression)\n\n### [NUCLEO-F401RE](http://www.st.com/en/evaluation-tools/nucleo-f401re.html) and [NUCLEO-L476RG](http://www.st.com/en/evaluation-tools/nucleo-l476rg.html) boards\n\n#### Dynamic NFC tags\n- [ST25DV04K (NFC) on F401RE](./NUCLEO-F401RE/NFC)\n- [ST25DV04K (NFC) on L476RG](./NUCLEO-L476RG/NFC) \n\n### [STM32F4 Discovery](http://www.st.com/en/evaluation-tools/stm32f4discovery.html) board\n\n- [Camera (CMOS image sensor OV7670)](./STM32F4-Discovery/Camera)\n- [BlueSwitch](./STM32F4-Discovery/BlueSwitch)\n- [HelloWorld](./STM32F4-Discovery/HelloWorld)\n- [LED_blinking](./STM32F4-Discovery/LED_blinking)\n- [PWM-output](./STM32F4-Discovery/PWM-output)\n- [AudioWeaver](./STM32F4-Discovery/AudioWeaver)\n\n#### printf issue\n\nI managed to support printf on USART2.\n\n\u003cimg src=\"./doc/STM32F4_Discovery_UART.jpg\" height=300\u003e\n\nPhysical configuration:\n\n```\nSTM32F407\n               +------------+\n            X 5V            |\nGND     ----- GND  FTDI     |\nPA3(RX) ----- TX  USB-UART  ===== USB ======\u003e PC\nPA2(TX) ----- RX  converter |\n               +------------+\n```\n\nInclude the following snippet in main.c to support printf:\n\n```\nint _write(int file, char *pbuf, int len)\n{\n  HAL_UART_Transmit(\u0026huart2, (uint8_t *)pbuf, len, 1000);\n  return len;\n}\n```\n\n#### PWM test\n\nPWM output (100Hz, 50% duty) to PA8:\n\n![waveform](./doc/PWM_waveform.jpg)\n\n## Tips\n\n- [CMSIS DSP RFFT pitfalls](./tips/CMSIS_DSP_RFFT.md)\n- [Enabling DSP on STM32](./tips/ENABLE_DSP.md)\n- [PCM data resolution on STM32L4 DFSDM](./tips/RESOLUTION.md)\n- [Enabling printf on STM32](./tips/ENABLE_PRINTF.md)\n\n## References\n\n### STM32L476 Nucleo-64\n\n- [Schematics](http://www.st.com/resource/en/schematic_pack/nucleo_64pins_sch.zip)\n- [Datasheet](http://www.st.com/resource/en/datasheet/stm32l476je.pdf)\n\n### STM32F4 Discovery board\n\n- [Schematics](http://www.st.com/resource/en/schematic_pack/stm32f4discovery_sch.zip)\n- [Datasheet](http://www.st.com/resource/en/datasheet/dm00037051.pdf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faraobp%2Fstm32-mcu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faraobp%2Fstm32-mcu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faraobp%2Fstm32-mcu/lists"}