ScoutingPASS 2023 Season Update is now LIVE!

PWNAGE is happy to announce the 2023 Season version of ScoutingPASS Check it out: GitHub - PWNAGERobotics/ScoutingPASS: A FRC Competition Scouting Application.

We have a live demo of it for 2023 scouting running here: Scouting PASS.

2023 Updates

ScoutingPASS continues to evolve. Here are the changes for the 2023 Season:

  • New Timer component - Start/Stop and Clear Buttons
  • JSON simplification - The JSON structure has been simplified to make it a little easier to maintain. The previous years configuration files have been updated to use the new structure.
  • Add “Flip Image” button to the Field Image component
  • Add “tooltip” option for components - Tooltips will appear when hovering over the name of the component
  • Bug Fix: Two field image elements on the same page will now render correctly
  • Google Sheets data export (See the Google Sheets page for more details)
  • Configurable checkbox values in configuration file. Defaults to Y/N. Can set to Y/N, T/F or 1/0. See line 5 of 2022/RR_config.js for an example

For those of you who are not familiar with ScoutingPASS here are the main features:


  • A JSON configuration file controls the elements of the game to track. Create a new configuration file each year for the new game, or tweak it week to week to refine your scouting. No additional coding is needed. (We have a fully functional 2023 scouting application live within 24 hrs)


  • Works on any device that has a web browser that runs JavaScript. Apple, Android, phones, tablets, laptops, it works on them all.

Low/No Bandwidth

  • Neither WiFi nor Cellular required at event. The web page can be downloaded before the event and doesn’t need to be reloaded.

Easy hosting

  • Self hosting via GitHub. (See directions below)

The Blue Alliance Integration

  • Pull data for the event from The Blue Alliance. Team #s, Team Names and Schedules

5188 Mentor here.
Love the scouting app!! We used it to great effect last year.

Have you thought about using a system similar to your field starting position (where you tap on a picture), but for keeping track of where game pieces scored?
I’m thinking it might be useful to create heatmap of where people have scored on the grid. This might help you figure out which of the chokepoints a defensive team should cover.


Happy to see ole’ reliable has returned. Excited for another year!


That’s a great idea pirate_raider!

You can kind of do that now with the field image element. It will chop the image into a 12 (x-axis) by 6 (y-axis) grid. So if you scale the image so it fits in the left (or right) 3/4 of the image (using only 9 of the 12 boxes on the x-axis) then each “node” will contain 2 boxes. Count either box as a score (or use 1 box for cones and 1 for cubes). You could create the image to only use the top half of the image and left 3/4 then only 1 box per node, but that would leave a lot of extra space for misplaced clicks.

It’s not ideal, but it could be done.

We will look into a custom field image element as this would be a good application for it.

Release v2023.2 has been released.

New features:

  • Cycle Timer introduced - Simple timer to track cycle times (see Demo to see how it works)
  • Google Sheets bug fixed (Thanks Joshua!)
  • Added Display Data and Copy Data buttons on QR screen (Thanks Asher!)
  • Other bugs scouted and squished

What features would you like to see?

Next we’re pondering a clickable Grid layout (image) to track scoring in the grid like @pirate_raider suggested. What do you think?


Hello all, on behalf of team 818,

we have been trying to implement the new google sheets feature and we ran into a problem that we cannot get past. We followed the step by step that you guys have posted on the github, but the only thing that gets imported is the date. Any time we try to add any new heading such as ‘scouter’ the sheet does not update, not even date. Basically the sheet only works with the date heading. What am I missing or can do to fix this problem?

Thank you for the help in advance.

We haven’t put out a 2023 Google Sheets config yet. But you can look at the 2022/RR_GS_config.js for an example.

A few things to try to troubleshoot the Google Sheets integration:

  1. Each element in the configuration file has a “gsCol” attribute (see RR_GS_config.js for example)
  2. Your spreadsheet has a header that matches the gsCol attribute (i.e gsCol = TeamNum; Spreadsheet header should be TeamNum)
  3. Check the console for errors

If you PM me your website and spreadsheet link, I can check the configuration and see if I can find the issue.

