Sphero Bolt Review: Can This Robot Ball Teach Code?

Tom's Hardware Verdict

Sphero Bolt is a simple, fun toy that can teach children block coding with ample tutorials and videos, but its lessons are geared toward classrooms and lack incentives for children playing on their own at home.


  • +

    Multiple easy-to-use apps

  • +

    Great for learning block-based coding

  • +

    Good battery life

  • +

    Tons of free educational videos, tutorials and more


  • -

    Most lessons are best for classrooms, not individuals

  • -

    JavaScript lessons are less intuitive

  • -

    No built-in speaker or camera

  • -

    App’s color wheel is a little inaccurate

Why you can trust Tom's Hardware Our expert reviewers spend hours testing and comparing products and services so you can choose the best for you. Find out more about how we test.

Sphero Bolt is like tomorrow’s toy ball. Instead of being purely focused on catch, this STEM ball is all about teaching code. With a light up RGB LED panel, JavaScript Wiki page and a database of tutorials and projects, you can program the Bolt to do all sorts of things through the free Sphero Edu app. There are also a few games to play if you download the Sphero Play app too.

For $149.99 / £149.99, the Bolt seems like a simple way to introduce a child, teen or even adult to programming. The company provides a number of helpful online lesson plans that work well in the classroom, but without self-directed challenges in the app, it would be hard to get a child enthusiastic about using the Bolt at home.

Sphero Bolt Specifications

Swipe to scroll horizontally
Companion App CompatibilityWindows, Mac, Chrome, iOS, Android
Battery1,250 mAh
Sensors1x gyroscope, accelerometer and magnetometer, ambient light sensor; 4x infrared emitters; 4x infrared receivers; 2x motor encoders
Weight0.44 pounds / 200g
MeasurementsDiameter: 2.9 inches / 73mm
Price$149.99 /  £149.99

To do any coding, you’ll need to download the free Sphero Edu app, which is compatible with Windows 10 version 16299.0 or higher, macOS 10.9.0 or later, Android 5.0 and iOS 9.0. Your device will send code to the Bolt via Bluetooth.

Bolt is enjoyable without any coding at all with Sphero Play. That’s also free but is limited to devices running Android 5.0 and up and iOS 9.0 or later.

You can also use the Sphero Bolt with Apple’s Swift Playgrounds iPad app, which teaches Swift coding.


Credits: Sphero

The Bolt has an awesome transparent plastic shell that lets you peek at its components. The app even comes with a breakdown of those components for a touch of educational fun.

On the outside, there’s a small Sphero logo and five iterations of the world “Bolt” around its equator. Bolt’s polycarbonate plastic has a slick feel to it that also seems pretty thick for durability.

The Bolt comes with one ball and an inductive charging station, a small cradle the Bolt sits in that’s also see-through. The box includes a micro USB / USB 3.0 cable to plug into the cradle, a cardboard pop-out protractor wheel featuring compass directions and degrees on one side and a clock on the other (you can pop out the center to stick the Bolt in the middle), a quick-start guide and some stickers.

Outside of the 8x8 RGB LED matrix sitting at the top center of the Bolt, it has two RGB LED lights, plus one backlight that can only be blue. All of these lights are programmable, and the blue one is used to aim Sphero so you know what direction it’s facing. Each of those lights can hit a brightness of 200 lumens, which is approximately 33% that of a 60-watt lightbulb. It’s plenty bright, especially with that clear shell holding nothing back.

Sphero has four infrared red emitter and receiver pairs, which can be used to send and receive messages to another Bolt. These messages can fulfill a conditional and execute a certain portion of a written program.

There’s also a magnetometer for finding North and auto-aiming the Bolt so that it’s tail light is facing you, which is required to run any program.

