Arduino Nano 33 BLE Sense

Uyarı

Bu kart artık desteklenmemektedir. Arduino Nano 33 BLE Sense için son OpenMV aygıt yazılımı (firmware) sürümü 4.7.0‘dır. Bu hedef için başka aygıt yazılımı güncellemesi, hata düzeltmesi veya yeni özellik yayımlanmayacaktır. Aşağıdaki bilgiler 4.7.0 veya öncesini çalıştıran kullanıcılar için korunmuştur.

Arduino Nano 33 BLE Sense, Nordic Semiconductor nRF52840 çevresinde kurulu 45 × 18 mm Arduino‑Nano form faktörlü bir karttır — 64 MHz’de çalışan FPU’lu tek bir ARM Cortex‑M4, 256 KB dahili SRAM ve 1 MB dahili flash bellek içerir. BLE, yonga üzerindeki radyodan gelir ve kart 9 eksenli bir IMU, bir LPS22HB barometre, bir HTS221 / HS3003 sıcaklık / nem sensörü, bir APDS9960 ortam ışığı / renk / yakınlık / hareket sensörü ve bir MP34DT05 PDM mikrofonu taşır. OpenMV aygıt yazılımı bunların hepsini MicroPython’dan sürer.

Arduino Nano 33 BLE Sense

Tam veri sayfası, fotoğraflar ve boyutlar için Arduino Nano 33 BLE Rev2 ürün sayfasına bakın.

Öne çıkanlar

  • Nordic nRF52840 64 MHz’de FPU’lu Cortex‑M4, 256 KB dahili SRAM ve 1 MB dahili flash bellek.

  • Yonga üzerindeki radyo ve Nordic SoftDevice s140 aracılığıyla Bluetooth LE 5.0.

  • 9 eksenli IMU — Rev 1’de LSM9DS1, Rev 2’de BMI270 + BMM150. Donmuş imu sürücüsü açılışta her ikisini de yoklar.

  • LPS22HB barometre, HTS221 / HS3003 sıcaklık ve nem sensörü, APDS9960 ortam ışığı / renk / yakınlık / hareket sensörü ve MP34DT05 PDM mikrofonu.

  • Güç, programlama ve CDC REPL için Micro USB konektörü.

  • Standart Nano başlıklarında 22 kullanıcı G/Ç piniTX/RX, D2D13 (dijital), A0A7 (analog).

Pin çıkışı

Arduino Nano 33 BLE Sense Pin Çıkışı

Pin referansı

Pin adı

Referans

İşlev

TX

3.3 V

UART1 TX

RX

3.3 V

UART1 RX

D2

3.3 V

PWM

D3

3.3 V

PWM

D4

3.3 V

PWM

D5

3.3 V

PWM

D6

3.3 V

PWM

D7

3.3 V

PWM

D8

3.3 V

PWM

D9

3.3 V

PWM

D10

3.3 V

PWM

D11

3.3 V

PWM / SPI0 MOSI

D12

3.3 V

PWM / SPI0 MISO

D13

3.3 V

PWM / SPI0 SCK

A0

3.3 V

ADC / PWM

A1

3.3 V

ADC / PWM

A2

3.3 V

ADC / PWM

A3

3.3 V

ADC / PWM

A4 / I2C_SDA

3.3 V

ADC / PWM / I2C0 SDA

A5 / I2C_SCL

3.3 V

ADC / PWM / I2C0 SCL

A6

3.3 V

ADC / PWM

A7

3.3 V

ADC / PWM

RESET

3.3 V

sıfırlamak için kart üzerindeki RESET düğmesine basın veya GND’ye çekin

LED_BUILTIN

D13 üzerindeki turuncu kullanıcı LED’i

LED_RED

RGB LED kırmızı kanalı (aktif düşük)

LED_GREEN

RGB LED yeşil kanalı (aktif düşük)

LED_BLUE

RGB LED mavi kanalı (aktif düşük)

Uyarı

Nano 33 BLE Sense’in G/Ç pinleri yalnızca 3.3 V‘tur — 5 V toleranslı değildir. Bunlara 5 V uygulamak nRF52840’a zarar verir.

