이전 글에서 동작에 전반적인 내용을 적었습니다.
이 글에서는 만드는 과정에 대한 내용을 적어 보겠습니다.

우선 M5Stack(ESP32)나 Heltec LoRa V3(ESP32S3) 계열의 보드를 하나가 있어야 합니다.
(2제품은 LCD가 있지만 가지고 있는 보드가 없어도 동작은 합니다.)
M5Stack는 왼쪽면에 GROVE단자가 있습니다.
USB-C단자 쪽에서부터 SCL, SDA, 5V, GND로 배열되어 있습니다.

HY2.0-4P connector를 만들 수 있지만, Aliexpress에서 ‘M5Stack 공식 Grove2Dupont 변환 케이블 20cm(5쌍)“를 구매하셨도 됩니다.
Grove cable‘과 ‘QT turn male 150MM‘ 연결하여 하나로 만듭니다.

구매한 QWIIC 센서 모듈을 바로 연결할 수 있습니다.
하지만, 모든 센서가 QWIIC단자를 가지고 있지 않습니다.

이와 같은 형태로 센서 모듈을 연결할 경우, Daisy chain으로 구성할 수 없습니다.
여기서 몇가지 연결하는 형태를 보여 드리겠습니다.

왼쪽 Adapter모듈을 Aliexpress에서 구매하여 Grove연결하면, 2개를 사용할 수 있습니다..

많은 센서 모듈을 연결할 경우가 있습니다.

Adapter모듈을 핀 배열체 맞추거 붙이면, 3개까지 사용할 수 있는 모듈이 됩니다.
물론 이 Adapter에 센서의 i2c 라인을 직접 땜을 하여 사용하면, Daisy chain을 사용할 수도 있습니다.

이제 남은 것은 전원입니다.
M5Stack이 3.7V를 5V로 변환하여 내 보내는 전류량이 적어 문제가 될 수 있고, 3.3V로만 동작하는 센서가 있을 수 있습니다.
(물론 5V로만 동작하는 모듈도 있습니다.)
 ISO1540‘를 이용한 절연 형태의 Converter가 있습니다.

여기에 3.3V LDO를 연결하여 5V와 3.3V 또는 내부 전원을 사용한 것과 외부 전원을 사용하는 형태로 만들 수 있습니다.
(단점은 센서가 분리되어도 감지를 잘 못 하는 문제가 있습니다.)
** 5V와 3.3V를 혼용할 경우, i2c통신이 제대로 되지 않을 경우가 있습니다.

M5Stack인 경우, 뒤면의 센서 덮게(왼쪽 CORE2라고 적힌 부분)를 제거할 경우는 다른 연결방법이 있습니다.

여기에 3.3V, 5V 출력 단자가 있고, PA_SDA(G32), PA_SCL(G33)이 좌측에 있는 I2C단자와 연결되어 있습니다.
이 부분을 이용하는 방법도 있습니다.
G13(RXD2)는 먼지센서와 같이 UART 출력을 갖는 센서를 연결할 수도 있습니다.

pH센서를 만드는 방법에 대하여 설명하겠습니다.
pH센서 모듈은 대부분이 전압 출력(V-OUT)만 있습니다.
이를 ‘ADS1115‘에 연결하여 일체형으로 만듭니다.

VCC, GND, AIN0을 연결하시면 됩니다.
동작을 5V에서 사용하십시오.

끝으면 펌웨어 다운로드 명령어에 대하여 설명하겠습니다.
ESP32는 ESPtool_py가 있어야 합니다.
이 파일은 VSCode package에서 가져올 수 있습니다.
공통적으로 사용하는 부팅로더 이미지 ‘boot_app0.bin’로 있어야 합니다.
cmd창에서 ‘esptool.exe –chip esp32 –port COM6 –baud 921600 –before default_reset –after hard_reset write_flash -z –flash_mode dio –flash_freq 80m –flash_size 16MB 0x1000 bootloader.bin 0x8000 partitions.bin 0xe000 ….\esptool_py\boot_app0.bin 0x10000 firmware.bin’ 이런 식으로 명령어를 입력하면 다운로드가 됩니다.

간단하게 집에서 사용하는 Data-logger(MBL)를 만들어 보세요.

[2025-09-25 추가]
– Data-logger 중에 이 방식, 즉 데이터 수집과 전송이 분리되는 방식(Indicator type)과 수집하고 전송하는 방식(Real-time type)을 구분하는 방법을 소개합니다.
센서를 분해하여 보는 것이 제일 정확합니다.
또 다른 방법으로, 데이터 수집 주기(Interval)를 0.05초로 하고, 데이터를 수집하면, 0.4정도 일정한 값이 나온다면, Indicator type인 경우가 많습니다.
이는, 12-bit ADC 동작 특성상 일정한 값이 나올 가능성이 적기때문입니다.
(10-bit에서는 간혹 있습니다.)
이런 이유로 Over-sampling와 같은 필터를 사용하지만, 오차는 나옵니다.
– UART(먼지)센서 처럼 I2C가 아닌 다른 형태의 센서(Motion, Photo-gate…)를 추가할 수 있는지요?
YES, 추가 가능합니다.

By neoy2g