ݺߣ

ݺߣShare a Scribd company logo
OROCABOY3 제작기
2019.12.21
By Baram
OROCABOY 란?
GAMEBOY 짝퉁?
OROCABOY 란?
ARDUBOY
OROCABOY 란?
● MCU를 공부할 수 있는 게임기 형태의 개발
보드
● 오픈소스를 활용하고 모든 과정은 공개
● 오프라인 보다는 온라인 협업
● 무료 소프트웨어를 이용하여 제작
History
OROCABOY1 - 2017
● 아두이노용 게임 라이브러리를
STM32L432 Nucleo 보드에 포팅해서
Eclipse 개발 환경으로 Gamebuino
게임들을 구동
● 특별한 케이스 없이 자유롭게 제작
History
OROCABOY2 - 2018
● Gamebuino META 라이브러리를
STM32F469DIS 보드에 포팅하고
케이스를 레트로 디자인으로 제작
● MCU에서 구동할 수 있도록 NES
에뮬레이터를 포팅
● DOOM 게임 포팅
● 게임 제작 시도(?)
History
OROCABOY3 - 2019
● 직접 보드를 제작하여 레트로
에뮬레이터 게임기를 만들자는 컨셉
● TouchGFX
● 에뮬레이터
● 3D 프린팅
준비 단계
스스로에게 동기 부여
함께할 사람들과의 많은 대화
협업을 위한 준비
구글 ݺߣs
만들려고 하는 작품의 컨셉이나 아이디어
등을 정리하고 블럭도등 개발시 필요한
정보 작성
구글 Sheets
BOM 정리나 부품 사양등 정리가 필요한
항목들 작성
OROCA 카페
작품의 중간 결과물들을 공유
카카오톡
실시간으로 필요한 사항을 논의하거나
결정을 위한 커뮤니케이션
구글 ݺߣs
기획 단계
무엇을 만들까?
어떻게 만들까?
재미있을까?
비용은 얼마나 들까?
만들었을때 우리가 얻는건
무엇일까?
키워드
● TouchGFX
○ ST에서 제공하는 임베디드 GUI 플랫폼으로
OROCABOY의 런처에 적용
● 게임 에뮬레이터
○ Gameboy나 NES같은 게임 에뮬레이터 포팅
● 3D 프린팅
○ 케이스를 3D 프린팅을 해서 실제 게임기 같은
형태로 제작
외형
● 일반적인 가로형 레트로 게임기 형태
버튼
● 버튼은 최대한 기존 상용 제품들 활용
GUI
● ODROID-GO와 유사한 형태의 런처 구현
H/w 블럭도
● 사용되는 부품들을 선정하고 블럭도를 작성
개발 환경
● 회로설계 및 아트웍
○ KiCAD
● 펌웨어 작성
○ TrueSTUDIO
● 3D CAD
○ FreeCAD
회로/아트웍
무료 프로그램인 KiCAD를
이용하자
국내에서 구할수 있는
부품으로..
수땜할 수 있는 부품으로..
비용 최소화를 위해 최소한의
부품만 사용
KiCAD 회로도면 작성
부품들에 대한 파트 도면을 만들고 선들을
연결하여 기본 회로도면 작성
KiCAD 아트웍
작성된 회로도면으로 부품의 풋프린트를
만들고 선을연결하여 PCB 도면 작성
KiCAD 3D 모델링
● KiCAD의 3D 모델링 기능을 활용하여 보드제작
모습 예상 가능
보드 제작
저렴하게 PCB 제작하자. 시간을
희생하고 저렴하게..
수땜 작업을 위한 BOM 준비..
제발 보드가 동작되기를 기도
PCB 제작
● 국내에서도 저렴하게 제작가능(실제 제작은 중국)
● 2주 정도 소요됨
PCB 제작
● PCB 색상 지정 가능 (색상에 따른 비용은 차이 없음)
● 품질이 생각보다 나쁘지 않음
BOM 작성
● 제작시 필요한 부품 리스트와 구매처등 정리하여
구매함.
보드 수땜 제작
● 동작하길 기도하면서 정성것 땜하기
펌웨어 개발
펌웨어 개발환경 구축하기
부트로더 만들기
런처 만들기
에뮬레이터 포팅
할게 많다 ...
개발 환경
● 시리얼 통신을 이용한 펌웨어 다운로드
● MCU 내장 부트로더를 이용하여 JTAG 장비 없이
부트로더 다운로드
Memory Map 구성
● MCU의 Memory 사용 용도 설계
런처에서 에뮬레이터 실행 구조 설계
● Slot 방식의 펌웨어 실행
런처에서 에뮬레이터 실행 구조 설계
● Slot 방식의 펌웨어 실행
GUI 구현
● TouchGFX를 이용하여 에뮬레이터 실행을 위한 GUI
구현
부트로더 및 테스트
● 부트로더 구현하고 명령행 방식의 기능 테스트
펌웨어 구현
● 런처 펌웨어를 구현하고 부트로더를 통해서
업데이트 진행
에뮬레이터 포팅
● Slot에서 실행될 에뮬레이터를 포팅 진행
● 펌웨어 라이브러리 재사용할 수 있는 구조
3D 케이스 설계
원과 사각형만으로 대부분
간단한 케이스 정도 설계 가능.
역설계는 어렵다.
3D 프린터 출력을 고려한 설계
역설계
도면이 없는 부품들의 치수를 측정하여
도면을 새로 생성
FreeCAD로 케이스 설계
조립성을 고려하여 파트를 분할 하고
케이스를 설계 진행
Open형 케이스 설계
● 크기를 최소화 하고 MCU B/D 교체 가능
Closed형 케이스 설계
● 완전한 형태의 케이스, 두께가 조금 뚜꺼워짐
케이스 3D프린팅
시간이 오래 걸림.
메이커 스페이스 없었으면
어쩔뻔..
색상 고르는 재미
Open형 케이스 출력
● 전체 4시간의 출력 시간 소요
Closed형 케이스 출력
● 전체 10시간의 출력 시간 소요
자료 공유
진행했던 모든 자료 오픈
널리널리 퍼트리자.
펌웨어/하드웨어/Case등 자료 링크 공유
● https://cafe.naver.com/openrt/21725
펌웨어/하드웨어/Case등 자료 링크 공유
● https://cafe.naver.com/openrt/21725
펌웨어/하드웨어/Case등 자료 링크 공유
● https://cafe.naver.com/openrt/21725
제작 영상 만들기
간단히 아이폰의 iMovie로 편집
제작 영상 기록은 문서와는
또다른 느낌
제작 영상
자~ 그래서...
“게임기는 만들지 말고
구입하자”
25만원
25만원
OROCABOY3 제작기
Thank You
Ad

