This page was machine-translated and may differ from the original. View original

Interview with the STM32MP1 Complete Conquest Challenge Winner [3/3] "A Time to Learn and Share New Things"

Google 우선 소스Published2020.08.10 12:11
A system that measures and displays indoor and outdoor air quality
Frequency analyzer implemented as a development board function
Winner of the STM32MP1 Complete Conquest Challenge



The STM32MP1 Quest Challenge, open to anyone interested in electrical and electronic system design, concluded on June 22nd.

The 'STM32MP1 Complete Conquest Quest Challenge', hosted by STMicroelectronics Korea and organized by e4ds Make, was held for two months from April 13 to June 14.

This competition, which required participants to develop their own applications using the STM32MP157C-DK2 Discovery Kit, which features the STM32MP1 board, consisted of seven quests, one per week. The final, most challenging quest, which required completing an application, took two weeks to complete.

Participants could only challenge the next quest after passing the previous quest, and participants who completed all the final quests could receive prizes such as the Galaxy S20, Galaxy Watch, and Galaxy Buds according to the ranking selected by ST Korea.

A total of 238 engineers took on this challenge, and only 14 were able to complete all quests. And about a week after the challenge ended, the final rankings were announced and the four engineers who would receive the Galaxy Watch were confirmed.

e4ds News asked engineers Kim Jeong-su and Bae Sang-gu about their feelings about winning the competition, the challenges they faced, and the experiences they gained as engineers.
▲ Indoor and outdoor air quality information system [Photo = Kim Jeong-su]

Engineer Kim Jeong-su's indoor/outdoor air quality information system collects air quality data from various sensors and collates it with the Arm Cortex-M4 core on the STM32MP1. This data is then transmitted to the Arm Cortex-A7 core via the IPCC (Inter-Processor Communication Controller) to display indoor air quality. Furthermore, it uses OpenAPI to display neighborhood air quality data obtained from the Korea Environment Corporation on the outdoor air quality screen.



Q1. Congratulations on winning the STM23MP1 Complete Conquest Quest Challenge. Could you briefly introduce yourself?
A. Hello. My name is Kim Jeong-su. I'm in my 40s and work as a software developer at a medical device company in Pangyo.


Q2. How did you learn about this competition? Have you always been interested in electronic circuit design?
A. I learned about the competition through the e4ds website. As a hobby, I've been building various things using embedded systems like the Raspberry Pi.


Q3. Please explain the task you developed.
A. Health concerns are growing due to worsening environmental pollution. Therefore, I planned this project with the hope of developing a device that could monitor the air quality in the space and area where I live. To complete this project, I utilized additional temperature, humidity, air pressure, gas, and dust sensor modules.


Q4. Are there any particular difficulties that come to mind during the development process?
A. Since the STM32MP1 board, BitBake, and Qt were all completely new to me, I needed to learn a bit. Furthermore, since the domestic development community isn't very active, I used Google to find questions and answers on foreign community sites whenever I got stuck. I also found the posts on the bulletin boards of other participants who completed the quest with me very helpful.


Q5. How did you feel about using the STM23MP1 board and Qt? Was it difficult or challenging?
A. The STM32MP1 board natively supports ST-Link, making it easy to download and debug software and firmware for the Arm A7 and M4 cores. However, I wish there were more Qt-related books available. I think the STM32MP1 board and Qt can be a good choice as a platform that can be used usefully when designing IoT products.


Q6. If a competition like this Quest Challenge were held again, would you participate?
A. If I were given another chance to experience the joy of learning something new, I would participate.


Q7. Is there anything you would like to see improved in the competition process?
A. There were many instances where posting errors occurred when certain words were included on the bulletin board. Enhancing the bulletin board functionality would facilitate smoother communication among participants.
▲ Frequency analyzer [Photo = Bae Sang-gu]

