STM32MP157C-DK2 디스커버리 키트를 이용하여 독창적인 애플리케이션을 개발하는 'STM32MP1 완전 정복 퀘스트 챌린지'가 막을 내렸다. 238명이 도전한 이 대회에서 LED 컨트롤러를 개발한 '루달스' 엔지니어가 1위를 차지했다. 그에게 입상한 소감과 엔지니어로서 얻을 수 있었던 경험에 관해 물었다.
STM32MP1 보드와 Qt 프레임워크 활용하여
I2C 통신으로 64개 LED 제어하는 애플리케이션
'LED 컨트롤러' STM32MP1 챌린지 1위 수상
전기·전자 시스템의 설계에 관심만 있다면 누구나 참여할 수 있는 STM32MP1 퀘스트 챌린지가 지난 6월 22일, 막을 내렸다.
ST마이크로일렉트로닉스 코리아는 e4ds make에서 4월 13일부터 6월 14일까지 'STM32MP1 완전 정복 퀘스트 챌린지' 대회를 진행했다.
STM32MP1 보드가 탑재된 STM32MP157C-DK2 디스커버리 키트를 이용하여 독창적인 애플리케이션을 개발하는 이번 대회는 총 7개 퀘스트로 구성되어 매주 1개씩 진행됐다. 애플리케이션을 완성하는 마지막 퀘스트는 특별히 2주동안 진행됐다.
직전 퀘스트를 통과해야만 다음 퀘스트에 도전할 수 있으며, 파이널 퀘스트까지 모두 마친 참가자는 ST 코리아에서 선정한 순위에 따라 갤럭시 S20, 갤럭시 워치, 갤럭시 버즈 등을 경품으로 받게 된다.
STM32MP1 완전 정복 퀘스트 챌린지는 총 238명이 도전했으며, 14명만이 모든 퀘스트를 끝마쳤다. 6월 22일, 최종 순위가 발표됐고 1등의 영예는 ‘LED 컨트롤러’를 개발한 닉네임 ‘루달스’ 엔지니어에게 돌아갔다.
▲ STM32MP1과 Qt로 제작한 LED 컨트롤러 [사진=루달스]
루달스 엔지니어가 만든 LED 컨트롤러는 총 64개의 LED를 제어하는 GUI를 제공하는 애플리케이션이다. 또한, 몇 가지 전체 또는 개별 LED를 테스트할 수도 있다.
e4ds 뉴스는 루달스 엔지니어에게 이번 대회에서 입상한 소감과 겪었던 과제들, 그리고 엔지니어로서 얻을 수 있었던 경험에 관해서 물었다.
Q1. STM23MP1 완전 정복 퀘스트 챌린지에서 1등으로 입상하신 것에 축하드립니다. 간단한 자기소개 부탁드리겠습니다.
A. 안녕하세요. 저는 안드로이드 OS용 방송 관련 소프트웨어를 개발하는 40대 개발자입니다.
Q2. 이번 대회는 어떤 경로로 알게 되신 겁니까? 평소 전자 회로 설계에 관심이 많으셨는지?
A. 어느 네이버 카페에 회원분이 올리신 게시글을 보고 참여하게 되었습니다. 주 업무가 소프트웨어 개발이다 보니 자연스레 부족한 부분이라 생각되는 하드웨어에도 관심을 두게 됐습니다.
많은 분이 취미로 접하는 아두이노(Arduino)나 STM32 관련 정보에 관심이 많으며, 최근에는 하드웨어 PCB 설계 분야로 관심 폭을 넓혀가고 있습니다.
Q3. 개발하신 과제에 대한 설명 부탁드립니다.
A. 최대한 STM32MP157C-DK2 보드의 하드웨어와 소프트웨어를 모두 활용할 수 있는 프로젝트를 구현하고 싶었습니다. 구현 가능한 범위와 한정된 시간 내에 끝마칠 수 있는 몇 가지 프로젝트를 구상하다 그중 선택한 것이 바로 LED 컨트롤러였습니다.
STM32MP157C-DK2 보드를 컨트롤러로 사용하고, I2C 통신을 통해 8×8개의 LED를 제어하는 내용의 프로젝트라면, 생각했던 기능 대부분을 활용하는 게 가능해 보였습니다.
그래서 STM32MP157C-DK2 보드에서는 커널 단에 I2C5 관련 DTS를 추가 후 커널을 업데이트하였고, QML(Qt Modeling Language)을 사용하여 LED 컨트롤러 전용 애플리케이션을 제작하였습니다.
LED 패널단은 취미 생활차 가지고 있던 부품 중 ‘WS2812B’ LED와 ‘ATmega328p’ 8비트 MCU를 사용하여 제작하였습니다.
▲ (위) LED 컨트롤러 하드웨어 개발 과정
(아래) LED 컨트롤러 앱 [사진=루달스]
Q4. 개발 과정 중에 특히 생각나는 어려움이 있다면?
A. 이번 대회를 통해 QML(Qt Modeling Language)을 처음 사용해 봤는데, 이것으로 GUI를 개발하는 부분이 개인적으로 가장 어려웠습니다.
DTS 수정을 통한 커널 업데이트나 I2C 드라이버를 사용한 통신은 리눅스 시스템을 이용할 수 있어서 비교적 쉬웠습니다.
반면, GUI 부분은 전체적인 UI 시나리오를 구상한 후, 필요한 리소스를 제작하고 시나리오에서 작성한 기능의 구현 가능 여부를 검토해야 하는 것이 어려웠습니다.
Q5. STM23MP1 보드와 Qt를 사용한 소감은 어떻습니까? 어렵거나 힘들진 않았습니까?
A. 이번 대회를 통해 하드웨어와 소프트웨어 개발을 두루 해 볼 수 있어서 좋았습니다.
새로운 시스템 환경을 전부 파악하지 못한 상태에서 구현하기 적합했다나 힘들었다 등을 말씀드리기는 어려울 것 같습니다만, 이번 LED 컨트롤러 프로젝트를 구현하면서 부족한 부분은 찾을 수 없었습니다.
개인적으로 아쉬운 점은 듀얼코어를 활용하지 못했다는 점입니다. 향후 텐서플로(TensorFlow)를 사용하여 사물 인식 관련 AI 작업을 해봤으면 합니다.
Q6. 이번 퀘스트 챌린지와 같은 대회가 다시 열린다면 참여하실 생각입니까?
A. 이벤트가 개최된다면 언제든지 적극적으로 참여할 생각입니다.
Q7. 대회 진행에 있어 개선되었으면 하는 부분이 있다면?
A. ‘챌린저 자유게시판’이나 ‘무엇이든 물어보세요’ 게시판을 통해 참가자들 간의 소통과 유연한 퀘스트 진행이 가능해서 대회 중 특별히 불편한 점은 느끼지 못했습니다.
루달스 엔지니어가 제작한 LED 컨트롤러에 대한 자세한 내용은 e4ds MAKE에서
확인할 수 있다.