Skip to content
MagicMirror Module for fitbit
Python JavaScript CSS
Branch: master
Clone or download
Latest commit 9c055e1 Dec 16, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
img Added auto updating Apr 5, 2016
.gitattributes 🎉 Added .gitattributes Mar 31, 2016
.gitignore Update .gitignore Apr 1, 2016
MMM-fitbit.css Use css for formatting Apr 22, 2016
MMM-fitbit.js Fix 3 for interval Sep 9, 2016 Update Sep 9, 2016
node_helper.js Revoking root permissions Jun 1, 2016


MagicMirror Module for getting fitbit data. First time users follow setup instructions, if your tokens get lost run again without arguments and accept reading from credentials.ini.



  • As with all modules, use git clone <this url> in the modules directory to download the module
  • Goto fitbit to register a new app (sign in with your fitbit account)
    • Give your app a catchy name and description
    • Your personal website, organisation, and organisation website can be whatever you like
    • Check browser and personal for OAuth settings
    • Callback URL MUST BE
    • Give your app read & write permissions (read-only untested)
    • Note your:
      • "OAuth 2.0 Client ID" --- (client_id)
      • "Client (Consumer) Secret" --- (client_secret)
    • (You can access these again later via manage my apps at the same link as above)
  • Navigate to MMM-fitbit in the modules directory
  • Install dependancies using the listed commands
  • Navigate to the python directory in MMM-fitbit
  • Create blank files tokens.ini and credentials.ini or duplicate their .sample files
  • Via the command line on your Pi (NOT via SSH), run sudo python You must either:
    • Pass it your client_id and client_secret as arguments
    • Run it without arguments and have it read from credentials.ini (you can use this if you have already setup the module but need a fresh set of tokens)
    • Run it without arguments and enter your client_id and client_secret when prompted
  • Login using your fitbit credentials (if you are not already) and allow access to all options (if you do not some features may not work, but you may revoke app access and rerun sudo python to change these)
  • Add the example config to your config (entering relavent credentials)
  • Start your MagicMirror!


Example config

	module: 'MMM-fitbit',
	position: 'top_center',
	config: [
		credentials: {
			client_id: <client_id>,
			client_secret: <client_secret>,
		resources: [
		update_interval: 60


  • (Required) credentials:
  • (Required) resources: List of resources to display on Mirror. May take any combination of 'steps', 'floors', 'caloriesOut', 'distance', 'activeMinutes', 'sleep', 'heart'
  • (Optional) update_interval - (default value of 60): in the amount of time in minutes to wait before fetching new fitbit data. This must not be done too often otherwise fitbit will not send new tokens and an uncaught exception will be thrown. This happens after approximately 150 requests in an hour, so updates should be no more frequent than once every minute for safety.


See here.

You can’t perform that action at this time.