How to Train Virtual TJBot in Node-RED
This week marks the second anniversary of the lovable TJBot DIY maker kit that allows you to build your own programmable cardboard robot…
How to Train Virtual TJBot in Node-RED
This week marks the second anniversary of the lovable TJBot DIY maker kit that allows you to build your own programmable cardboard robot powered by IBM Watson.
Over the past two years, there have been a number of ways to experience the possibilities of TJBot, along with the original tjbot npm library. The TJBot Swift Playground teaches TJBot through an fun interactive story. The TJBot simulator offers an online sandbox to control a virtual TJBot avatar in Node.js. And the TJBot Node-RED nodes offer a drag-and-drop interface of nodes to control a physical TJBot.
I’m excited to share another way for you to program this TJBot, virtually. Using Node-RED, you can now install the node-red-contrib-virtual-tjbot nodes, and get the same experience with a virtual robot avatar. No robot or coding experience necessary!

This is an exciting addition as this offers the best of the TJBot capabilities combined with a great open-source editor, Node-RED, that comes with an amazing selection of nodes built by the community, all available in the comfort of a web browser. And you can even connect your virtual TJBot to Twilio, monitor Twitter, interact with Internet of Things devices, post to Instagram, and interface with your favorite API, just to name a few.
Install the Nodes
To install the Virtual TJBot nodes, open Node-RED (it can be running locally or in IBM Cloud). Click on the Menu -> Manage Palette.

Search for node-red-contrib-virtual-tjbot. Click install.

The nodes will be added in the palette on the left under the category labeled Virtual TJBot. In the panel on the right, click on the triangle pointing downward and select Virtual TJBot to display the virtual TJBot avatar.

Create a Virtual TJBot Profile
Each Virtual TJBot node that is placed in the workspace is associated with a TJBot configuration. TJBot configuration profiles allow you to configure different types of robots, for example speaking different languages and customize the behavior as needed.
Drag any Virtual TJBot node onto the workspace and double click on it. Click on the pencil next to the Bot dropdown menu.

In this configuration screen, you can choose what language the virtual TJBot understands and speaks, what hardware it has, and set the IBM Watson service credentials needed for the underlying capabilities.

Shine the LED Yellow
Here’s an example of how you can control the virtual TJBot to shine the LED the color yellow. Drag a shine node onto the workspace. In the TJBot profile configuration, tick the checkbox next to the LED to enable the LED.

In the shine node settings, select Shine from the Mode dropdown menu, and select yellow from the Color dropdown menu.

Connect the shine node to an inject node.

Don’t forget to click on Deploy to save and activate your changes. When the inject node is triggered, the LED on top of the virtual TJBot shines the color yellow.

How Do These Differ From The TJBot Nodes?
If you’ve played with the original TJBot Node-RED nodes on a TJBot, you might be asking yourself how these two sets of nodes are related. The good news is that they share a lot of similarities with only a few differences.
The nodes are different in that you can only run the TJBot nodes on a Raspberry Pi (because they use real hardware) and the Virtual TJBot nodes only run in a web browser (because they use your computer’s hardware made available via the web browser). Some nodes have additional or slightly modified capabilities. For example, the Virtual TJBot see node also offers a way to take a photo and store the image data in msg.payload (instead of storing it on the file system) since some runtimes (such as Cloud Foundry) may not provide file system access or be ephemeral in nature.
However, the two sets of nodes remain close enough that replacing the respective TJBot node with the Virtual TJBot node equivalent, and vice versa, shouldn’t require many changes to the rest of the flow.
If you’re interested in more Node-RED recipes, check out the Train TJBot in Node-RED series I originally wrote for the physical TJBot Node-RED nodes. And here’s a trick if you want to import the JSON flow and use it virtually. Replace any instances of "type":"tjbot-****" with "type":"vtjbot-****"! While this trick isn’t 100% guaranteed, it works for many of those recipes.
Let me know what you build!
메타데이터
- post_id
- df118b47a4e3
- slug
- how-to-train-virtual-tjbot-in-node-red-df118b47a4e3
- url
- https://medium.com/@katiebisson/how-to-train-virtual-tjbot-in-node-red-df118b47a4e3
- canonical_url
- https://medium.com/@katiebisson/how-to-train-virtual-tjbot-in-node-red-df118b47a4e3
- author_url
- https://medium.com/@katiebisson
- status
- ok
- fetched_at
- 2026-08-16 09:07:14