NU-MAKERS

자유로운 창작, 무한한 가능성

본격 양산 연계 시제품 개발 플랫폼이자 커뮤니티

더 알아보기

행사 영상

우리의 미션

자유로운 창작

정해진 틀 없이 자유로운 주제와 도구로 아이디어를 실현합니다

양산 연계

시제품부터 양산까지, 실제 사업화를 목표로 합니다

메이커 커뮤니티

누코드 DK로 함께 만들고 성장하는 메이커들의 공간

커뮤니티 소개

NU-MAKERS는?

대한민국 누코드의 메이커 커뮤니티로, 한국에서 만든 모듈과 초보자용/전문가용 DK(Development Kit)로 자유로운 프로젝트를 진행하는 양산 연계 시제품 개발 플랫폼입니다.

우리가 다른 점

  • 자유로운 주제 - 정해진 틀 없이 원하는 것을 만듭니다
  • 자유로운 도구 - 누코드 DK를 포함한 다양한 도구 사용 가능
  • 결과물 중심 - 과정보다 결과로 평가합니다
  • 사업화 연계 - 양산까지 고려한 실전 프로젝트

누코드 공식 보드

NU40 DK
NU40 EVK
NU87 DK
NU54 DK
NU54 EVK

아두이노 IDE 호환

결과물 사례

NU-MAKERS 커뮤니티가 만들어낸 혁신적인 프로젝트들

스마트 IoT 디바이스

NU40 DK를 활용한 실시간 데이터 수집 및 모니터링 시스템

IoT NU40 DK

홈 오토메이션

NU54 EVK 기반 스마트홈 통합 제어 시스템

스마트홈 NU54 EVK

자율주행 로봇

NU87 DK로 구현한 장애물 회피 자율주행 플랫폼

로봇 NU87 DK

헬스케어 모니터

NU40 EVK를 활용한 생체신호 측정 웨어러블 디바이스

헬스케어 NU40 EVK

스마트 농업

NU54 DK 기반 자동 환경 제어 시스템

농업 NU54 DK

무선 센서 네트워크

여러 NU 보드를 활용한 대규모 센서 네트워크 구축

네트워크 Multiple DK

공식 보드 사용방법

누코드 DK/EVK 시작하기

1

아두이노 IDE 설치

공식 아두이노 웹사이트에서 아두이노 IDE 2.x 버전을 다운로드하고 설치합니다. (Windows, Mac, Linux 모두 지원)

아두이노 IDE 다운로드
2

환경설정에서 보드 매니저 URL 추가

아두이노 IDE를 실행하고 파일 > 환경설정(Preferences) 메뉴를 엽니다. "추가 보드 매니저 URL" 필드에 아래 URL을 입력하세요.

https://raw.githubusercontent.com/NUCODE-TECH/Arduino/main/package_nucode_index.json

💡 팁: 여러 URL이 있을 경우 쉼표(,)로 구분하거나 창 옆 버튼을 눌러 추가할 수 있습니다.

3

보드 매니저에서 NUCODE 보드 설치

도구 > 보드 > 보드 매니저 메뉴를 엽니다. 검색창에 "nucode"를 입력하고 NUCODE by NUCODE를 찾아 "설치" 버튼을 클릭합니다.

검색: nucode → NUCODE by NUCODE 설치

⏳ 설치에 몇 분 정도 소요될 수 있습니다.

4

보드 및 포트 선택

NU 보드를 USB로 PC에 연결합니다. 도구 > 보드 메뉴에서 사용하는 NUCODE 보드를 선택하고, 도구 > 포트에서 연결된 COM 포트를 선택합니다.

🔌 포트가 보이지 않는다면 드라이버 설치를 확인하세요.

5

예제 코드 업로드 및 테스트

파일 > 예제 > 01.Basics > Blink를 열어 LED 점멸 예제를 실행합니다. 업로드 버튼(→)을 클릭하여 보드에 업로드합니다.

파일 > 예제 > 01.Basics > Blink

✅ 보드의 LED가 1초 간격으로 깜박이면 성공입니다!

6

추가 정보 및 문제 해결

더 자세한 설치 가이드와 문제 해결 방법은 NUCODE 공식 위키를 참고하세요.

NUCODE 위키 보기

공식 보드 레퍼런스 코드

누코드 DK/EVK 예제 코드 모음

LED Blink

기본 LED 점멸 예제 - 모든 NU 보드에서 사용 가능

