Files
meshtastic_firmware/variants/nrf52840/ELECROW-ThinkNode-M8/platformio.ini
T
Thomas GöttgensGitHubclaude[bot] <41898282+claude[bot]@users.noreply.github.com>Claude Sonnet 4.6
597f6767b5 Add Elecrow ThinkNode M8 board support (thinknode_m8) (#11226)
* Add Elecrow ThinkNode M8 variant scaffold (thinknode_m8)

nRF52840 + SX1262 + 2.4" e-paper + ATGM336H-5NR32 GPS.
All pins resolved from ThinkNode_M8_V0.3.sch; cross-checked
against meshtastic/firmware#9181 (Elecrow V0.1 reference).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add Elecrow ThinkNode M8 board support (nRF52840/SX1262, 1.54in e-ink, ATGM336H GNSS, SC7A20, EC04 encoder)

* Address review: keep the stored backlight level out of blanking, match only the SC7A20 WHO_AM_I byte, and transfer detents atomically

* Use std::atomic for the press-and-turn detent counter so native builds compile

* Drop the ThinkNode M8 LED_BUILTIN redefinition that warned on every translation unit

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-30 15:59:35 +00:00

42 lines
1.8 KiB
INI

; First prototype eink/nrf52840/sx1262 device
[env:thinknode_m8]
custom_meshtastic_support_level = 1
custom_meshtastic_images = thinknode_m8.svg
custom_meshtastic_tags = Elecrow
custom_meshtastic_hw_model = 130
custom_meshtastic_hw_model_slug = THINKNODE_M8
custom_meshtastic_architecture = nrf52840
custom_meshtastic_display_name = Elecrow ThinkNode M8
custom_meshtastic_actively_supported = true
extends = nrf52840_base
board = ThinkNode-M8
board_check = true
debug_tool = jlink
# add -DCFG_SYSVIEW if you want to use the Segger systemview tool for OS profiling.
build_flags =
${nrf52840_base.build_flags}
-I variants/nrf52840/ELECROW-ThinkNode-M8
-D ELECROW_ThinkNode_M8
-D EINK_DISPLAY_MODEL=GxEPD2_154_D67
-D EINK_WIDTH=200
-D EINK_HEIGHT=200
-D USE_EINK_DYNAMICDISPLAY ; Enable Dynamic EInk
-D EINK_LIMIT_FASTREFRESH=20 ; How many consecutive fast-refreshes are permitted //20
-D EINK_LIMIT_RATE_BACKGROUND_SEC=10 ; Minimum interval between BACKGROUND updates //30
-D EINK_LIMIT_RATE_RESPONSIVE_SEC=1 ; Minimum interval between RESPONSIVE updates
-D EINK_BACKGROUND_USES_FAST ; (Optional) Use FAST refresh for both BACKGROUND and RESPONSIVE, until a limit is reached.
build_src_filter =
${nrf52_base.build_src_filter}
+<../variants/nrf52840/ELECROW-ThinkNode-M8>
lib_deps =
${nrf52840_base.lib_deps}
# renovate: datasource=git-refs depName=meshtastic-GxEPD2 packageName=https://github.com/meshtastic/GxEPD2 gitBranch=master
https://github.com/meshtastic/GxEPD2/archive/c7eb4c3c167cf396ef4f541cc5d4c6aa42f3c46b.zip
# renovate: datasource=custom.pio depName=nRF52_PWM packageName=khoih-prog/library/nRF52_PWM
khoih-prog/nRF52_PWM@1.0.1
# renovate: datasource=custom.pio depName=SensorLib packageName=lewisxhe/library/SensorLib
lewisxhe/SensorLib@0.3.4