ThirdReality Temperature and Humidity Sensor Lite

Overview

The ThirdReality Temperature and Humidity Sensor Lite integrates the BL704L SoC from Bouffalo Lab. Internally, the device breaks out the pinout for JTAG, as well as UART and the bootstrap pin, making it perfectly suited for development. BL704L is a highly integrated 802.15.4 (Zigbee/Thread/Matter) and BLE combo chipset for IoT applications.

Hardware

Pins 17-20 are broken out on the JTAG header.

For more information about the BouffaloLab BL704L MCU and the device:

Supported Features

The 3r_tnh_sensor_lite board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.

3r_tnh_sensor_lite/bl704l10q2i target

Type

Location

Description

Compatible

CPU

on-chip

SiFive E24 Standard Core CPU1

sifive,e24

ADC

on-chip

Bouffalolab ADC1

bflb,adc

Cache

on-chip

Bouffalo Lab L1C cache control1

bflb,l1c

Clock control

on-chip

Generic fixed-rate clock provider31

fixed-clock

on-chip

Bouffalolab F32K clock1

bflb,f32k

on-chip

The BL70x/L DLL1

bflb,bl70x_l-dll

on-chip

Bouffalolab Root Clock Represents both FCLK and HCLK depending on their presence, which should be kept the same1

bflb,root-clk

on-chip

The BCLK clock, or peripheral clock Source -> / divider -> This Clock1

bflb,bclk

on-chip

BFLB Flash Clock Source -> divider -> CLK Only has settings for Bank 1 on BL61x (boot flash) at the moment1

bflb,flash-clk

on-chip

Bouffalolab BL70x(L) Clock Controller1

bflb,bl70x_l-clock-controller

Cryptographic accelerator

on-chip

Bouffalo Lab SEC Engine TRNG (True Random Number Generator)1

bflb,sec-eng-trng

on-chip

Bouffalo Lab SEC Engine SHA hardware accelerator1

bflb,sec-eng-sha

on-chip

Bouffalo Lab SEC Engine AES hardware accelerator1

bflb,sec-eng-aes

DMA

on-chip

Bouffalo Lab DMA1

bflb,dma

Flash controller

on-chip

Bouffalolab Flash Controller1

bflb,flash-controller

GPIO & Headers

on-chip

Bouffalo Lab BL60x and BL70x GPIO node1

bflb,bl60x_70x-gpio

I2C

on-chip

Bouffalolab I2C interface1

bflb,i2c

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

RISC-V CPU interrupt controller1

riscv,cpu-intc

on-chip

RISC-V Core Local Interrupt Controller CLIC Pre-Standard v0.91

sifive,clic-draft

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

MTD

on-board

Flash node1

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

Pin control

on-chip

Bouffalo Lab Pinctrl node1

bflb,pinctrl

Power management

on-chip

Bouffalolab Power Controller1

bflb,power-controller

PWM

on-chip

Bouffalolab PWM 11

bflb,pwm-1

on-chip

Bouffalolab PWM 21

bflb,pwm-2

Regulator

on-chip

Bouffalolab HBN SoC (CPU, Memory, etc) voltage regulator It is a LDO with a canonical voltage of 1.10v It has two modes, but they are only switched between when going into sleep mode and do not share settings areas1

bflb,soc-regulator

on-chip

Bouffalolab HBN AON (Always ON section) voltage regulator It is a LDO with a canonical voltage of 1.10v It has two modes, but they are only switched between when going into sleep mode and do not share settings areas1

bflb,aon-regulator

Sensors

on-board

Sensirion SHT4x humidity and temperature sensor1

sensirion,sht4x

Serial controller

on-chip

Bouffalo Lab UART1

bflb,uart

SPI

on-chip

Bouffalolab SPI1

bflb,spi

SRAM

on-chip

Generic on-chip SRAM1

mmio-sram

System controller

on-chip

BouffaloLab Efuse1

bflb,efuse

Timer

on-chip

RISC-V Machine Timer1

riscv,machine-timer

Watchdog

on-chip

Bouffalo Lab Watchdog Timer1

bflb,wdt

System Clock

The Device is configured to run at max speed (128MHz).

Serial Port

The 3r_tnh_sensor_lite board uses UART0 as default serial port.

Programming and Debugging

The 3r_tnh_sensor_lite board supports the runners and associated west commands listed below.

flash debug debugserver rtt attach
bflb_mcu_tool ✅ (default)
openocd ✅ (default)

Samples

  1. Build the Zephyr kernel and the Hello World sample application:

    # From the root of the zephyr repository
    west build -b 3r_tnh_sensor_lite samples/hello_world
    west flash
    
  2. Run your favorite terminal program to listen for output. Under Linux the terminal should be /dev/ttyUSB0. For example:

    $ screen /dev/ttyUSB0 115200
    

    Connection should be configured as follows:

    • Speed: 115200

    • Data: 8 bits

    • Parity: None

    • Stop bits: 1

    Then, press and release RST button

    *** Booting Zephyr OS build v4.3 ***
    Hello World! 3r_tnh_sensor_lite/bl704l10q2i
    

Congratulations, you have 3r_tnh_sensor_lite configured and running Zephyr.