Güç pinleri

  • VIN — 4.5 – 21 V giriş. Kartı, kart üzerindeki regülatör aracılığıyla besler. Ayrıca USB 5 V hattından bir diyot üzerinden beslenir, böylece USB ve VIN birbirlerini geri sürmeden aynı anda bulunabilir.

  • +5V — varsayılan olarak bağlı değildir.

  • +3V3 — 3.3 V regülatör çıkışı.

  • AREF — analog referans pini. Bu kartta nRF52840’a bağlı değildir — ADC her zaman 3.3 V‘a referanslanır.

  • GND — ortak topraklama.

Nano 33 BLE Sense iki yoldan biriyle beslenebilir:

  • Micro USB — kart üzerindeki regülatöre 5 V sağlar.

  • VIN pini — regüle edilmiş 4.5 – 21 V besleme uygulayın.

Not

Kartın altında VUSB olarak etiketlenmiş bir lehim köprüsü, +5V‘i USB 5 V hattına bağlar. +5V başlık pininin gerçekten 5 V taşıması için onu kapatın.

Not

Kart üzerindeki 4.5–21 V anahtarlamalı regülatörün çıkışındaki normalde kapalı bir lehim köprüsü, regülatörü devre dışı bırakmak için kesilebilir, böylece kart +3V3 üzerindeki harici bir 3.3 V beslemeden doğrudan beslenebilir.

Kurtarma ve hata ayıklama pinleri

  • RESET — hem açıkta bir pad hem de kartın üst tarafında nRF52840’ın sıfırlama hattına bağlı anlık bir RESET düğmesi. Sıfırlamak için GND’ye çekin veya düğmeye basın.

Nano 33 BLE Sense, Arduino’nun önyükleyicisine (bootloader) girmek için Arduino’nun standart çift dokunuş sıfırlamasını kullanır. RESET düğmesine hızlıca iki kez basın — kart önyükleyici moduna girer ve OpenMV IDE yeni bir aygıt yazılımı görüntüsü yazabilir.

nRF52840’ın SWD sinyalleri, kartın arkasındaki kaplamalı padlerde açığa çıkarılmıştır. Tüm hata ayıklama sinyalleri 3.3 V’a referanslıdır.

Kart üzerindeki çevre birimleri

LED’ler

Nano 33 BLE Sense’in bir kullanıcı RGB LED’i vardır — serigrafili LED_RED, LED_GREEN ve LED_BLUE kanalları aracılığıyla sürülür — ayrıca D13 üzerinde ayrı bir turuncu LED_BUILTIN bulunur. Dördü de machine.LED aracılığıyla yazılımla kontrol edilebilir:

from machine import LED

LED("LED_RED").on()
LED("LED_GREEN").on()
LED("LED_BLUE").on()
LED("LED_BUILTIN").on()

Kart üzerindeki ayrı bir yeşil güç LED’i, +3.3 V hattı çalıştığında her zaman yanar ve kullanıcı tarafından kontrol edilemez.

Kamera sensörü

Nano 33 BLE Sense üzerindeki OpenMV aygıt yazılımı, OmniVision OV7670 paralel CMOS sensörünü destekler. Kartın kart üzerinde bir görüntü sensörü yoktur — aşağıda listelenen serigrafili başlık pinlerine bir OV7670 modülü bağlayın ve onu csi — kamera sensörleri modülü aracılığıyla sürün:

import csi

cam = csi.CSI()
cam.reset()
cam.pixformat(csi.RGB565)
cam.framesize(csi.QVGA)
cam.snapshot(time=2000)       # let auto‑exposure settle

while True:
    img = cam.snapshot()

Not

OV7670, 14 pin alır. Aygıt yazılımı bunları şu şekilde bağlar:

Sensör sinyali

Nano 33 BLE Sense pini

D0

D10

D1

TX

D2

RX

D3

D2

D4

D3

D5

D5

D6

D6

D7

D4

HSYNC

A1

VSYNC

D8

PXCLK

A0

MXCLK

D9

POWER

A3

RESET

A2

SCL

A5 (I²C 0)

SDA

A4 (I²C 0)

OV7670’in I²C kontrol veri yolu, A5/A4 üzerinde açığa çıkarılan aynı harici I²C 0‘dır. Sensör 7 bitlik 0x21 adresinde bulunur — kamera bağlıyken o veri yolundaki kullanıcı aygıtları bu adresten kaçınmalıdır.

IMU