To stay balanced, the Bolt uses an IMU (inertial measurement unit), which reads the accelerometer (measures acceleration), gyroscope (rotation speed). It handles movement with two encoders (tracking movement and distance) and two motors. The Bolt spins inside itself to stay balanced, keeping its light matrix on top and ballast weight on the bottom. In fact, even with the Bolt off, it will automatically spin to this orientation, no matter what way you place it down. However, you can program the Bolt to drop stabilization.

Learning Code With the Sphero Edu App

To program Sphero, you need to write code in the Sphero Edu app, either through drawing, block coding or writing JavaScript. Sphero makes multiple-lesson tutorials, accessible online or through the app, to introduce users to each form of writing code. The lessons teach you basics, like coding terms and thinking in code, as well as get you to create programs to do things like turn the Bolt into a Hot Potato game, display different images on its LED matrix or move around in different shapes.

Lessons aren’t limited to coding. There are also teachings on sensor types, angles and degrees, LED lights and some physics, for example. Even the firmware update is educational, simultaneously displaying trivia like “In 1840 Ad Lovelace paved the way for women in programming as one of the first computer programmers in the world.”

The app has four sections: Home, Programs, Activities and Drive. Home offers a live feed of Sphero users sharing programs, plus 3D models of different Sphero robots, your profile, including username / photo, and Settings, which includes links for Sphero’s JavaScript Wiki, blog, support and contact. Programs stores all the codes you write and also has sections for viewing codes shared by Sphero and Sphero owners. Activities lets you access tutorials within the app shared by Sphero and the community, and it also has a Workbook section for saving different tutorials you’re working on and tracking your progress.

If for some reason you just want to play with the thing and not learn (what kid would want that?), Drive mode lets you control Sphero with a joystick, alter it’s speed, change the color of its LEDs and their brightness.

However, the color wheel used throughout the app looked a little in accurate. For example, when the when the wheel was bright red, the Bolt’s lights looked orange, and when I made the wheel orange, the actual lights looked more yellow.

Since the Bolt doesn’t have its own speaker or camera, any coding using audio or a camera will tap your connected device to execute.While not a deal breaker, it’s unfortunate because a world of possibilities would open up if the robot could speak or record from its point of view, like battle robot Geio.

One great thing about Sphero Edu is that you can access it and its tutorials in many ways, including on your phone, a tablet, your PC (via the Windows Store) or even online. This really helps ease of use, as you can put instructionals up on a PC monitor, for example, while writing the code on your phone.

Block Coding

Sphero has three series of lessons with the goal of having users write JavaScript by the end. It starts with three activities that teaches you to code in the app’s coding canvas by drawing. You can then graduate to the Block Coding tutorials and, finally, the Text ones for JavaScript.

I skipped ahead to the Block tutorial. Block coding looks like Scratch with different sections for Movements, Lights, Sounds, Controls, Operators, Comparators, Sensors, Communications, Events, Variables and Functions blocks. Simply drag and drop blocks into the canvas and fit them together. Holding down or right-clicking on an individual block pulls up handy options like copy and delete, the ability to add a comment explaining your code and block help, which gives you a detailed info and explanation of that block and is an ingenious method for making sure students don’t get stuck.

You can also see what your block program looks like in real JavaScript. This makes it easy to compare block code with real JavaScript, especially if using two displays.

Through Sphero’s Block tutorials, I was easily able to make Sphero roll around in a perfect square, transform into a Hot Potato, play a random animal sound when tossed and display different lights and brightness depending on the direction and speed of its revolution.

At the time of writing, Sphero’s Block tutorials were slightly outdated. For one, they think there’s a “Lights and Sounds” section, but I have a separate “Lights” and “Sounds” sections on my iOS app. Still, I’ve yet to encounter a difference that significantly confused me.

All of the Sphero-made tutorials I explored were clearly written for classrooms. That usually didn’t deter me, but occasionally there were steps with critical thinking questions that don’t quite work for a solo user, such as “How do you think Sphero can recognize when it’s spinning or rolling? Do you know of a sensor that might do this? What other devices can recognize rotation?” Kids won’t be able to confirm the answer without a teacher.

