Looks nice - especially for people who wants to modify it themselves. I would like to test SLAB, but I have very little knowledge beyond simple Arduino stuff.
That's the idea. You can modify it for your own purposes.
1/ I have a http://www.st.com/en/evaluation-tools/nucleo-f446re.html board that I haven't used yet. Can I use that in stead of the http://www.st.com/en/evaluation-tools/nucleo-f303re.html?
As long as it has 2 ADC channels, 4 DAC channels and is MBED enabled it can be easily used on SLab.
The 446RE complies with all requirements.
The firmware, however, is only currently compiled for the F303RE and L152RE boards.
That means that you need to create a new header file like the one for the L152RE and recompile
https://github.com/R6500/SLab/blob/master/Firmware/Source/Nucleo64-L152RE.hI could do that myself. Problem is I don't have this board and I don't want to publish a firmware I cannot test myself.
There is a part of the MBED code optimized at low level for the 303RE board. If you use any other board the sampling rate performance will be poorer although it will work. At DC there will be no difference at all.
2/ I am blank on Python, but have Python 2.7 running on w10:
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
Can I keep v.2.7 so that I can use an old HP Compaq running XP or w7 as a dedicated instrument PC?
SLab is based on Python 2.7 so it will be ok.
It requires numpy, matplotlib and pySerial so you need to have this libraries installed.
3/ If I use a Hantek 6022BE USB scope and an external transformer based wall wart as PSU, then I will not have to worry about grounding issues?
Current SLab implementation has the same grounding as the PC is connected to. The usual requirements for grounded scopes and function generators apply also to SLab.
SLab should be quite safe if you power your circuits only from SLab itself. If that is not the case, you need to do your own verification of the setup safety.
I'm now working in a SLab shield for the F303RE board with galvanic isolation. Stay tuned.
4/ My old Compaq XP laptop with metal top seems to have (half) line voltage potential exposed. This seems to be inherited by the scope? Is this a problem for the STM board and shield electronic?
Don't really understand what half means in this context.
Basically SLab is connected to the 5V and GND lines of the USB connector so there is currently no galvanic isolation to the PC. If you can use the PC, you can use SLab. Problems could arrise when you want to connect SLab to any other instrument or circuit.
5/ I just bought the hardware box and experiment board for the old obsolete NI ELVIS (it is just a big experiment board, with some electronics inside the box, some connectors and a break out header for an NI DAQ - powered by a transformer based ungrounded PSU).
I do not want to use NI DAQ or Digilent Analog Discovery, but would like to make very simple stuff myself using the DAC/ADC and analog/digital I/O of the STM board. Will most people be able to modify the SLAB STM-code and Python-code for extra analog/digital pins in/out, tables n graphs, stats and math etc. ?
SLab documentation is Creative Common Attribution-ShareAlike 4.0 International license.
SLab hardware is completely open (Don't know about the Nucleo boards but they are full documented).
SLab software is do whatever you please with no warranties (MIT license alike).
The software is designed and documented so that it is easy to modify for your own purposes.
Modifications on the software depend on what you want to do.
A lot of extensions can be performed just adding Python code.
In order to add new core functionalities, like more than 8 digital I/O lines or high speed sampled digital capture, the board firmware shall be modified also. I have a plan for some new functionalities, but if you cannot wait and want to modify the code yourself, just do it.
It should be easy because the firmware just responds to commands. New commads can be made nearly independent of previously implemented commands. Although using a similar protocol on new commands will help.