9 eksenli IMU, kartın LSM9DS1 (Rev 1) mı yoksa BMI270 + BMM150 (Rev 2) mi olduğunu otomatik algılayan ve birleşik bir imu.IMU sınıfı sunan donmuş imu modülü aracılığıyla açığa çıkarılır. Sensörler dahili I²C 1 veri yolunda (P14 / P15) bulunur:

import time
from machine import I2C, Pin
from imu import IMU

bus = I2C(1, scl=Pin("P15"), sda=Pin("P14"))
sensor = IMU(bus)

while True:
    print(sensor.accel())     # (x, y, z) in g
    print(sensor.gyro())      # (x, y, z) in deg/s
    print(sensor.magnet())    # (x, y, z) magnetometer
    time.sleep_ms(100)

Dokunma algılama veya FIFO gibi özelliklere doğrudan erişim için, eşleşen donmuş sürücüyü (lsm9ds1, bmi270 veya bmm150) içe aktarın ve onu aynı veri yolunda örnekleyin.

Ortam sensörleri

Barometre (LPS22HB) ve sıcaklık / nem sensörü (Rev 1’de HTS221, Rev 2’de HS3003), IMU ile aynı dahili I²C 1 veri yolunu paylaşır:

import time
from machine import I2C, Pin
from lps22h import LPS22H
from hts221 import HTS221

bus = I2C(1, scl=Pin("P15"), sda=Pin("P14"))
lps = LPS22H(bus)
try:
    hts = HTS221(bus)
except OSError:
    from hs3003 import HS3003
    hts = HS3003(bus)

while True:
    print("pressure:    %.2f hPa" % lps.pressure())
    print("temperature: %.2f C"   % lps.temperature())
    print("humidity:    %.2f %%"  % hts.humidity())
    time.sleep_ms(500)

Işık / renk / yakınlık / hareket

Broadcom APDS9960, aynı dahili I²C 1 veri yolunda bulunur ve ortam ışığı, RGB renk, yakınlık ve hareket algılama sağlar:

import time
from machine import I2C, Pin
from apds9960 import uAPDS9960 as APDS9960

bus = I2C(1, scl=Pin("P15"), sda=Pin("P14"))
apds = APDS9960(bus)
apds.enableLightSensor()

while True:
    print("ambient light:", apds.readAmbientLight())
    time.sleep_ms(250)

Mikrofon

Kart üzerindeki MP34DT05 PDM mikrofonu, audio — Audio Modülü aracılığıyla yakalanır. Her arabellek, DSP için ulab/numpy‘a beslenmeye hazır, işaretli 16 bitlik PCM bytearray olarak gelir:

import audio
from ulab import numpy as np

def loudness(pcmbuf):
    samples = np.array(np.frombuffer(pcmbuf, dtype=np.int16), dtype=np.float)
    rms = np.sqrt(np.mean(samples ** 2))
    if rms > 10000:
        print("Loud!", int(rms))

audio.init(channels=1, frequency=16000, gain_db=24)
audio.start_streaming(loudness)

while True:
    pass

Bluetooth

nRF52840’ın Bluetooth LE 5.0 radyosu Nordic SoftDevice s140 üzerinde çalışır ve eski ubluepy modülü aracılığıyla açığa çıkarılır — modern bluetooth / aioble — Asenkron BLE API’leri bu derlemede etkin değildir. Hem peripheral (GATT sunucusu, ilan etme) hem de central (GAP gözlemci / tarayıcı + bağlanma) rolleri kullanılabilir.

Tek bir Environmental Sensing servisi ve bildirilebilir bir sıcaklık özelliği ile peripheral olarak ilan edin — event_handler geri çağırması (callback) bağlantı, bağlantı kesilmesi ve CCCD yazmalarında tetiklenir:

from ubluepy import Service, Characteristic, UUID, Peripheral, constants
from machine import LED

def event_handler(event_id, handle, data):
    if event_id == constants.EVT_GAP_CONNECTED:
        LED("LED_GREEN").on()
    elif event_id == constants.EVT_GAP_DISCONNECTED:
        LED("LED_GREEN").off()
        periph.advertise(device_name="Nano 33", services=[svc])

svc = Service(UUID("181A"))                          # Environmental Sensing
char = Characteristic(UUID("2A6E"),                  # Temperature
                      props=Characteristic.PROP_NOTIFY | Characteristic.PROP_READ,
                      attrs=Characteristic.ATTR_CCCD)
svc.addCharacteristic(char)

