Raspberry Pi Pico W ingest

Push DS18B20 readings from a Pico W or Pico 2 W using CircuitPython, MicroPython, or the Arduino-Pico core. Same ThermalTrace HTTPS ingest as ESP32.

Top view of a blue Arduino Uno microcontroller board on a white background
Arduino-compatible boards run the sketch that polls probes and publishes JSON. Photo: Wikimedia Commons contributor. CC0

ESP32 is still the default freeze-kit board, but it is not the only Wi‑Fi microcontroller that can POST to ThermalTrace. A Raspberry Pi Pico W or Pico 2 W speaks HTTPS on-chip, uses the same DS18B20 wiring idea as the ESP sketches, and flashes without Arduino IDE if you prefer CircuitPython’s CIRCUITPY drive.

This is a temperature probe. The claim puck is a different RP2040 (Waveshare RP2040-Zero) that proves presence over USB. Do not mix those firmwares.

Parts

Parts for a Pico W freeze probe
Part Why Buy
Pico W or Pico 2 W On-board CYW43439 Wi‑Fi and TLS. Pico 2 W (RP2350) is the drop-in upgrade. Adafruit Pico W · Pico 2 W · Amazon
Feather RP2040 Wi‑Fi (optional) Same CircuitPython APIs, STEMMA / LiPo connector if you already live in Adafruit Feathers. Feather RP2040 with CYW43439
Waterproof DS18B20 Pipe / crawlspace probe; works below freezing. Data on GP4. Adafruit DS18B20 · Amazon
4.7kΩ resistor Pull-up from DS18B20 data to 3.3V. Do not power the probe from 5V on a Pico. Amazon 4.7k

Wiring

  • DS18B20 VDD → Pico 3.3V (not VBUS / 5V)
  • DS18B20 GND → GND
  • DS18B20 data → GP4, with 4.7k between data and 3.3V

GP4 is GPIO 4, the same numeric pin the ESP32 sketches use. After the first POST, ThermalTrace imports temp1 automatically.

1. CircuitPython (recommended)

  1. Open Dashboard → Devices, create a push device, and download CircuitPython code.py (ingest URL filled in).
  2. Hold BOOTSEL, plug in USB, copy the CircuitPython UF2 for Pico W or Pico 2 W onto the RPI-RP2 drive. The board remounts as CIRCUITPY.
  3. Install libraries: circup install adafruit_requests adafruit_connection_manager adafruit_ds18x20 adafruit_onewire
  4. Set WIFI_SSID / WIFI_PASS, save as code.py.
  5. Serial should show wifi ok then POST 200.

Repo sample: sketches/circuitpython/ds18b20_ingest.py.

2. MicroPython

Flash a Pico W MicroPython UF2, then copy the Devices MicroPython .py as main.py (Thonny / mpremote). The same file also runs on ESP32. Pin 4 is GP4.

3. Arduino IDE (Earle Philhower core)

Install the Raspberry Pi Pico/RP2040 package by Earle Philhower, not Arduino’s mbed RP2040 core. Select Pico W or Pico 2 W, open the downloaded .ino, set Wi‑Fi, flash. Libraries: OneWire, DallasTemperature.

What we are not adding (yet)

Anything that can POST HTTPS JSON already works without a first-class sketch: a Linux Raspberry Pi with requests, ESPHome, or a LAN MQTT→HTTP bridge. These families need extra hardware or a gateway, so they stay out of the Devices flash panel:

  • Pico without W / RP2040-Zero: no Wi‑Fi. Use Ethernet/ESP-01 plus a TLS relay, or keep the Zero as a claim puck.
  • nRF52 / nRF52840 (XIAO BLE, Feather nRF52840): Bluetooth or Thread, not native Wi‑Fi HTTPS.
  • STM32 Nucleo-F767ZI is first-class now: Zephyr C + onboard Ethernet (LAN TLS relay, not Arduino, not Python).
  • CH32V307V-EVT is first-class now: WCHNET C + onboard Ethernet (QingKe RISC-V, LAN TLS relay).
  • Arduino Nano 33 IoT / UNO R4 WiFi: still Arduino; the ESP/Pico samples already cover TLS Wi‑Fi if you adapt the WiFi library.

Related

Amazon buy links may include an Associates tag. Adafruit and other vendor links are direct (Adafruit does not run an affiliate program). ThermalTrace may earn a commission from qualifying Amazon purchases at no extra cost to you.

FAQ

Can a Raspberry Pi Pico W post to ThermalTrace?
Yes. Pico W and Pico 2 W speak HTTPS on-chip. Download CircuitPython code.py (or the MicroPython / Arduino sketch) from Dashboard → Devices, put a DS18B20 on GP4 with a 4.7k pull-up to 3.3V, and watch Serial for POST 200. Guide: thermaltrace.dev/about/pico-w-ingest.

Is a Pico W the same as the claim puck?
No. The claim puck is a Waveshare RP2040-Zero over USB for bay presence and mood LEDs. Pico W is a Wi‑Fi temperature probe. Do not flash claim-puck firmware onto a freeze probe or the reverse.

Should I buy Pico W or ESP32?
ESP32 remains the default freeze kit (cheaper DevKits, ESPHome, OTA samples). Choose Pico W if you already have one, prefer CircuitPython drag-and-drop, or want RP2040/RP2350. Both POST the same ingest JSON.