// LED Blink Example for NU Boards
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // LED ON
  delay(1000);                      // 1초 대기
  digitalWrite(LED_BUILTIN, LOW);   // LED OFF
  delay(1000);                      // 1초 대기
}

Serial Communication

시리얼 통신 기본 예제

// Serial Communication Example
void setup() {
  Serial.begin(115200);
  Serial.println("NU-MAKERS Board Ready!");
}

void loop() {
  if (Serial.available()) {
    String input = Serial.readStringUntil('\n');
    Serial.print("Received: ");
    Serial.println(input);
  }
}

Analog Sensor Reading

아날로그 센서 값 읽기

// Analog Sensor Reading
const int sensorPin = A0;

void setup() {
  Serial.begin(115200);
}

void loop() {
  int sensorValue = analogRead(sensorPin);
  float voltage = sensorValue * (3.3 / 4095.0);
  
  Serial.print("Sensor Value: ");
  Serial.print(sensorValue);
  Serial.print(" | Voltage: ");
  Serial.println(voltage);
  
  delay(500);
}

Temperature Sensor (DHT)

DHT 온습도 센서 예제

// DHT Sensor Example (requires DHT library)
#include "DHT.h"

#define DHTPIN 4
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  dht.begin();
}

void loop() {
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();
  
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.print("°C | Humidity: ");
  Serial.print(humidity);
  Serial.println("%");
  
  delay(2000);
}

WiFi Connection

WiFi 연결 예제 (NU40/NU54 EVK)

// WiFi Connection Example
#include 

const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

void setup() {
  Serial.begin(115200);
  
  WiFi.begin(ssid, password);
  Serial.print("Connecting to WiFi");
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  Serial.println("\nConnected!");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  // Your code here
}

BLE Beacon

Bluetooth Low Energy 비콘 예제

// BLE Beacon Example
#include 
#include 
#include 

#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b"
#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8"

void setup() {
  Serial.begin(115200);
  
  BLEDevice::init("NU-MAKERS Device");
  BLEServer *pServer = BLEDevice::createServer();
  BLEService *pService = pServer->createService(SERVICE_UUID);
  
  BLECharacteristic *pCharacteristic = pService->createCharacteristic(
    CHARACTERISTIC_UUID,
    BLECharacteristic::PROPERTY_READ |
    BLECharacteristic::PROPERTY_WRITE
  );
  
  pCharacteristic->setValue("Hello from NU-MAKERS!");
  pService->start();
  
  BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
  pAdvertising->addServiceUUID(SERVICE_UUID);
  pAdvertising->start();
  
  Serial.println("BLE device is ready!");
}

void loop() {
  delay(1000);
}

Multi-Task with FreeRTOS

FreeRTOS를 활용한 멀티태스킹

// FreeRTOS Multi-Task Example
void taskBlink(void *pvParameters) {
  pinMode(LED_BUILTIN, OUTPUT);
  while(1) {
    digitalWrite(LED_BUILTIN, HIGH);
    vTaskDelay(500 / portTICK_PERIOD_MS);
    digitalWrite(LED_BUILTIN, LOW);
    vTaskDelay(500 / portTICK_PERIOD_MS);
  }
}

void taskSerial(void *pvParameters) {
  while(1) {
    Serial.println("Task is running...");
    vTaskDelay(1000 / portTICK_PERIOD_MS);
  }
}

void setup() {
  Serial.begin(115200);
  
  xTaskCreate(taskBlink, "Blink Task", 1024, NULL, 1, NULL);
  xTaskCreate(taskSerial, "Serial Task", 2048, NULL, 1, NULL);
}

void loop() {
  // Empty - tasks handle everything
}

Deep Sleep Mode

저전력 딥슬립 모드 활용

// Deep Sleep Mode Example
#define SLEEP_TIME 60  // seconds

void setup() {
  Serial.begin(115200);
  delay(1000);
  
  Serial.println("Going to sleep for " + String(SLEEP_TIME) + " seconds");
  
  esp_sleep_enable_timer_wakeup(SLEEP_TIME * 1000000ULL);
  esp_deep_sleep_start();
}

void loop() {
  // Never reached due to deep sleep
}

파트너 & 후원사

NU-MAKERS와 함께하는 파트너사들

누코드
Nordic Semiconductor
AVNET
TE Connectivity
한국투자 액셀러레이터
긱블
글림스
숭실대학교
서울과학기술대학교 창업지원단
샘플피씨비