Skip to content

Raspberry Pi Pico W Google Sheets API: Upload data free | ShillehTek

March 24, 2024

Video Tutorial (Optional)

Watch first if you want to follow the full setup in real time for sending Raspberry Pi Pico W data to Google Sheets using the Google Cloud API.

Project Overview

Raspberry Pi Pico W + Google Sheets (Google Cloud API): In this tutorial, you will send data from a Raspberry Pi Pico W to a Google Sheet using the Google Cloud API so your device can log data to Sheets without relying on paid IFTTT automation.

This approach uses Google Cloud Platform (GCP), a Flask application, and code running on your Pico W. You will be guided through each part of the setup.

Subscribe and support:

  • Time: Varies based on your Google Cloud setup
  • Skill level: Intermediate
  • What you will build: A Pico W data logging flow that writes incoming data to a Google Sheet using the Google Cloud API and a Flask app

Parts List

From ShillehTek

External

  • Google account (for Google Sheets and Google Cloud Platform)
  • A Google Sheet to receive your data
  • Computer for configuring GCP and running a Flask application
  • Internet connection

Note: This project replaces the earlier IFTTT-based approach mentioned in the tutorial with a free setup using GCP, Flask, and code on the Pico W.

Step-by-Step Guide

Step 1 - Plan the data flow (Pico W to Google Sheets)

Goal: Understand the components you will connect so the rest of the setup is straightforward.

What to do: You will send data from the Raspberry Pi Pico W to a Flask application, and the Flask application will use the Google Cloud API to write the data into a Google Sheet.

Expected result: You know which part runs on the Pico W, which part runs in Flask, and where Google Sheets fits in.

Step 2 - Set up Google Cloud for Google Sheets access

Goal: Prepare GCP so your application can write to a Google Sheet through the Google Cloud API.

What to do: In Google Cloud Platform, create or select a project and configure the Google Cloud API access needed for Google Sheets so the Flask application can write rows to your spreadsheet.

Expected result: Your Google Cloud project is ready to allow programmatic access to your Google Sheet.

Step 3 - Create the Flask application that writes to your Sheet

Goal: Build the middle layer that receives Pico W data and uploads it to Google Sheets using the Google Cloud API.

What to do: Create a Flask application that accepts incoming data and uses the Google Cloud API to insert that data into your target Google Sheet.

Expected result: You have a Flask app that can write to your Google Sheet when it receives data.

Step 4 - Send data from the Raspberry Pi Pico W to the Flask app

Goal: Get the Pico W to transmit data to your Flask application so it can be recorded in Google Sheets.

What to do: Add code on the Pico W to send data to the Flask endpoint you created.

Expected result: When the Pico W sends data, it flows through Flask and appears in your Google Sheet.

Conclusion

You now have a workflow where a Raspberry Pi Pico W sends data to a Flask application, and the app uploads that data into Google Sheets using the Google Cloud API. This gives you a free alternative to the older IFTTT approach.

Want parts and modules for your next Pico build? Shop at ShillehTek.com. If you want help customizing this data-logging setup or building a production-ready IoT pipeline, check out our consulting: https://shillehtek.com/pages/iot-consulting.