Vulnerability Disclosure Program
Enabling Location Permissions on Android
Sphero's Unsolicited Ideas Policy
Airplane Travel with Sphero
Replacement Charging Cables
Can the Batteries be Replaced?
Where Did the Sphero Mini App Go?
Sphero Mini Disconnects when Plugged In
Sphero Mini FAQ
Getting Started with Sphero Mini
Sphero Mini's Lights
Sphero Mini Connection Troubleshooting
Sphero Mini Soccer FAQ
Sphero Mini Activity Kit FAQ
Sphero Mini EDU 16 Pack FAQ
Is Sphero Mini Kit compatible with other Robots?
BOLT Power Pack
BOLT Power Pack Tips
Charging and Setting Up BOLT
Charging Cradle Compatibility
Condensation Inside Sphero BOLT
Prolonging BOLT Battery Life (Deep Sleep)
BOLT at Home Guide
Sphero RVR and RVR+
Sphero RVR and RVR+ Warnings
Drawing power for the USB and UART ports
Missing UART Cable
Lost Charging Cable?
RVR and RVR+ Long Term Storage
Sphero RVR and RVR+ Battery FAQ
Getting Started with RVR and RVR+
What's new with RVR+?
Lost Battery Key?
Cleaning RVR/RVR+ Wheels
Ollie + Ollie Darkside
Ollie Dies Quickly After a Full Charge
Ollie and Darkside Security
Ollie Device Compatibility
Specdrums MIX Device Compatibility
Specdrums Edu Device Compatibility
Windows and MacOS MIDI
Number of Rings that can Connect to App
Number of Colors Specdrums can Play
Specdrums MIX Tutorial: Getting Started
Are Specdrums Waterproof?
Specdrums Battery Life
Specdrums MIX Tutorial: Customizing Packs
What Colors can Specdrums Play?
Specdrums MIX Tutorial: Recording and Sharing a Song
What objects can be played with Specdrums?
Specdrums EDU 12 Pack FAQ
Specdrums Edu App not Making Noise
Replacement Ring FAQ
Spedrums MIX "Share" Feature not Available
Sphero 1.0 + 2.0
Pairing Sphero with a Device
Sphero Quick Start Guide
Sphero Light not Working
Sphero's Bluetooth Range
Sphero Firmware Updates
Is Sphero Waterproof?
Sphero not Holding a Charge
Unable to Update Firmware
Sphero isn't Charging
What is Boost Mode?
Connecting Sphero to Device
Sphero not Following Driving Instructions
Sphero is Glowing Blue + White - Not Connecting
Sphero SPRK Edition
SPRK+ Power Pack
Power Pack charging base stopped working
Can I charge other Sphero robots in the Power Pack?
Power Pack dimensions and specifications
Power Pack modes and light indicator
One of the SPRK+ robots in my Power Pack won't connect.
How can I purchase a Power Pack?
Using the SPRK+ Power Pack
SPRK+ Power Pack General Information
Using the Protractor + Maze Tape
What's the difference between SPRK+ and SPRK Edition?
SPRK+ not Holding a Charge
SPRK+ Charging Solutions
SPRK+ not Connecting
Condensation Inside Sphero SPRK+
Getting SPRK+ in my Classroom
Prolonging SPRK+ Battery Life (Deep Sleep)
Connecting SPRK+ to a Device
BOLT Upgrade Program
Activity Cards Available Languages
Code Mat Dimensions
Code Mat Compatible Robots
Code Mat App Compatibility
Activity Card Information
How many Students can use the Code Mat?
Can I Buy Additional Activity Cards?
What do the lights on the indi™ robot mean?
Do I need an app to use indi™?
Adjusting the Speaker Volume of indi™
Resetting your Sphero indi™
indi™ Battery + Charging FAQ
indi™ Color Cards + Durable Tiles
STEAM+ Kit / STEAM+ Coding Kit
What apps and devices are needed for the STEAM+ Coding Kit?
STEAM+ Coding Kit Invention Guide and Resources
What standards can I meet with the STEAM+ Coding Kit?
STEAM Student Set
How Many Students can use the STEAM Student Set?
I've Finished all the Projects. What's Next?
What Standards can I Meet with the STEAM Student Set?
Cross Axle vs D-Shaft DC Motor | Cross Axle vs Hub Mount Servos
Available Lessons and Curriculum
Learning to Use the STEAM Student Set
littleBits Code Kit
What standards can I Meet with the Code Kit?
o28 LED Matrix vs o29 Round LED Matrix
Is Prior Experience Needed for the Code Kit?
Will this Work with the Bits I Already Have?
Code Kit Device Compatibility
Debugging littleBits Code
Code Kit Debugging Checklist
Difficulty Connecting codeBit to Computer
I'm not a Teacher - Can I Buy This?
What Kind of Code Does this Teach?
Hall of Fame Kits
Hall of Fame Kit Instructions
Are the Templates in the Bubble Bot Waterproof?
Empty Compartment upon Opening
Sound Trigger not Holding a Sound for 3 Seconds
Can I Combine Kits to Make Extra Inventions?
Pro Library / Makerspace Invention Wall
Makerspace Invention Wall / Pro Library Storage options
Wall Storage Mounting Instructions
2018 Pro Library Updates
Education Starter Kit
General littleBits Questions
Disinfect littleBits with UV Light
Taking Care of Bits in the Classroom
littleBits Classroom - Lessons and Curriculum for Educators
littleBits Inventor Kits
Gizmos & Gadgets Kit 2nd Edition
User Manuals - English
User Manuals - Italian
User Manuals - Spanish
User Manuals - Portuguese
User Manuals - German
User Manuals - French
Sphero + littleBits Apps
Computer Science Foundations
Using Computer Science Foundations
Purchasing Computer Science Foundations
Accessing Computer Science Foundations
Which Robots work with CS Foundations?
Sphero Edu: Important Notifications
Changing Support for iOS 10 and 11 with Sphero Edu 6.3.0
Changing support for iOS 9 in the Fall of 2020
Update: Sphero Compatibility with Chrome OS
Sphero Q&A: Chrome OS Update
Sphero Virtual Robot Beta
Robot Keeps Disconnecting (iOS)
Important RVR Firmware Update - August 31, 2020
Changing support for Android 5, 6, and 7 in February, 2022
Major Sphero Edu Windows App Update
Changes to Community Programs in May 2022
iOS Sphero Edu Video Playback Issues
Major Sphero Edu macOS App Update
Sphero Edu and Location Services for Android and Chromebooks
Sphero Edu Platform Scheduled Maintenance: July 8th, 2023
Google Sign-In Changes for the macOS and Windows Versions of Sphero Edu (Legacy Issue)
Important RVR/RVR+ Firmware Update - October 2022
Which Robot is Best for my Needs?
Sphero EDU Device Compatibility
Sphero Edu Class Codes
Account Setup with Sphero Edu
Verifying your Child's Sphero Edu Account
Verify Teacher Identity
Changing my Child's Password
Programming with Sphero Edu
In The Classroom
Change My Language
Privacy and Security
Sphero Edu QR Codes
Sphero Edu + Clever
Locating Missing Programs
Sphero Edu Android App on Chromebooks
Sphero Edu Account Deletion
Sphero Edu app (Windows vs. Chrome)
Getting Started with Sphero Edu
Classroom Management Tools
Publishing Sphero Edu Activities
Sphero Edu + Google Classrooms
Sphero Edu Activity Codes
Sphero Edu Webinars
What Sounds Can I Make With Sphero EDU?
Archiving Sphero Edu Classes
-999 Error Code
Sphero Edu IT Guide for Schools
Changing Text-To-Speech Settings for The "Speak" Block
Downloading the Sphero Play App
Using Scream Drive
Sphero Play Device Compatibility
Programming with Sphero Play
Choosing Language Preference
Downloading Sphero Play
Unable to Access Golf Drive
Privacy + Security
Face Drive not Available
- All Categories
- Sphero Products
- Enabling Location Permissions on Android
Enabling Location Permissions on Android
Updated by Micah Daby
You may have noticed that some of our Android apps ask for Location Permissions when you use them. In a number of our apps, Location Permissions are required to scan for and find BLE (Bluetooth Low Energy) enabled Sphero robots nearby. We do not collect, store, or share any location information about our users. In most of our apps, displaying the Location Permission popup is required by Google and we have implemented it in order to comply with their developer documentation.
Sphero Android apps that do not require Location Permissions for Bluetooth scanning:
- Sphero Edu (with version 6.3.3 or newer)
Sphero Android apps that require Location Permissions for Bluetooth scanning:
- Sphero Play
- Sphero Edu Jr
- Specdrums Mix
As of version 6.3.3, the Android Sphero Edu app uses a companion pairing process, which removes the need for Location Permissions when scanning for nearby robots. In this implementation, Android handles the scanning process rather than the Sphero Edu app, which removed the technical need for Location Permissions.
Technical Breakdown of Location Permission Requirements
Google introduced changes to how they handle permissions and protect users in Android 6. As of Android 6, apps that use BLE to scan for Bluetooth hardware must declare either fine or course location permissions. See this official documentation from Google that covers the requirement.
The text below is applicable:
To access the hardware identifiers of nearby external devices via Bluetooth and Wi-Fi scans, your app must now have the ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION permissions
In particular, note that we need the ACCESS_COARSE_LOCATION permission to use BluetoothLeScanner.startScan(), which is used to scan for available Sphero robots in range.
Google has added additional requirements in Android 10, including the need for the ACCESS_FINE_LOCATION permission when scanning for robots via BLE. See this documentation for additional details.
The text below is applicable:
If your app targets Android 10 or higher, it must have the
ACCESS_FINE_LOCATIONpermission in order to use several methods within the Wi-Fi, Wi-Fi Aware, or Bluetooth APIs.
Google has added additional requirements in Android 12 when scanning for robots via BLE. Similarly to Android 10, Android 12 requires ACCESS_FINE_LOCATION permissions. However, It allows users to choose if they give precise or approximate location data to the app. See this documentation for additional details.
The text below is applicable:
When your app requests both
ACCESS_COARSE_LOCATION, the system permissions dialog includes the following new options for the user:
Precise: Provides the location accuracy that the
Approximate: Provides the location accuracy that the
On Android 12, users must select "Precise" location to be able to scan for Sphero robots.
ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION permissions result in the end user being prompted to enable Location Permissions. As a result, we will need to continue displaying Location Permission prompts to the end user to allow them to scan for BLE robots.