Replies: 7 comments 10 replies
-
|
A Chrome extension is an interesting idea to get a solution without having to wait for us, but risks breaking if we make internal changes to Pybricks Code. I've also seen a few attempts at integrating something directly into Pybricks Code.
Also, the web filesystem API's have come a long way since we started Pybricks Code, so maybe we could try saving files to the local file system instead of in the indexeddb and let <insert your favorite file syncing software here> handle the syncing between systems. Proper file system access would even handle more use cases than syncing files. Unfortunately, from time to time we have users lose all of their programs that weren't backed up because the browser decides to clear out the indexeddb without warning. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for referencing. You can try my forked pybircks-code, individual file can be uploaded or downloaded from a google drive folder. Based on our team's experience with 5th and 6th graders, this version has worked well, but some kids may need time to get familiar with this new steps. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the response @dlech ! So I'm guessing it's not too difficult to run an instance of the IDE code (just without the blocks)? I haven't tried setting pybricks-ide up locally yet but also I'd like to have the blocks for now until my team gets older. I had some npm install issues but I haven't spend any time debugging it. So it sounds like the IndexedDB contents database is the source of truth for the files for now? I'll give the extension a shot and see how it goes. Thanks for the code @scatwang - will take a look as well and see if it works for us. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks @davidyang, @Kikketer , @scatwang for your ideas! We've been looking at this as well, with some concepts in progress. As a first step, I think it would be nice to sync to a local folder. If we can design it to work well with local apps such as Google Drive, Dropbox, or even Git, we might not have to integrate those into Pybricks. Aside from the technical side, there are some user considerations. The following seems quite useful and practical. Open to your input! Choosing a local folder Just this once, all Synchronization If you edit or delete a file locally, that change will show up in Pybricks automatically. There aren't any (official) APIs (yet) that will give us events on file changes. We can poll after some time, as well as on events such as opening the file explorer. We can replace this with APIs with file change events once they are stable. In all cases, the user file system wins if there is a conflict. This lets git/dropbox/drive do what they are good at, rather than us reinventing the wheel. We can start this way, at least. Blocks |
Beta Was this translation helpful? Give feedback.
-
|
Hi @laurensvalk - I actually worked with @s-tn on this problem earlier this year and we built a pretty awesome Chrome extension that I used with my kids for FLL (we got 1st place Robot Game in NYC - 485 points). BTW, I attribute a large part of our success to teaching the kids how to use Pybricks with github, I can't really imagine how kids are competing without it (though I have heard more professional teams just use the VSCode plugins). I'll add you to the repo to take a look at our design, probably not worth building on top of since we had to use some script injection tricks into pybricks. But design observations we saw:
Just some observations we had - we used it to much success and those were the design parameters that worked for us. For FLL - typically kids were changing just their one file (one file per mission) rather than more global changes. For a real coding project where there are more layered abstractions and utilities that may break down. A screenshot of how it looked:
|
Beta Was this translation helpful? Give feedback.
-
|
Have you seen the upcoming tech from the CS&AI kit? I don't know much
about the tech stack on it and I'm concerned that they'll lock it down
similar to how they locked down the racing cars with internal keys. I was
really hoping to remote control with Xbox the Porsche/Lamborghini but it
sounds like in another thread that it will unlikely ever happen.
It's really a bummer - the Spike with Pybricks really is such an amazing
build platform for kids - my kids have integrated it with all kinds of
stuff (like the Orrery and City trains). I feel like there is a market for
someone to provide backwards compatible hardware to Spike so that some of
these competitions can keep going.
…On Thu, Apr 16, 2026 at 3:37 PM Laurens Valk ***@***.***> wrote:
Very cool. I'm so glad to hear your teams had a fun experience and did so
well!
In the upcoming version <https://beta.pybricks.com/>, two students can be
connected to the robot at the same time. Students will still need to
coordinate of course, but the robot is often sitting idle during code
sessions anyway, and this reduces the hassle considerably.
—
Reply to this email directly, view it on GitHub
<#2351 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAACNRNQCZABF6NHRCM2X3T4WEY6RAVCNFSM6AAAAACWGCRFMSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMNJZGI4DEMI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
Are there instructions for that somewhere? I saw that someone had hacked a
laptop to control it (xbox -> laptop -> car) but this could be cooler for
being kid playable. like a super advanced bluetooth smartbrick!
My guess is that FIRST can't run a program if schools can't buy something
at scale from a company that can support returns and invoicing. Even with
the EV3/Spike second-hand market, new teams just won't be able to get
going.
pybricks is one of my favorite open-source projects so I'm wishing the best
for this community and FLL long-term but I'm just worried that Lego has
really walked away from robotics longer-term.
…On Thu, Apr 16, 2026 at 5:22 PM Laurens Valk ***@***.***> wrote:
I was really hoping to remote control with Xbox the Porsche/Lamborghini
but it sounds like in another thread that it will unlikely ever happen.
😎
https://github.com/user-attachments/assets/80576da4-f55a-49f4-831c-59343e5ed00d
I feel like there is a market for someone to provide backwards compatible
hardware to Spike so that some of these competitions can keep going.
We're on a mission to revive EV3 from 10 years ago and there's at least a
million of them still out there. Spike won't be going anyway any time soon
if we can help it :)
FIRST will still be allowing teams to enter with SPIKE beyond next year
(it's in their official FAQ).
—
Reply to this email directly, view it on GitHub
<#2351 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAACNROATGPU7O45JMDLH4L4WFFH7AVCNFSM6AAAAACWGCRFMSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMNJZGM4DSNI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.


Uh oh!
There was an error while loading. Please reload this page.
-
Hi Pybricks team - love the software and I'm 100% convinced it helped us win our regional championships last year!
However, one thing that continues to drive me a bit crazy is the file sync between computers. I let each student have their own file but then we also try to make libraries of useful things to share between the files. Syncing these on the web IDE can get frustrating and lead to errors.
I know it's not on the priority list - but I'm interested in building a Chrome extension that would handle the sync. The basic idea would be to read the files out of IndexedDB and use Google AppData (or just a custom built endpoint) to sync between computers on a last-write basis (perhaps with file histories that could be restored at certain snapshots).
Of course, as my team gets older I'll move them off to VSCode and Github but I have an eight year old who is still not that comfortable with typing but OK with the blocks.
Would love to hear your thoughts (and advice) on this idea and if it would be enough or if the IndexedDB storage isn't quite what I need and there's another place where the files are truly kept?
Beta Was this translation helpful? Give feedback.
All reactions