periph = Peripheral()
periph.addService(svc)
periph.setConnectionHandler(event_handler)
periph.advertise(device_name="Nano 33", services=[svc])

Central rolünde yakındaki ilan veren aygıtları tarayın:

from ubluepy import Scanner

for entry in Scanner().scan(1_000):                  # 1 second window
    print(entry.addr(), entry.rssi(), "dBm")

Tam API için ubluepy referansına bakın — UUID, Service, Characteristic, Peripheral, Scanner, ScanEntry ve constants ad alanı.

Veri yolu referansı

GPIO

Serigrafili pinlerden herhangi birini okumak veya sürmek için machine.Pin kullanın. Çıkışlar 3.3 V CMOS’tur — pin başına 15 mA, tüm GPIO’lar genelinde toplam 25 mA.

from machine import Pin

out = Pin("D2", Pin.OUT)
out.on()
out.off()
out.value(1)

inp = Pin("D3", Pin.IN, Pin.PULL_UP)
print(inp.value())

Herhangi bir giriş pini, kenar geçişlerinde bir kesme de tetikleyebilir:

def handler(pin):
    print("triggered:", pin)

Pin("D3", Pin.IN, Pin.PULL_UP).irq(
    handler, Pin.IRQ_FALLING | Pin.IRQ_RISING,
)

UART

Veri yolu

TX

RX

UART1

TX

RX

machine.UART ile serigrafi adları TX/RX‘i kullanın:

from machine import UART

uart = UART(1, baudrate=115200)
uart.write("hello")
uart.read(5)

I²C

Veri yolu

SDA

SCL

I2C0

I2C_SDA / A4

I2C_SCL / A5

I2C1

P14

P15

Her iki veri yolunun da pinlerinin machine.I2C‘ye açıkça geçirilmesi gerekir:

from machine import I2C, Pin

bus0 = I2C(0, scl=Pin("I2C_SCL"), sda=Pin("I2C_SDA"), freq=400_000)
bus0.scan()

bus1 = I2C(1, scl=Pin("P15"), sda=Pin("P14"), freq=400_000)
bus1.scan()

Not

Veri yolu 1, P14/P15 üzerindeki dahili sensör veri yoludur (kullanıcı başlıklarında değil) — IMU’ya, barometreye, ortam sensörüne ve APDS9960’a hizmet eder. Donmuş sensör sürücüleri onu doğrudan kullanır; kullanıcı kodu da onu tarayabilir ancak adresler kart üzerindeki sensörler tarafından zaten alınmıştır.

SPI

Veri yolu

MOSI

MISO

SCK

CS

SPI0

D11

D12

D13

D10

CS hattı SPI çevre birimi tarafından sürülmez — D10‘u bir çıkış olarak yapılandırın ve aktarım sırasında onu elle değiştirin:

from machine import SPI, Pin

spi = SPI(0, baudrate=10_000_000)
cs = Pin("D10", Pin.OUT, value=1)   # CS is not driven by the SPI peripheral

cs.value(0)
spi.write(b"hello")
cs.value(1)

Not

D13 aynı zamanda turuncu LED_BUILTIN görevi görür — bu veri yolunda SPI sürmek, LED’i veri yolu saatine göre yanıp söndürür.

ADC

nRF52840’ın A0–A7 üzerinde açığa çıkarılan, tümü 3.3 V’a referanslı sekiz adet 12 bitlik ADC kanalı (SAADC) vardır — read_u16, pindeki 0–3.3 V aralığında 0–65535 döndürür. Kartın AREF pini bağlı değildir, bu nedenle referans her zaman 3.3 V’tur:

from machine import ADC
import time

adc = ADC("A0")
while True:
    voltage = adc.read_u16() * 3.3 / 65535
    print(voltage)
    time.sleep_ms(100)

PWM

nRF52840, her biri dört kanal süren dört PWM çevre birimi (PWM0PWM3) açığa çıkarır, toplamda 16 donanım PWM yuvası eder. Sabit işlevli portların aksine, çevre birimleri GPIOTE matrisi üzerinden yönlendirilir — herhangi bir GPIO bir PWM çıkışı olabilir, bu nedenle pin‑yuva eşlemesi yoktur. Bu esnekliğin bedeli, silikona gömülü iki kısıttır:

  • Bir modül içindeki dört kanalın tümü tek bir periyodu/frekansı paylaşır.

  • Her kanalın kendi görev döngüsü ve polaritesi vardır.

