ibmtjbot / tjbot

IBM TJBot
https://ibmtjbot.github.io
Apache License 2.0
481 stars 282 forks source link
cognitive prototyping raspberry-pi tjbot watson

IBM TJBot

Maker Kits are a collection of DIY open source templates to build things with IBM AI services in a fun and easy way. IBM TJBot is the first maker kit in the collection. You can 3D print or laser cut the robot body, then use one of our recipes to bring him to life!

In addition, you can unleash your own creativity and create new recipes that bring TJBot to life using any of the available IBM AI services!

TJBot only works with a Raspberry Pi.

Build TJBot

You can make your own TJBot in a number of ways.

Electronics

There are a number of components you can add to TJBot to bring him to life. Not all of these are required for all recipes.

Assembly

Once you have obtained your TJBot, please refer to the assembly instructions to put it all together.

For reference, here is the wiring diagram to hook up a Neopixel LED and servo to your Raspberry Pi.

TJBot expects LEDs and servos to be connected to specific kinds of pins, including voltage (+3.3v or +5v), ground, and data. See https://pinout.xyz for a complete pin diagram. The tables below shows the default pins expected for different components, although these pin numbers can be overridden in TJBot's configuration.

Neopixel LED

PIN type PIN Name Physical PIN
Data GPIO 18 Physical 12
Power +3.3v Physical 1
Ground Ground Physical 6

💡 Be careful when connecting the LED! If it is connected the wrong way, you may end up burning it out. The Neopixel LED has a flat notch on one side; use this to orient the LED and figure out which pin is which.

Common Anode LED

PIN type PIN Name Physical PIN
Red GPIO 19 Physical 35
Power +3.3v Physical 17
Green GPIO 13 Physical 33
Blue GPIO 12 Physical 32

💡 Common Anode LEDs and Neopixel LEDs can both be connected to TJBot at the same time and will shine the same color. However, TJBot's head only has room for one LED!

Servo

PIN type PIN Name Physical PIN
Data (orange) GPIO 7 Physical 26
Power (red) +5v Physical 2
Ground (brown) Ground Physical 14

Bring TJBot to Life

First, configure your Raspberry Pi for TJBot by running the bootstrap script.

curl -sL http://ibm.biz/tjbot-bootstrap | sudo sh -

Next, take a look at TJBot's recipes, which are pre-configured behaviors that bring TJBot to life using IBM's Watson AI services.

TJBot comes with these recipes to demonstrate different capabilities.

After checking out these recipes, we encourage you to take a look at featured recipes created by members of the #tjbot community!

Troubleshooting TJBot

Please take a look at the troubleshooting guide if you are having difficulties with TJBot.

Contribute to TJBot

TJBot is an open source project designed to make it fun and easy to interact with Watson. We’d love to see what you can make with him!

If you would like your own recipe included in our featured recipe list, please open an issue with a link to your repository and a demo video.

About TJBot

TJBot was affectionately named after Thomas J. Watson, the first Chairman and CEO of IBM. TJBot was created by Maryam Ashoori at IBM Research as an experiment to find the best practices in the design and implementation of cognitive objects. He was born on November 9, 2016 via this blog post.

License

This project uses the Apache License Version 2.0 software license.