Recommended

강좌 개요
강좌 개요
chcbaram
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계
chcbaram
강좌 07 ARM 프로세서용 아두이노
강좌 07 ARM 프로세서용 아두이노
chcbaram
강좌 03 개발환경 구축
강좌 03 개발환경 구축
chcbaram
강좌 02 ARM 펌웨어 개발 환경 개요
강좌 02 ARM 펌웨어 개발 환경 개요
chcbaram
강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍
chcbaram
OpenCR 아두이노 펌웨어개발
OpenCR 아두이노 펌웨어개발
chcbaram
강좌 06 부트로더
강좌 06 부트로더
chcbaram
강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요
chcbaram
SkyRover Firmware
SkyRover Firmware
chcbaram
SiegeMode! C++ Advanced Project Ver
SiegeMode! C++ Advanced Project Ver
Seokmin No
아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작
chcbaram
RPG Maker와 Ruby로 코딩 시작하기 Day 1
RPG Maker와 Ruby로 코딩 시작하기 Day 1
Sunwoo Park
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9
종인 전
Skyrover project
Skyrover project
박 형일
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
Ubuntu Korea Community
2020년 5월 16일 개발 이야기 정리
2020년 5월 16일 개발 이야기 정리
Jay Park
Open Source and the License
Open Source and the License
Ubuntu Korea Community
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
MinGeun Park
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
Booseol Shin
Grunt.js Review
Grunt.js Review
Han Jung Hyun
PyCon 2017 예제로 살펴보는 PyQt
PyCon 2017 예제로 살펴보는 PyQt
덕규 임
Node and Express Configuration
Node and Express Configuration
jiseob kim
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
NDOORS
PyCon2018 PyQt로 만드는 웹 기반 어플리케이션 만들기
PyCon2018 PyQt로 만드는 웹 기반 어플리케이션 만들기
덕규 임
[14.03.17] KennyMaze
[14.03.17] KennyMaze
Hyeonmin Park
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
흥배 최
손으로 만드는 아두이노
손으로 만드는 아두이노
Kisoon Eom
아두이노기초 오픈강의1
아두이노기초 오픈강의1
성국 임