Kavramsal olarak 16 yuva şöyle görünür:

Modül

Knl 0

Knl 1

Knl 2

Knl 3

PWM0

görev döngüsü

görev döngüsü

görev döngüsü

görev döngüsü

PWM1

görev döngüsü

görev döngüsü

görev döngüsü

görev döngüsü

PWM2

görev döngüsü

görev döngüsü

görev döngüsü

görev döngüsü

PWM3

görev döngüsü

görev döngüsü

görev döngüsü

görev döngüsü

Her satır bir frekansta çalışır; bir satırdaki dört hücrenin her biri, kendi görev döngüsüyle bağımsız olarak seçilmiş bir pini sürer. Farklı satırlar tamamen farklı frekanslarda çalışabilir.

Herhangi bir serigrafili pini (veya kart üzerindeki LED’leri) machine.PWM aracılığıyla sürün:

from machine import Pin, PWM

pwm = PWM(Pin("D3"), freq=1_000, duty_u16=32768)

Uyarı

Otomatik tahsis, çağrı başına bütün bir modülü tüketir. device=/channel= anahtar argümanları olmadan bir PWM oluşturduğunuzda, sürücü ilk boş modülü kapar ve pininizi yalnızca onun kanal 0‘ına bağlar. O modülün geri kalan üç kanalı boşta kalır ve yalnızca açık device=/channel= aracılığıyla erişilebilir. Bu, yardımsız PWM(Pin(...)) çağrılarını, sürücü ValueError: all PWM devices in use hatasını vermeden önce dört ile sınırlar — teknik olarak on iki yuva hâlâ boş olsa bile.

Dörtten fazla PWM kullanmak veya kasıtlı olarak pinler arasında bir frekansı paylaşmak için device (0–3) ve channel (0–3) geçirin:

# Two PWMs on the same module → forced to share frequency,
# but each gets its own duty cycle.
pwm_a = PWM(Pin("D3"), device=0, channel=0,
            freq=1_000, duty_u16=32768)
pwm_b = PWM(Pin("D5"), device=0, channel=1,
            freq=1_000, duty_u16=16384)

# A third PWM on a separate module, free to pick any frequency.
pwm_c = PWM(Pin("D6"), device=1, channel=0,
            freq=20_000, duty_u16=49152)

Görev döngüsü duty (0–100%), duty_u16 (0–65535) veya duty_ns kabul eder. Çıkış polaritesini ters çevirmek için invert=1 ekleyin (aktif düşük RGB LED için kullanışlıdır).

Not

Frekans modül başına bir özellik olduğundan, bir modülün herhangi bir kanalında pwm.freq(new_freq) çağrılması, tüm modül için nrfx_pwm_init‘i yeniden çalıştırır ve onu paylaşan diğer her kanalın gördüğü frekansı değiştirir.

Not

İzin verilen frekanslar, 1/2/4/8/16/32/64/128 ön bölücüler ve 15 bitlik bir periyot sayacı ile 16 MHz temel saatten türetilerek kabaca 4 Hz ile 5.3 MHz arasını kapsar. Sürücü en yakın böleni otomatik olarak seçer — freq() istenen değeri bildirir, tam olarak elde edilebilir olanı değil.

Yazılımla bit‑banglenen veri yolları

Ekstra bir veri yoluna ihtiyacınız varsa, machine.SoftI2C ve machine.SoftSPI herhangi bir GPIO üzerinde çalışır.

Termal sensör (kart dışı)

Aygıt yazılımı, harici olarak bağlanan termal görüntüleyiciler için fir — termal sensör sürücüsü (fir == far infrared) sürücüsünü içerir:

  • MLX90621 — 16 × 4 IR dizisi

  • MLX90640 — 32 × 24 IR dizisi

  • MLX90641 — 16 × 12 IR dizisi

  • AMG8833 — 8 × 8 IR dizisi

Modülü kartın I²C veri yoluna bağlayın ve fir.init() + fir.snapshot() ile çerçeveleri okuyun:

import time
import image
import fir

fir.init()                          # auto‑detects the sensor
clock = time.clock()

while True:
    clock.tick()
    try:
        img = fir.snapshot(x_scale=5, y_scale=5,
                           color_palette=image.PALETTE_IRONBOW,
                           hint=image.BICUBIC,
                           copy_to_fb=True)
    except OSError:
        continue
    print(clock.fps())