Alternatively, if a child is ambitious enough they can use these open-ended steps as a challenge. For example, one Block tutorial asked how you would go about making the Bolt roll in a triangle but didn’t provide an answer. When I couldn’t figure it out on my own, I found a tutorial made by a community member and studied their code to figure out what I did wrong.

Sensor Data

Sphero Edu app has a mesmerizing feature that lets you view the Bolt's sensor data in real time as a program runs. It also stores that data afterwards, which you can upload at anytime as a spreadsheet.

Below is an album showing all sensor data for a program that makes Sphero roll around in a square twice.

JavaScript Coding

Sphero also an impressive volume of materials teaching JavaScript, but newbies will be hard-pressed to move beyond regurgitating code with these materials alone.

Sphero has introductory JavaScript tutorials, as well as a very comprehensive Wiki page, which you can also pull up within the Sphero Edu app (although that’s all you’ll be able to see). The page is Sphero-focused, so it teaches you how to write code you’d want to use with a Sphero robot.

Lone students will again notice that the JavaScript tutorials on the Sphero Edu app were made for classroom settings. Take one step in a tutorial that asks users to draw a flow diagram depicting the logic to code a game. After, it tells you to “Take a picture or screenshot of your flow diagram and attach it at the end of this step for your teacher to see.” It’s unlikely a kid would want do this on their own at home, and without anyone to check their work, they wouldn’t even know if they did it properly.

Sphero Edu’s JavaScript text canvas does drop clues to help coders, including predictive text drop down suggestions and color coding different functions. And if your code is gibberish, you’ll get an error that tips you off as to what went wrong, such as “! SyntaxError: Unexpected token,” which I’ve learned to mean I forgot to end a line with a semicolon or close a bracket.

Sphero’s tutorials for JavaScript are less comprehensive than the block coding ones. You can copy what’s written, but explanations for why are less detailed. Users will have to do some homework, perhaps comparing block code to JavaScript repeatedly, to be able to write JavaScript code from scratch.

The Wiki page is a helpful aid but not the only materials you’ll need to learn how to write your own JavaScript program. For example, one of Sphero’s JavaScript tutorials for creating a game asks you to create a constant for accel test to measure change in acceleration across all three axises. Its instructions say that you should go to the Wiki page’s sensors section and head to accelerometer, where “the fourth example of code is what we need to measure the combined acceleration of all axes.” But there was no explanation for why you’d use that code, just a line to copy and paste:

Math.sqrt((getAcceleration().x ** 2) + (getAcceleration().y ** 2) + (getAcceleration().z ** 2)).

That’s too complicated for a child to comprehend outside of a classroom.

Gaming With the Sphero Play App

If for some crazy reason your child doesn’t want to code and just wants to play, the Bolt’s got you covered. The robot is also compatible with Sphero Play, a free app with three games and six different ways to move the Bolt around. Unlike Sphero Edu, Sphero Play was a bit finicky on my iPhone SE, sometimes saying I wasn’t connected to Bluetooth when I was and occasionally failing to connect with my Bolt.

All three Sphero Play games turn the Bolt into a controller for the game you play on your device.

In Exile II (first picture above), you control a spaceship by tilting the Bolt in four directions, while picking up power-ups and armor. In Lightspeed Drifter, spinning the Bolt simultaneously rotates a never-ending vortex. Try to get the Bolt to the finish point as quickly as possible while aiming for speed-up ramps, avoiding roadblocks and picking up star icons to earn a turbo boost. Finally, in Round Trip you’re twisting the Bolt to rotate a hexagon so a ball can break each of its sides while you collect power-ups.

The drive modes let you drive the Bolt around in six different ways. There’s Joystick, Slingshot, Tilt, where you phone motion controls the Bolt, Scream Drive, where the more noise you make the more the Bolt accelerates, Kick, where you flick a soccer ball on screen to move, tap it to stop and curve it to swerve (just like dribbling in real soccer, I found this nearly impossible to master), and Golf, where you aim Sphero and use your phone to swing at it and record you distance and swing.


