ATtiny85는 제가 가장 좋아하는 프로그래밍 가능 소자 중 하나입니다. 이 8핀 소자에는 512바이트의 RAM, 8KB의 ROM, EEPROM 등 다양한 기능이 내장되어 있습니다. 가격도 매우 저렴하고, 아두이노를 처음 접하는 사람들에게도 훌륭한 선택입니다.
최근에 친구가 시작하는 데 도움을 요청했습니다. 선택지가 너무 많아서 좀 헷갈릴 수 있거든요. 게다가 최근 시스템 변화가 많아서 예전 튜토리얼 중 일부는 여전히 최신 정보이지만, 그렇지 않은 것도 많습니다.
HW-260 보드 사용법을 먼저 살펴보겠습니다. 저는 이 보드를 처음 봤는데, 굉장히 흥미로웠습니다. 그전에 다른 보드들을 간단히 살펴보겠습니다.

ATtiny85 보드는 꽤 오래전부터 사용되어 왔습니다. 약 2달러 정도면 ATtiny85 마이크로컨트롤러, USB 커넥터, 그리고 5볼트 전압 레귤레이터를 얻을 수 있습니다. 1번 핀에는 LED가 연결되어 있습니다. 전압 레귤레이터를 사용하면 외부 전원을 연결하여 전압을 5볼트로 낮출 수 있습니다. ATtiny85는 작동을 위해 부트로더가 필요합니다. 부트로더는 전원이 처음 켜졌을 때 USB 포트를 감시하여 장치 프로그래밍을 가능하게 합니다. USB 활동이 감지되지 않으면 부트로더는 사용자 코드 실행으로 넘어갑니다.
저는 Micronucleus 버전 2.5를 사용하고 있으며, 이 버전은 사용자 코드에 6586바이트의 메모리를 제공합니다. 대부분의 ATtiny85 보드에는 Micronucleus의 이전 버전(보통 1.6 또는 1.2)이 사전 설치되어 있으며, ATTinyCore를 사용하여 부트로더를 업데이트할 수 있습니다.
빨간색 보드는 Sparkfun Tiny Programmer입니다. 시중에는 다양한 ISP 프로그래머가 있지만, 저는 이 프로그래머가 매우 안정적이라고 생각하여 추천합니다. 이 튜토리얼에서는 이 보드를 사용하여 ATtiny85를 프로그래밍할 것입니다.
HW-260 보드는 알리익스프레스에서 45센트(미국 달러)에 구매할 수 있습니다. 상품 설명에는 보드 이름이 다음과 같이 표기되어 있습니다.
ATtiny13A/ATtiny25/ATtiny45/ATtiny85 프로그래밍 편집기용 플러그형 ATTINY 개발 보드, 마이크로 USB 전원 커넥터
앞서 언급했듯이, 저는 이 보드에 대해 들어본 적이 없었습니다. 그렇다면 이 보드는 정확히 무엇일까요? 프로그래머로 어떻게 사용할 수 있을지 이해가 되지 않았습니다. ISP로 사용하려면 보드에 프로세서가 있어야 할 텐데, Tiny85를 꽂고 프로그래밍할 수는 없으니까요. 그래서 Sparkfun Tiny Programmer를 사용하여 Tiny85에 깜빡이는 스케치를 업로드해 보았습니다. 1번 핀에 연결된 LED가 제대로 작동했습니다. 그래서 문득 Tiny85에 부트로더를 탑재해서 HW-260에 사용할 수 있지 않을까 하는 생각이 들었습니다. 알고 보니 가능했습니다. HW-260은 ATtiny85 소켓이 있는 ATTINY85와 사실상 동일합니다. 즉, HW-260을 ATTINY85처럼 사용할 수도 있고, 부트로더 없이 8KB의 ROM을 모두 사용할 수도 있습니다. HW-260은 실제로 프로그래밍하여 ISP로 사용할 수 있는 것입니다.
이 모든 작업은 아두이노 IDE에서 ATTinyCore 보드만 사용하여 수행할 수 있습니다.
용품
Arduino IDE가 설치되어 있어야 하며, 다음 항목들도 필요합니다.
- 저는 ISP 프로그래머입니다. Sparkfun Tiny Programmer를 사용하고 있습니다.
- HW-260 보드
- 하나 이상의 ATtiny85 칩
1단계: 아두이노 IDE 설정
아두이노 IDE를 구성합니다.

