Managed to get the downloadable content and updates working for the Windows App.
Fix LEGO MINDSTORMS Windows Content Download Failure
Problem
The LEGO MINDSTORMS Windows app may fail when downloading content because its app configuration points to a broken QA S3 bucket:
lego-education-atlas-app-content-qa.s3.amazonaws.com
The app receives this configuration from a local appconfig endpoint:
http://localhost:<port>/content/appconfig/appconfig.json
This workaround replaces that local appconfig response using Fiddler AutoResponder, removing the broken AWS/S3 config so the app uses the normal LEGO Education content URL instead.
What you need
Install:
Fiddler Classic
PowerShell does not need to be run as Administrator for the main workaround.
Step 1 — Open Fiddler
Open Fiddler Classic.
Make sure traffic capture is enabled:
File > Capture Traffic
It should be ticked.
Step 2 — Start the LEGO MINDSTORMS app
Open the Windows MINDSTORMS app.
In Fiddler, look for a request like:
http://localhost:53389/content/appconfig/appconfig.json
The port number may be different each time, for example:
localhost:53389
localhost:50123
localhost:62410
The important part is:
/content/appconfig/appconfig.json
Keep a note of the port number for Step 3.
Step 3 — Save the current appconfig
In PowerShell, replace the port number with the one shown in Fiddler:
$Port = <PORT NUMBER>
curl.exe -s "http://localhost:$Port/content/appconfig/appconfig.json" -o "$env:USERPROFILE\Downloads\appconfig-original.json"
Step 4 — Create a patched appconfig
Run this in PowerShell:
$Original = "$env:USERPROFILE\Downloads\appconfig-original.json"
$Patched = "$env:USERPROFILE\Downloads\appconfig-patched.json"
$json = Get-Content $Original -Raw | ConvertFrom-Json
# Remove the broken QA/S3 config
if ($json.contentstack.PSObject.Properties.Name -contains "aws") {
$json.contentstack.PSObject.Properties.Remove("aws")
}
# Ensure the normal LEGO Education content URLs are present
$json.contentstack.url.global = "https://education.lego.com"
$json.contentstack.url.cn = "https://education.lego.cn"
$json | ConvertTo-Json -Depth 100 | Set-Content $Patched -Encoding UTF8
Write-Host "Patched config created at: $Patched"
Step 5 — Confirm the bad bucket has been removed
Run:
Select-String -Path "$env:USERPROFILE\Downloads\appconfig-patched.json" -SimpleMatch "lego-education-atlas-app-content-qa"
If there is no output, the bad QA bucket has been removed.
Check the normal content URL is still present:
Select-String -Path "$env:USERPROFILE\Downloads\appconfig-patched.json" -SimpleMatch "https://education.lego.com"
Step 6 — Configure Fiddler AutoResponder
In Fiddler:
Go to the AutoResponder tab.
Tick:
Enable rules
Unmatched requests passthrough
Add a new rule.
For the match rule, use:
regex:http://localhost:\d+/content/appconfig/appconfig\.json
For the response, give the location of the patched JSON file. E.g.
C:\Users\bob\Downloads\appconfig-patched.json
Step 7 — Restart the app
Fully close the LEGO MINDSTORMS app.
Keep Fiddler open.
Make sure AutoResponder is enabled.
Start the LEGO MINDSTORMS app again.
In Fiddler, confirm the request to:
/content/appconfig/appconfig.json
is being handled by AutoResponder.
Step 8 — Download all available content and updates
In the MINDSTORMS app, go through the content/update screens and download everything available.
Apply all available updates and download all additional content including community content.
The aim is to let the app fully populate its local content cache while Fiddler is still serving the patched appconfig.
Keep Fiddler running until all updates and additional content downloads have completed successfully.
Step 9 — Put the PC back to normal afterwards
Once the content has downloaded successfully, stop Fiddler from modifying traffic.
Disable AutoResponder
In Fiddler:
AutoResponder > untick Enable rules
You can also delete the AutoResponder rule.
Stop capturing traffic
In Fiddler:
File > Capture Traffic
Untick it.
Then close Fiddler.
Step 10 — Optional cleanup
Delete the temporary config files:
Remove-Item "$env:USERPROFILE\Downloads\appconfig-original.json" -Force
Remove-Item "$env:USERPROFILE\Downloads\appconfig-patched.json" -Force
Summary
The workaround is:
1. Capture the localhost appconfig request in Fiddler.
2. Save appconfig.json.
3. Remove the contentstack.aws block.
4. Serve the patched appconfig using Fiddler AutoResponder.
5. Restart the MINDSTORMS app.
6. Apply all updates and download all additional content, including community content.
7. Disable Fiddler and close it afterwards.
The key fix is removing this block from the appconfig:
"aws": {
"accessKeyId": "...",
"secretAccessKey": "...",
"bucket": "lego-education-atlas-app-content-qa"
}
Once removed, the app stops generating broken QA S3 download URLs.