TJBot is an open-source do-it-yourself kit for building a small Raspberry-Pi-powered robot.


In the Easter holidays, we spent an afternoon building it…

…and wiring it…

This gave us a tiny plastic robot with a light in his head, and an arm that can rotate back and forth. He sits on the kitchen shelf next to the Alexa.

This weekend, we tried doing something with it.


Our first project was weatherbot – using the TJBot as an ambient weather device.

It gives us an at-a-glance weather forecast using it’s head LED and the position of it’s arm. We’re using DarkSky’s API to get a weather forecast.

Will it rain?


If the chance of rain is 50% or higher, the LED on weatherbot’s head will light up.

So a glance at weatherbot means we know to take an umbrella with us if we’re going out.

How warm will it be?


The arm will rotate to show a predicted temperature.

Rotating to the left means cold, with the arm horizontal and all the way to the front meaning 0 degrees C or colder.

Rotating to the right means hot, with the arm horizontal and all the way to the back meaning 30 degrees C or hotter.

And the arm pointing straight up is half-way between the two: 15 degrees C.

So a glance at weatherbot means we know if we should take a coat.

Our first project

I’m not sure how long we’ll keep TJ in weatherbot-mode. But it’s a fun place to start. Faith came up with the weatherbot idea and Grace wrote bot.js with a few suggestions and additional commenting from me. The idea was to let them use the bot to build something they could understand and make themselves, without me interfering too much.

For our next project, we might try something a little more advanced! 🙂

For now, I’ve put the code at but it’ll need a little work if you want to reuse it as the config is scattered through the code. Sorry. You’ll need to sort yourself out with a DarkSky API key and put it in an environment variable. You’ll also need to modify the script to specify the location you want forecasts for.


Comments are closed.