AttinyCore 지원을 제공하려면 환경 설정 페이지에 보드 관리자 URL을 설치한 다음 보드 관리자에 보드를 설치해야 합니다. 이 작업은 프로젝트 홈페이지 에 설명된 대로 수행할 수 있습니다 .
또한 환경 설정 페이지에서 "다음 동안 자세한 출력 표시:" 옆에 있는 두 개의 버튼을 참고하세요. 이 두 옵션을 활성화하면 아래 설명된 프로세스에 대한 매우 유용한 정보를 많이 볼 수 있습니다.
위 이미지에서처럼 보드 관리자에서 설치 상태를 확인할 수 있습니다.
2단계: ISP를 사용하여 ATtiny85 프로그래밍

ISP를 이용한 ATtiny85 프로그래밍
Sparkfun Tiny Programmer에 ATtiny85 칩을 넣으세요. 칩의 홈이 ISP 소켓 중앙의 홈과 정확히 일치하도록 맞춰야 합니다. ATtiny85는 클럭이 1MHz로 설정되어 출고됩니다. 첫 번째 단계는 클럭을 8MHz로 변경하는 것입니다.
이는 위의 첫 번째 이미지에 나와 있습니다. 프로그래머가 "신규 또는 1MHz 부품용"으로 설정되어 있음을 확인하십시오.
목록 맨 아래에 있는 "부트로더 굽기" 버튼을 클릭하세요. 아직 실제로 부트로더를 굽는 것은 아닙니다. 자세한 로깅이 활성화되어 있으면 로드되는 파일이 다음과 같다는 것을 확인할 수 있습니다.
.arduino15/packages/ATTinyCore/hardware/avr/1.5.2/bootloaders/empty/empty_all.hex
또는, 빈 부트로더일 수도 있습니다. 하지만 ATtiny85는 이제 8MHz 내부 클럭으로 설정되었습니다.
3단계: 초기 부트로더를 굽습니다

초기 부트로더를 굽습니다
이제 Sparkfun Tiny Programmer ISP에 ATtiny85 칩이 장착된 상태에서 위 그림과 같이 보드를 구성하십시오. 보드는 ATtiny85(DigiSpark 마이크로핵)이고, 클럭은 8MHz(USB 없음)입니다. 부트로더 굽기 방식은 "Fresh Install(ISP를 통해)"이며, 프로그래머는 "USBtinyISP"입니다. 이제 좀 더 빠른 설정으로 넘어가겠습니다.
이렇게 하면 설치됩니다:
arduino15/packages/ATTinyCore/hardware/avr/1.5.2/bootloaders/micronucleus/t85_entry_on_power_on_no_pullup_fast_exit_on_no_USB.hex
이제 ATtiny85 칩으로 넘어가겠습니다.
보통 이 과정의 마지막 단계에서 오류가 발생하지만, 최종적으로는 성공적으로 완료됩니다.
4단계: 최종 부트로더를 굽습니다

최종 부트로더를 굽습니다
이제 Sparkfun Tiny Programmer ISP에서 ATtiny85 칩을 꺼내 HW-260 위에 올려놓으세요. 이때도 홈의 방향이 올바른지 다시 한번 확인하세요.
위의 그림과 같이 보드를 구성하고 부트로더를 구워주세요. 그러면 다음이 설치됩니다.
.arduino15/packages/ATTinyCore/hardware/avr/1.5.2/bootloaders/micronucleus/upgrade-t85_entry_on_power_on_no_pullup_fast_exit_on_no_USB.hex
ATtiny85의 클럭을 16.5MHz로 설정했습니다.
이제 동일한 설정으로 스케치를 HW-260 보드에 업로드할 수 있습니다.
이 튜토리얼의 원문을 참고하시려면 언제나 늘 그렇듯이 이 링크를 따라가세요.
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
캐어랩