Skip to content

eren-terzioglu/c6_ulp_eink_nuttx

Repository files navigation

C6 ULP + EInk demo

This demo uses ULP core to control temperature sensor and e-ink display using I2C.

Used Peripherals + Protocols

  • I2C: Communication with temperature && humidity and e-ink display
  • ULP: Code that controls screen and sensor works on ULP core

Used devices

Connection Scheme

ESP32-C6 Screen Sensor VAMeter BS170
3v3 VDD VCC OUT+ NONE
5 SDA SDA NONE NONE
GND NONE GND OUT- S GATE
6 SCL SCL NONE NONE
4 RST NONE NONE NONE
5 BUSY NONE NONE NONE
3 NONE NONE NONE G GATE
NONE GND NONE NONE D GATE

Command to build

make -j distclean
./tools/configure.sh esp32c6-devkitc:nsh
kconfig-merge -m .config PATH_TO_EXAMPLE/c6_ulp_eink/configs/espressif &&
make olddefconfig -s -j
make -j bootloader && make ESPTOOL_BINDIR=./ -s -j
make download ESPTOOL_PORT=/dev/ttyUSB0 ESPTOOL_BAUD=921600 ESPTOOL_BINDIR=./

What Does it Do

When device boots up, it configures screen and sensor. After that sets the ULP code and then sleep. ULP core might wake up a bit late and throught that time screen shows all 0's. After ULP wakes up screen gets refreshed and then shows temperature and humidty value. After that LP-Core also sleeps and then wakes up to update values.

Current Consumption Checks

Testbench

  • Jumper on ESP32C6 removed, after that 3v3 and ground lines connected to the VAMeter (also Joulescope).

Values

  • Booting up: 19-23 mA
  • Deep Sleep + ULP awake: 1 mA
  • Screen Refresh: 2.3 - 2.5 mA
  • Deep Sleep + ULP sleep: 48-60 uA

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors