Things used in this project

Hardware components:
Photon new
Particle Photon
5" Clear Plastic Ornament Ball (4" linked)
Micro Servo
Smalls yqynd0ecbg
Altoids Smalls tin
Raw Lead
2000mAh LiPo Battery
3V DC motor and gearbox
Pololu - TB6612FNG Dual Motor Driver Carrier
mini breadboard
Lipstick Red Acrylic Paint
White Acrylic Paint
Black Electrical Tape
Right Angle Servo Mount
8186014 rd
Pebble Time
Software apps and online services:
Particle IDE
Hand tools and fabrication machines:
3D Printer (generic)
09507 01
Soldering iron (generic)
Hy gluegun
Hot glue gun (generic)

Custom parts and enclosures

Right Angle Servo Mount for Lead Weight
This allows the lead weight to be attached to the micro servo easily. The weight is what causes the ball to turn as it's rolling forward.


TB6612 Motor Driver Pinout
- Solder in a male header to both sides of the driver. There is no need to use multiple GNDs, just the bottom right GND is fine.
- VCC goes to 3V3 output on the Photon.
- VMOT goes to VIN which is also connected to your 3.7V LiPo Battery Pack.
- Photon GND is connected to LiPo GND and GND of the Motor Driver.
- AO0/AO1 goes to the motor.
- PWMA on the Motor Driver will connect with A4 on the Photon.
- AIN2 (direction bits) on the Motor Driver goes to A1 on the Photon.
- AIN1 on the Motor Driver goes to A2 on the Photon.
- /STBY (motor enable) on the Motor Driver goes to A3 on the Photon.


Particle Pokéball Code
This is the firmware that gets flashed to the Particle Photon. Copy/Paste this into a new application at and flash to your Photon. Also included here is a simple app to control the Particle Pokéball from your Pebble Watch via Accelerometer input. Install Simply.js on your Pebble, host this script somewhere that will give you a URL (a Public/Shared Dropbox link works well), and paste that link into the Simple.js app settings via your phone's Pebble app. UP starts the accelerometer streaming commands to the Pokéball. DOWN stops the streaming and sends a command for the Pokéball to stop. If you are not streaming already, SELECT will grab a snapshot of the current accelerometer data and send just that one command to the Pokéball. This is good for troubleshooting, or camera poses :)


Brett maker faire avatar large300x300 iiszxsy0ek
Brett Walach
4 projects • 11 followers
Sr. Embedded Hardware/Software Engineer at Particle, Hacker, Maker, Musician
Thanks to MasterFX.


Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback


Add projectSign up / Login