SimpleFOC WebUI (Based on SimpleFOC Studio and without WebSerial)

Hi guys,

I’ve been having some issues with simpleFOC studio which I think may be due to my platform / pyQT.
Hence I’ve wrote a web based UI (Forked from SimpleFOC Studio and built on its python API) which I’ll be using / fixing issues.

This may be useful if you are also having trouble with the GUI of simpleFOC studio not being responsive / crashing / not syncing inputs properly etc. One bonus is that you can run the UI on a tablet or a phone and then save the configuration to the computer which is hosting the UI.

I don’t promise the web ui is completely bug free yet, though I believe web browser UIs are comparatively more maintained and supported across platforms.

The connection does not use WebSerial. Which may be handy and make easier installation but not all browsers support it.

This is a new project so there is still some bugs. Though it’s 90-95% feature compatible with SimpleFOCStudio. (Missing notably the zero sensor button, but things like uploading config, saving config, generating code etc are there.). Please let me know if you are using this and come across issues / missing features, make an issue on github and I’ll fix it.

Code can be found here: GitHub - IpsumDominum/SimpleFOCWebUI: SimpleFOCStudio but with web UI



Tested on my Linux on Firefox|Chrome wont run


Thanks for testing. I’ve just pushed an update. Let me know if it’s still broken. This might be an issue with how the scripts imports are handled differently.

Unfortunately I don’t have a computer with linux handy just atm, but hopefully will be soon.
I’ll definitely make sure that will work on linux.

Best regards

Lol just read the french warning messages.

It turns out /dist directory was ignored which had all the library scripts in it.

It should work now if you pull the latest from main.

Merci pour votre travail, tout a l’air de bien fonctionner maintenant sous Linux !
Oup’s :-p
Thanks for your work, everything seems to be working fine now under Linux !

Pas de problème :slight_smile:
Je ne suis pas vraiment français, j’ai juste utilisé Google Translate.

Good to hear! Let me know if anything breaks / bugs, or required features missing.

1 Like

Example of a script to run under Linux simpleFOCStudioWebUI
Save on


\. "$_CONDA_ROOT/etc/profile.d/" || return $?
conda activate "simplefoc"
x-terminal-emulator -e $_PYTHON_ROOT -i
sleep 1
xdg-open http://localhost:7385
exit 0

Can I add it to the repo?

Edit: Feel free to make pull requests of any sort.

The code is still a bit messy atm but should be mostly traceable (with some exceptions notably the data being passed back and forth are not typed and their names are all over the place with different formats etc.)

It is posible to setup simple FOC for Step/dir interface sir?? So it will suport for CNC sir

Under Linux I have a bug.
When I connect it doesn’t detect/load my settings,
I have to reload the page for it to load my settings
tested with Firefox and Chrome

Hi there,

I’m not the author for SimpleFOC, just this UI (which is based on the work of SimpleFOC Studio).
I’m also new to this library but I believe it is possible to drive stepper motors. It might be able to set it
up with Step/Dir interface but since simpleFOC does the signal generation it’d be something you add on top of. See if this page helps: StepperMotor | Arduino-FOC

Also wiring diagram of an example can be found here: Stepper Motor Control Nucleo | Arduino-FOC

Hmm interesting, can you elaborate a bit more?
By settings do you mean the parameters (ie. PID params etc)

When you connect, have you already made a connection (ie didn’t manually disconnect earlier), or clicking on the button to manually connect to a device?

In the mean time you can press the ‘pull parameters’ button on the left (You can click the icon to open the sub menu)


I hadn’t seen the menu on the top left (not intuitive to find, I think)
I connect using the top right button, but it doesn’t load my settings ==> (P.I.D, loop mode, torque mode, etc …)
I didn’t see it on my first test, because out of habit I first press F12 then F5 …
after clicking on connect I do an F5 and it loads my parameters.
Sorry, my English is really bad, I use a translator …

That’s strange. I’ll need to do some tests to replicate this.
Atm on connect it automatically pulls the config.
I’ve pushed an update for it to try to periodically sync frontend and backend every 1 second, (feel free to try it out), in case somehow something was missed.

Getting a little late for me atm.
Will do more testing tomorrow.

C’est étrange. Je vais devoir faire quelques tests pour reproduire ce phénomène.
Actuellement, lors de la connexion, il tire automatiquement la configuration.
J’ai poussé une mise à jour pour qu’il essaie de synchroniser périodiquement le frontend et le backend toutes les 1 secondes, (n’hésitez pas à l’essayer), au cas où quelque chose aurait été raté.

Il se fait un peu tard pour moi en ce moment.
Je ferai plus de tests demain.

Hey @Giant_Bee , great work!

I have tested your application and I have a few issues to report. However, it seems you didn’t enable the “Issues” section in GitHub. Do you prefer we post issues here?

Hi @quentin!

Thanks for pointing that out! I just enabled issues in the repo. Feel free to post either here or on github.
I think it might be better on github actually, to better keep track, but I’ll check both.


1 Like