Fridge Door: a Message Board with a Raspberry Pi and Tidbyt

This article launches a multipart series that makes a message board using a Raspberry Pi and a Tidbyt. Note that you can skip the Tidbyt and use a monitor to display messages.

Here are the parts in the series:

  1. Describe what we’re building (this article).
  2. Create a ReST service using Rocket (Part 2)
  3. Create a React application to both display and manage messages (Part 3).
  4. Integrate the ReST service and React application.
  5. Deploy the ReST service and React application to a Raspberry Pi.
  6. Create a Tidbyt application to display messages.

Let’s get started!

What We’re Building

Household communication often relies on hand-written notes under magnets on the refrigerator door. In this series, we build the electronic version of that communication system. We call it “Fridge Door.” The notes we create display either on a monitor attached to a Raspberry Pi or, if you’re fancy enough, on a Tidbyt. Here are some examples of each display:

Displaying on a monitor connected to a Raspberry Pi
Displaying on a Tidbyt

Fridge Door Technologies

We use these technologies to build Fridge Door:

  • A Raspberry Pi. I’m using a Raspberry Pi 3 Model B Plus Rev 1.3, but you can use any Pi (or any computer) that can run a Rust service.
  • Rocket, a Rust Web/API framework.
  • SQLite, to store the message data.
  • React, a JavaScript framework for building web applications.
  • A monitor plugged into the Raspberry Pi to display messages.
  • cron, for pushing screen images to the Tidbyt servers.
  • A Tidbyt, for displaying messages.
  • Smartphones, or any other devices running web browsers, to add messages.

Here’s a diagram:

The Fridge Door technologies

What If I Don’t Have a Tidbyt?

Go get one. They’re cool. Seriously, though, you can create a message board with just a monitor and a Pi, as long as you and your housemates are cool with a monitor on the kitchen counter. In fact, I have my Fridge Door displaying on both a monitor in my office and a Tidbyt in the kitchen, served by the same Raspberry Pi. You don’t even need a Raspberry Pi; you can run Fridge Door from any computer you have lying around.

A Word About Security

We’re not building any. At all. This is not a cop out. This is by design. Anyone we let use our wi-fi can add messages. That’s what makes this fun! It’s a little risky, sure, but you’ve already trusted these folks with your wi-fi password and let them recline on your family room couch. They can stick notes to your physical fridge door. We just extend that freedom to your virtual fridge door as well. We don’t want to deal with registrations or logins. You walk into my home, whip out your phone, open a browser, and add a message to Fridge Door. Simple. Your security is the strength of your wi-fi password.

This means you should not run this service on the Internet! Run it on a Raspberry Pi (or computer) on your network that is invisible to the Internet. Don’t add NAT routes. Don’t host it on Heroku. Keep it hidden on your 192.168.0.0/16 network. You have been warned.

Next Steps

Sound exciting? You ready to do this? Install Rust and Node on your development machine, grab your Raspberry Pi, order a Tidbyt, and let’s get started! Move on to Part 2 of this series!

2 Responses

  1. January 27, 2023

    […] Describe what we’re building (Part 1) […]

  2. February 4, 2023

    […] Describe what we’re building (Part 1) […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.