본문 바로가기

ESP32-C3

(20)
ESP32-C3 소비 전력 측정 - Deep Sleep Mode ESP32-C 가 간단하고 저렴한 무선 솔루션인데 상용의 제품에 많이 사용하지 않고 있다고 한다. 스펙상으로 ESP32 보다 슬립모드에서 소모 전류가 10uA에에서 5uA로 더 작다고 하는데 테스트 해보자 무선 솔루션의 실제 응용에서는 저전력이 중요한데 스펙상 전류소모가 높은것 같다. 실제로 BLE 구동후 전류를 측정해 보면 84mA로 측정이 된다. 다른 RF솔루션들의 전류 측정 결과와 비교해 보면 상당히 많은 전류가 소모되는것 같다. 슬립모드만 사용한다면 스펙상으로 5uA가 소모된다고 하는데... 슬립 모드를 테스트 해보자. 기본 동작 후 슬립모드로 빠져 있다 일정시간 마다 깨어나서 메모리 값을 증가시키는 예제를 작성해 보았다. #include //us 단위로 타이머 설정 #define uS_TO_S_..
[ESP32-C3 SSM] BLE HID Keyboard 테스트 라이브러리는 https://github.com/T-vK/ESP32-BLE-Keyboard 를 사용 하였다. BleKeyboard 예제를 조금 수정하여 동작 시켜보자 ESP32-C3 SSM EVM에서 실행 후 장치를 검색하면 검색은 되지만 연결이 되지 않는다. 디버깅 메시지는 장치를 찾을 수 없다고 출력이 된다. Starting BLE work! E (23994) BT_BTM: btm_proc_smp_cback received for unknown device E (53994) BT_BTM: btm_proc_smp_cback received for unknown device E (57024) BT_BTM: Device not found BLE 5.0이라 그런가? ESP-IDF로 테스트 해봐야 할 것 같다...
ESP32-C3 - BLE5 UART 테스트 ESP32-C3를 이용하여 BLE UART를 테스트 해보자 기본 펌웨어 다운로드 하고 장치 검색하면 설정한 장치로 인식이 된다 // Create the BLE Device BLEDevice::init("ECPC3 UART"); BLE UART 초기화 #define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" // UART service UUID #define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E" #define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E" //1)BLE Device를 생성하고 BLEDevice::init(..
ESP32-C3 - BLE CUSTOM SERVICE 테스트 ESP32-C3의 가장 큰 장점으로 BLE 5.0이 있다. 저렴한 가격에 소형의 BLE 칩으로 사용하면 좋을것 같다. BLE 예제를 테스트 해보자 가장 간단한 CUSTOM SERVICE 코드로 테스트 했다. 라이브러리가 잘되어 있어 아주 간단하게 BLE 구현이 가능하다. #include #include #include // See the following for generating UUIDs: // https://www.uuidgenerator.net/ #define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" #define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" class MyCallbac..
ESP32-C3 SSM EVM - USB (USB CDC) ESP32-C3의 또다른 특징중 하나로 USB지원 한다. 처음에는 USB 풀스펙을 지원하는줄 알았는데 자세히 보면 USB Serial/JTAG 만 지원 한다고 한다. 약간 아쉬움이 있긴 한데 아무튼 ESP32-C3의 USB Seral(USB CDC) 테스트를 해 보자. ESP32-C3 메뉴에서 USB CDC On Boot 를 Enabled로 설정해야 한다. 이후 Serial 은 USB CDC로 출력 하게 된다. Arduino main 코드를 보면 USB 옵션에 따라 USB CDC가 Serial 으로 설정이 되는것을 확인 할 수 있다. extern "C" void app_main() { #if ARDUINO_USB_CDC_ON_BOOT Serial.begin(); #endif #if ARDUINO_USB_..
ESP32-C3 SSM EVM - 성능 측정 ESP32-C3는 기존 ESP32 시리즈(240Mhz)와 달리 160Mhz 32-bit RISC-V core 를 탑제하고 있다. 성능보다는 가격과 소비전력에 장점을 두고 있지 않을까.. 아무튼 기존 ESP32 Arduino 코드의 성능과 비교해서 ESP32-C3 의 성능 테스트를 해 두면 좋을것 같다. 우선 CPU Frequency를 160Mhz 로 설정해서 GPIO 코글 테스트를 해 보자 Arduino에서 제공하는 GPIO 제어 함수로 테스트 해 보면 #define LED_PIN1 3 void setup() { pinMode(LED_PIN1, OUTPUT); } void loop() { digitalWrite(3, 0); digitalWrite(3, 1); } 2.3us로 상당히 느리다. ESP32-C..
ESP32-C3 SSM EVM - 개발환경 설정 (Arduino 만들기) ESP32-C3 도 Arduino 개발 환경에서 테스트 가능하다. 다만 ESP32 Board Manager 버전이 2.0이상이어야 한다. Board Manager 에서 "ESP32C3 Dev Module"을 선택한다. 간단한 코드를 작성하고 다운로드 하면 정상적인 다운로드가 된다. 다운로드 까지는 잘 동작 하는데... 실행시 계속 리셋이 발생한다. rst:0x8 (TG1WDT_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT) Saved PC:0x40380082 SPIWP:0xee mode:DIO, clock div:1 load:0x3fcd6100,len:0x484 load:0x403ce000,len:0x90c load:0x403d0000,len:0x2398 SHA-256 compar..
ESP32-C3 SSM EVM 보드 제작 ESP32 시리즈중 WiFi + BLE Soc ESP32-C3 칩셋이 저렴하게 판매 되고 있어 표준 핀맵의 SSM Type 으로 제작 해 보았다. 특히 ESP32-C3FH4는 4MB 플래시 메모리 까지 포함되어 있어 저렴한 MCU로 사용해도 좋을것 같다. Core는 ESP32와 달리 RISC-V 단일 코어라 성능은 조금 문제가 될수 있지만 WiFi, BLE 5.0, USB가 내장 되어 있어 가격대비 성능으로 보면 정말 좋은 칩인것 같다. (여기서 USB는 Serial,JTAG 기능만 한다고 하니 다른용도로 쓰기는 어려울것 같다.)

반응형