Engineer Bae Sang-gu's frequency analyzer was built using the M4 core, which supports the ADC module built into the STM32MP1 and the FPU and DSP. Furthermore, an application GUI developed using Qt was displayed on the LCD mounted on the STM32MP157C-DK2 development board provided to all participants.



Q1. Congratulations on winning the STM23MP1 Complete Conquest Quest Challenge. Could you briefly introduce yourself?
A. My name is Bae Sang-gu (37), and I develop equipment applications at an RF measurement equipment manufacturing company.


Q2. How did you learn about this competition? Have you always been interested in electronic circuit design?
A. I participated after a friend recommended it. I love building robots, so I chose a related major in college. Later, I worked at an embedded systems development company, developing hardware and software. Currently, I'm primarily focused on software development, but I also build robots as a hobby. I primarily use ST's STM32 MCU.


Q3. Please explain the task you developed.
A. My goal during the challenge was to build an STM32MP1 development environment and test new features. The quest itself aligned with my goals.

While working through Quests 4 through 6, I began to think about Quest 7, which has yet to be revealed. Judging by the content of each quest so far, I expected it would require the development of a Qt GUI-based Linux application or the implementation of hardware control using the IPCC and M4 cores.

However, contrary to my expectations, Quest 7 was an autonomous task. While thinking about a task that could be implemented within two weeks, I decided to utilize my previous ideas. I work extensively with spectrum analyzers. So, I decided to implement a simple frequency analyzer using the functions of STM32MP1 and proceeded with the project.

First, I captured an analog signal using the ADC, timer, and DMA on the M4 core. Then, I performed an FFT using CMSIS, a DSP library provided by ST. Then, I transferred the FFTed data from the M4 to the A7 core using RPMsg. Since the A7 core runs the Linux OS, I developed a Linux application using Qt and designed it to update the display when it receives the FFTed data from the M4 core.

Quest 7 is finished, but in the future we plan to increase the ADC sampling rate and add oscilloscope functionality.


Q4. Are there any particular difficulties that come to mind during the development process?
A. Every time I develop a new system, I feel that setting up the development environment is the most difficult part. That's why, through this competition, I wanted to share information about setting up an STM32MP1 development environment with other developers. I tried to organize it as neatly and thoroughly as possible, but I feel a bit disappointed.

About ten years ago, I worked at an embedded systems development company, porting operating systems like Windows CE and Linux. This challenge provided me with valuable insights into the Yocto Project.

The second challenge that comes to mind is the Inter-Processor Communication (IPC) feature. While dual-core MCUs like the STM32MP1 MPU and STM32H7x5 MCU have been implemented, this was a new structure and concept for me before the challenge, and the limited resources made it difficult to approach. I'm currently using the STM32H745 and this challenge has been a great help in getting started with that MCU.


Q5. How did you feel about using the STM23MP1 board and Qt? Was it difficult or challenging?
A. I've been using Qt for a long time. It's widely used, even for non-GUI development, because it's standardized across multiple operating systems. This challenge gave me my first exposure to QML, and it was a learning experience, as it differs from the native C++ (widget) approach. However, due to my limited QML experience, I developed the final assignment using widgets. Going forward, I plan to learn more about QML and attempt to implement a GUI using Qt on bare metal.


Q6. If a competition like this Quest Challenge were held again, would you participate?
A. Since I was working on the challenge after work, the two months flew by in a rather hectic manner. If I had done it alone, it would have taken longer, but the other participants shared a lot of information, which was incredibly helpful. If a competition like this were held again, I'd participate again, if only to share information.


Q7. Is there anything you would like to see improved in the competition process?
A. As I progressed through the quests, I often found that areas unclear in previous quests were resolved in subsequent ones. Therefore, I believe that adding the ability to edit or add posts (without interfering with the review process) to the quest completion log board, where quest results are submitted, would facilitate more active information sharing among participants.
본 기사에 대한 정정·반론·추후보도 청구는 보도 청구 안내를, 그간 게재된 보도문은 정정·반론보도 모아보기를 참고해 주세요.
이수민 기자