More Related Content

What's hot (20)

강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요
chcbaram
SkyRover Firmware
SkyRover Firmware
chcbaram
SiegeMode! C++ Advanced Project Ver
SiegeMode! C++ Advanced Project Ver
Seokmin No
아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작
chcbaram
RPG Maker와 Ruby로 코딩 시작하기 Day 1
RPG Maker와 Ruby로 코딩 시작하기 Day 1
Sunwoo Park
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9
종인 전
Skyrover project
Skyrover project
박 형일
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
Ubuntu Korea Community
2020년 5월 16일 개발 이야기 정리
2020년 5월 16일 개발 이야기 정리
Jay Park
Open Source and the License
Open Source and the License
Ubuntu Korea Community
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
MinGeun Park
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
Booseol Shin
Grunt.js Review
Grunt.js Review
Han Jung Hyun
PyCon 2017 예제로 살펴보는 PyQt
PyCon 2017 예제로 살펴보는 PyQt
덕규 임
Node and Express Configuration
Node and Express Configuration
jiseob kim
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
NDOORS
PyCon2018 PyQt로 만드는 웹 기반 어플리케이션 만들기
PyCon2018 PyQt로 만드는 웹 기반 어플리케이션 만들기
덕규 임
[14.03.17] KennyMaze
[14.03.17] KennyMaze
Hyeonmin Park
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
흥배 최
강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요
chcbaram
SkyRover Firmware
SkyRover Firmware
chcbaram
SiegeMode! C++ Advanced Project Ver
SiegeMode! C++ Advanced Project Ver
Seokmin No
아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작
chcbaram
RPG Maker와 Ruby로 코딩 시작하기 Day 1
RPG Maker와 Ruby로 코딩 시작하기 Day 1
Sunwoo Park
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9
종인 전
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
Ubuntu Korea Community
2020년 5월 16일 개발 이야기 정리
2020년 5월 16일 개발 이야기 정리
Jay Park
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
MinGeun Park
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
Booseol Shin
PyCon 2017 예제로 살펴보는 PyQt
PyCon 2017 예제로 살펴보는 PyQt
덕규 임
Node and Express Configuration
Node and Express Configuration
jiseob kim
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
NDOORS
PyCon2018 PyQt로 만드는 웹 기반 어플리케이션 만들기
PyCon2018 PyQt로 만드는 웹 기반 어플리케이션 만들기
덕규 임
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
흥배 최

Similar to OROCABOY3 제작기 (7)

손으로 만드는 아두이노
손으로 만드는 아두이노
Kisoon Eom
아두이노기초 오픈강의1
아두이노기초 오픈강의1
성국 임
Open source 3d printer 150513
Open source 3d printer 150513
박형권 (엘큐브웍스/대표)
Softbox review and quickstartguide-20180926
Softbox review and quickstartguide-20180926
봉조 김
3D 프린터와 아두이노
3D 프린터와 아두이노
Chiwon Song
Softbox arduino software education, softbox 소프트박스 제품소개서
Softbox arduino software education, softbox 소프트박스 제품소개서
봉조 김
Introduction to Arduino
Introduction to Arduino
Seokjun Kim
손으로 만드는 아두이노
손으로 만드는 아두이노
Kisoon Eom
아두이노기초 오픈강의1
아두이노기초 오픈강의1
성국 임
Softbox review and quickstartguide-20180926
Softbox review and quickstartguide-20180926
봉조 김
3D 프린터와 아두이노
3D 프린터와 아두이노
Chiwon Song
Softbox arduino software education, softbox 소프트박스 제품소개서
Softbox arduino software education, softbox 소프트박스 제품소개서
봉조 김
Introduction to Arduino
Introduction to Arduino
Seokjun Kim
Ad

OROCABOY3 제작기