fir sürücüsü sensörle yalnızca I²C 0 üzerinden konuşur — modülü I2C_SCL / I2C_SDA padlerine (A5 / A4) bağlayın.

Zamanlama

time

time modülü bloklayan gecikmeleri, monotonik tıkları ve geçen süre ölçümünü kapsar:

import time

time.sleep(1)              # seconds
time.sleep_ms(500)
time.sleep_us(10)

start = time.ticks_ms()
# ...do work...
elapsed = time.ticks_diff(time.ticks_ms(), start)

Sanal zamanlayıcılar

machine.Timer, bir donanım zamanlayıcı yuvası tüketmeden periyodik veya tek seferlik geri çağırmaları (callback) zamanlar. Sanal (yazılım) bir zamanlayıcı kullanmak için id olarak -1 geçirin:

from machine import Timer

one_shot = Timer(-1)
one_shot.init(period=5_000, mode=Timer.ONE_SHOT,
              callback=lambda t: print("once"))

periodic = Timer(-1)
periodic.init(period=2_000, mode=Timer.PERIODIC,
              callback=lambda t: print("tick"))

Periyot değerleri milisaniye cinsindendir. Yuvayı durdurup serbest bırakmak için deinit() çağırın.

Gerçek zamanlı saat

machine.RTC, sıfırlamalar boyunca duvar saati zamanını korur. nRF52840’ın RTC’si yonga üzerindeki osilatöre bağlıdır ve tam güç kaybından sağ çıkmaz — uygulamanız için önemliyse, her soğuk açılışta zamanı ayarlayın:

from machine import RTC

rtc = RTC()
rtc.datetime((2026, 4, 30, 4, 12, 0, 0, 0))   # Y, M, D, weekday, h, m, s, subsec
print(rtc.datetime())

Bekçi köpeği (Watchdog)

machine.WDT, uygulama takılırsa kartı sıfırlar. Bir kez başlatıldıktan sonra durdurulamaz veya yeniden yapılandırılamaz — ana döngünüzün içinde onu periyodik olarak besleyin:

from machine import WDT

wdt = WDT(timeout=5_000)   # 5 second window
while True:
    # ...do work...
    wdt.feed()

Açılış ve çalışma zamanı bilgisi

Aygıt yazılımı güncellemesi

Nano 33 BLE Sense, Arduino’nun önyükleyicisine (bootloader) girmek için Arduino’nun standart çift dokunuş sıfırlamasını kullanır. RESET düğmesine hızlıca iki kez basın — kart önyükleyici moduna girer ve OpenMV IDE yeni bir aygıt yazılımı görüntüsü yazabilir.

Çalışan bir betik, machine.bootloader() çağırarak isteğe bağlı olarak önyükleyiciye (bootloader) yeniden girebilir:

import machine

machine.bootloader()

Dosya sistemi ve açılış sırası

Nano 33 BLE Sense aygıt yazılımı, açılışta tek bir dosya sistemi bağlar:

  • Dahili flash bellek — her zaman /flash‘te bağlanır ve çalışma dizini olarak kullanılır. Varsayılan olarak main.py ve README.txt dosyalarını tutar; ilk açılışta oluşturulur.

Bağlamadan sonra, yorumlayıcı betikleri /flash‘ten çalıştırır:

  • boot.py, her yazılımsal sıfırlamada çalıştırılır.

  • main.py, yalnızca soğuk açılışta, boot.py‘den hemen sonra çalıştırılır.

Yeni yazılmış bir kartta gelen varsayılan main.py, bir kalp atışı olarak kullanıcı RGB LED’inin mavi kanalını yanıp söndürür (iki kısa darbe, kısa boşluk), böylece herhangi bir ana bilgisayar bağlı olmadan aygıt yazılımının temiz şekilde açıldığını anlayabilirsiniz.

/flash bu kartta bir USB yığın depolama sürücüsü olarak açığa çıkarılmaz.

Depolama boyutları

Nano 33 BLE Sense şunlarla gelir:

  • /flash64 KB FAT dosya sistemi, okuma/yazma.

Nano 33 BLE Sense derlemesi bir ROMFS içermez; Python modüllerini doğrudan /flash üzerinde gönderin.

Yazılım kütüphaneleri

Modüllerin tam listesi için — Nano 33 BLE Sense derlemesine özgü olanlar dahil — kütüphane dizinine bakın.