The Breadboard Community is currently conducting a review activity, with 300 FR3068D-C boards available for free application. Everyone can scan the QR code below to claim one for free
What amazed me about this board was not the development board itself, but the rich examples they provided (very abundant).
In addition to the conventional peripherals of microcontrollers such as GPIO, UART, SPI, and I2C, there are many protocol stacks used for learning microcontrollers (lwIP), file systems (fatfs/littlefs), logging libraries (EasyLogger), databases (FlashDB), GUI (lvgl), coremark scores, as well as many technologies used in microcontroller learning and development projects like USB, RTOS, etc.
These examples are open-source and can be compiled and run directly, with the development environment mainly being Keil MDK.
Don’t underestimate these examples; I dare say that the vast majority of senior engineers with three to five years, or even ten years of experience, do not fully understand these technologies.
Here is a factory demo for everyone to see:
Next, I will teach you how to get started with this domestic Cortex-M33 core microcontroller in five minutes.
About the FR3068E Microcontroller
We will not describe the Bluetooth part here; we will mainly discuss the microcontroller part. From the block diagram, it can be seen that the microcontroller is a 32-bit CM33 core processor. The on-chip resources and peripherals are also very rich.
For more information about the microcontroller, you can visit the FreqChip official website:
https://www.freqchip.com/
Getting Started with the Domestic CM33 Microcontroller in 5 Minutes
https://www.keil.com/demo/eval/arm.htm
https://www.python.org/getit/
https://www.python.org/ftp/python/3.13.0/python-3.13.0-amd64.exe
Here we will open the official example provided (downloaded previously), for example: lvgl_demo project
Here we use the download tool provided by the official website:
void gpio_demo(enum_GPIO_Demo_t fe_Demo){ /* init GPIO CLOCK */ __SYSTEM_GPIOD_CLK_ENABLE(); __SYSTEM_GPIO_CLK_SELECT_COREH();
printf("gpio clock:%d\r\n", system_get_peripheral_clock( PER_CLK_GPIOx));
switch(fe_Demo) { case GOIO_OUTPUT: { GPIO_Handle.Pin = GPIO_PIN_6|GPIO_PIN_7; GPIO_Handle.Mode = GPIO_MODE_OUTPUT_PP; GPIO_Handle.Pull = GPIO_PULLUP; gpio_init(GPIOD, &GPIO_Handle);
while(1) { //pin Output high Level gpio_write_pin(GPIOD, GPIO_PIN_6|GPIO_PIN_7, GPIO_PIN_SET); system_delay_us(100000);
//pin Output low Level gpio_write_pin(GPIOD, GPIO_PIN_6|GPIO_PIN_7, GPIO_PIN_CLEAR); system_delay_us(100000); } } }}
Author | strongerHuang