After spending about 15 minutes playing games and driving the Bolt around with its lights set to maximum brightness, I check its temperature. It’s hottest point, takes from a bird’s eye view, was 27.5 degrees Celsius (81.5 degrees Fahrenheit). But you’ll barely notice a little bit of warmth through its chassis.

As you can see from the above pictures, while the internal components are hotter, the Bolt gets increasingly cool as you move away from its inner hardware and toward the inner and outer linings of its shell.

Battery Life

Th Bolt’s charging cradle has a blue light that blinks when charging and is steady when the Bolt’s fully charged. If you press the cradle’s only button while the Bolt is charging, two of its LED lights will do the same. The Bolt’s matrix displays a smiley face, followed by a lightning bolt, battery icon and string of its official name (mine’s SB-F887) when ready to go.

Sphero claims 2 hours of battery life with the Bolt. However, if you’re primarily focused on coding, the Bolt is only on when testing or running your programs. As I went through Sphero’s instructional activities, my Bolt lasted 4 hours and 25 minutes across several days. Of course, if you’re actively using the actual Bolt, its battery life is more likely to fall closer to Sphero’s two-hour estimate, at which point it’ll take about 6 hours to fully charge.

Price and Competition

Sphero’s Bolt has an MSRP of $150 (although at the time of writing it was on Amazon for $119.99. The Bolt is on the high-end for a STEM toy and is also Sphero’s priciest product.

The Bolt’s closest relatives are the Sphero Sprk+ ($130) and Sphero Mini ($50), which comes with six mini bowling pins and three mini traffic cones. All use the same Sphero Edu and Sphero Play apps.

However, the Bolt has hardware that the other Spheros do not, including the 8x8 light matrix, light sensors, infrared sensors, a magnetometer and a larger battery life. That means the Bolt offers more RGB programming possibilities (including with luminostic conditions thanks to the light sensors) and the abilities to make compass-related codes and speak to other Bolts. Additionally, the Mini doesn’t have a transparent chassis, but it does comes in various colors.

The Bolt comes with a one-year limited warranty. If you buy it from Sphero’s website, you can upgrade to a one or two-year SpheroCare warranty for $21.99 or $28.99, respectively. That extends protection to accidental damage, such as a dog eating your robot.

Bottom Line

Sphero Bolt is a simple robot with a lot of educational punch. Its clear design lets users catch a glimpse of components, and the accompanying app provides detailed 3D models further fueling hardware interest. You know we love that. The Sphero Edu app and their JavaScript Wiki page are loaded with coding instructionals, tutorials, videos and projects, from both Sphero and other Sphero product owners.

However, while lessons teaching block coding are very explanatory, Sphero’s JavaScript lessons are less intuitive. A child will likely require further assistance before they’re writing JavaScript on their own.

And there isn’t any incentive encouraging kids to do the tutorials on their own. For example, other STEM toys, like Lego Boost or Wonder Workshop’s Dash and Dot, have a series of unlockable challenges, gamifying the learning experience and making it more appealing to kids.

But for $150 (or less), you get a lot of educational material and more than enough information to get a firm grasp of coding logic, sensors and LEDs and build a foundation for understanding JavaScript. If you’re buying this for a kid, you’ll just have to find a way to keep them interested in the lessons. However, the Bolt can also be a regular toy with the Sphero Play app, so if all else fails it can at least serve as a flashy ball.

Photo Credits: Tom's Hardware

MORE: GJS Geio Battle Robot Review

MORE: littleBits Avengers Hero Inventor Kit Review

Scharon Harding

Scharon Harding has a special affinity for gaming peripherals (especially monitors), laptops and virtual reality. Previously, she covered business technology, including hardware, software, cyber security, cloud and other IT happenings, at Channelnomics, with bylines at CRN UK.