Hello! 7617 RoboBlazers really appreciate you sharing this with us! We are seeing a weird glitch where the match level and robot radio buttons can’t be selected at the same time. Clicking one value in either field clears out the other. We’re new to this approach and would appreciate any advice. Thanks again. Update: “Bad copy/paste” message from github.

Things are moving fast this year. Many more updates to ScoutingPASS have been released.

Release v2023.3 has been released.

The biggest new feature is the new Clickable Image component. (Thanks @pirate_raider!)

  • Unlike the old field_image, this component allows the configuration of the number of clickable boxes to assign to an image.
  • You can also change the behavior of clicks through configuration. You can allow only one click on the image, one click per box, or unlimited clicks.
  • Finally, the clickable_image can be tied into a Cycle Timer.


We made a clickable image of the Grid. Now you can easily track where and what game piece a team scores on the Grid. It’s also a simple process to then calculate how many cones and cubes were scored as well as what level (hybrid, medium or high) game pieces were scored.

But that’s not all! The clickable image of the grid is tied into the Cycle Timer in the Teleop page. Start the timer when teleop starts. When a team scores, you just need to click the image and the Cycle Timer records the time and resets the timer for the next cycle. If a team drops a game piece you can manually record the cycle by clicking the New Cycle button.

See how easy it is by trying our 2023 demo.

Love the new update. It’s going to make cycle time tracking a lot easier. How do you plan on formatting the placement data in excel/sheets? I tested it with the excel macro and it gave numbers that I assume are certain scoring zones, however are there other ways to possibly visualize the scores in excel?

Thanks again, I love your program with all my heart. Makes our scouting team function!


Yes, the boxes are numbered, starting from the top left going across. The output is a list of all the boxes that are checked. We’re working now on Excel/Sheets formulas to turn that array of boxes into columns like “NumOfConesScored” and “NumOfHighScores”. We’ll publish those when we’ve got them ready.

The boxes are numbered like this:

So, count all the checked boxes for a total number of scores for a team. Add up the yellow boxes for cones scored. Add up the purple boxes for cubes scored. Then you can add up the rows for number of scores on high, medium or hybrid rows. Once you have those totals, you can easily convert those into points scored if you desire.

1 Like

Here’s the latest release of ScoutingPASS Season 2023.

This new release includes:

There are not any functional changes, but we added resources for your team to make sense of the data being passed into Excel.

Also, there’s a comprehensive document on configuring ScountingPASS that should include everything you need to know to configure it to work for your team.

Keep those bug fixes and improvements coming. We love to see Coopertition in action to make this application better!

1 Like

Thanks for sharing your app. I’ve created a github account and forked the app. However, I don’t understand how I can choose which event shows up in the website. Mine is defaulting to 2022carv. Do I need to program something within github to have it pre-select the event (so my scouters can’t accidently choose the wrong event)? Please let me know what steps I need to take to choose the event. Thanks much!

Edit the 2023/CU_config.js file. Line 17 holds the default event. Just update it to the event you want and commit the change.

It needs to be in format that FRC and TheBlueAlliance APIs use to specify events. Looks like your first event will be Milwaukee which has a code of 2023wimi. Seven Rivers: 2023wila

Too bad we’re not at the same competitions this year. Good luck!

Thanks much. That makes sense. And I agree, too bad we won’t be competing together. You are an awesome team and we enjoy seeing you. Good luck to you!

Hi! Just tried out the live demo and encountered this error:
“Enter all required values
Bad fields: as”
It seems that there is a field in the pre-match page that wasn’t filled in, but I wasn’t able to find it?

You have to click in the rectangle indicating the starting position of the robot.


It works now, thanks!

Thanks so much for putting this out there. I have a couple of questions.

Do you have an example of your custom excel screens and graphs you use for match strategy?
Has anyone successfully used Google Sheets at a competition or is it still in Beta?

Thanks again,


In the Excel folder on their github, I would recommend using the “2023 Excel Skeleton” sheet. From there, you can use their macro for inputting match data and use Pivot tables to extract that data to get charts and all that fun stuff. (Highlight the whole chart when you’re selecting data for the pivot table, then I think it’s easiest to put team number in for “rows” and then whatever data you want for the “value,” and you can change it to sum, average, or whatever)
There could be better ways, but this is what me and my team will most likely be going with this year! :smiley: