RF Academy
Software setup

Set up your computer for the labs.

Start with Python: it is free and runs the notebooks in the toolkit. Add MATLAB or other tools when you reach a lab that uses them.

Choose your next step

What you want to doWhat to getWhen you need it
Read lessons and use interactive browser labsA browser and your RF Academy accountStart now; no installation
Run and edit Python notebooksMiniforge, Python 3.12 and the toolkit packages, including JupyterLabA good place to start; all free
Run the MATLAB examplesMATLAB plus the toolboxes for your chosen scriptOptional; needs your own license or school/employer access
Explore circuits, HDL or PCB designOnly the relevant tools listed belowLater, when you reach that project

RF Academy membership does not include licenses for other software. Python and MATLAB cover related ideas here, but their examples are not interchangeable.

Python: install and run your first notebook

  1. Install Miniforge. Choose the official Miniforge download for your operating system and processor, then follow its installation instructions. Miniforge includes conda, which keeps the lab's Python packages together in their own folder. On Windows, choose the current-user installation and open Miniforge Prompt from Start afterward. On macOS or Linux, follow the installer's shell initialization instructions and reopen Terminal. Check that conda is available:
    conda --version
  2. Download and extract the whole toolkit. Sign in with an active membership, then download the toolkit ZIP. Extract it into a writable folder. Open the inner RF-Academy-Toolkit folder: it contains requirements.txt, python and notebooks. Keep those folders together; do not run from inside the ZIP.
  3. Open that folder in your terminal. Copy its full folder path from your file manager. Replace the example path below with yours; keep the quotes.
    Windows: Miniforge Prompt
    cd /d "C:\Users\YourName\Documents\RF-Academy-Toolkit"
    dir requirements.txt

    Use Miniforge Prompt for these commands. The /d option changes both the drive and folder.

    macOS or Linux: Terminal
    cd "/your/path/RF-Academy-Toolkit"
    ls requirements.txt

    Use the Python commands below. The toolkit's .cmd and .ps1 launchers are for Windows.

  4. Create your lab environment.
    conda create --prefix ./.rf-python --override-channels --channel conda-forge python=3.12 pip

    Review the package list and enter y to proceed. This installs Python 3.12, the version used by this toolkit, in a new .rf-python folder. Keep that folder inside the toolkit. You only need to run this command once.

  5. Install the notebook packages.
    conda run --prefix ./.rf-python python -m pip install -r requirements.txt

    This installs the versions in requirements.txt, including NumPy, SciPy, scikit-rf and JupyterLab, in your .rf-python folder. Wait for the installation to finish before continuing.

  6. Check your Python setup.
    conda run --no-capture-output --prefix ./.rf-python python python/rf_notebook_runtime.py --check

    Look for "fftRoundTrip": true and a Python path inside your .rf-python folder. This checks the notebook's RF packages with a small calculation.

  7. Open your notebook.
    conda run --no-capture-output --prefix ./.rf-python python python/rf_notebook_runtime.py

    Keep this terminal open. JupyterLab should open in your browser, but the notebook runs on your computer. If it does not open, use the local URL printed in the terminal; keep its login token private. Open notebooks/00_python_workbench.ipynb and choose RF Academy (selected Python) if asked for a kernel. Run cells with Shift+Enter, then use Restart Kernel and Run All to run the whole notebook from the beginning.

Tested on Windows with a new Python 3.12 environment and the complete first notebook. The macOS/Linux steps use the same vendor-supported commands; we have not tested them on those systems for this release.

Next time: open Miniforge Prompt or Terminal, return to this toolkit folder and run only the launch command. Stop Jupyter with Ctrl+C when finished. New experiment outputs go under results; keep reference-results unchanged. Your website notes and local files are separate.

I already have a working Python environment

You can keep it. Use its full Python executable path to run python/rf_notebook_runtime.py --check, then run the same file without --check to start. The old Windows double-click launcher defaults to miniforge3/envs/rf; it will not automatically find the new .rf-python environment. Use the commands above for this setup.

More help: conda environments, conda run and Jupyter installation.

MATLAB: install only what your lab needs

  1. Check whether your school or employer provides MATLAB and the toolboxes you need. Sign in to your MathWorks account and check with the license owner that you can use them for these labs. You can use the browser and Python labs while arranging access.
  2. Follow the official MATLAB installation guide. The toolkit's reference results use R2025b; results may differ with another release. Check MathWorks' operating-system requirements for the version you install. You need MATLAB itself: MATLAB Runtime cannot run these editable .m scripts.
  3. Select MATLAB and the products listed for your first lab, plus any dependencies the installer requests. Toolboxes need their own license access. Existing users can add licensed products to their installation. These five scripts do not need Simulink.
  4. Extract the complete toolkit if you have not already. Start MATLAB and set its Current Folder to the toolkit folder containing matlab. In the Command Window, run
    version
    ver
    to see your release and installed products. Run the which checks for your lab below. A returned path means MATLAB can find the function; a license must also be available when you run it.
Script in matlab/Products in addition to MATLABFind the functions
rf_networks_lab.mRF Toolbox
which sparameters
antenna_lab.mAntenna Toolbox
which dipole
coupled_array_lab.mAntenna Toolbox and RF Toolbox (the script calls s2z)
which dipole
which s2z
communications_array_lab.mCommunications Toolbox, Phased Array System Toolbox, DSP System Toolbox and Signal Processing Toolbox
which qammod
which phased.ULA
specializations_lab.mCommunications Toolbox, Phased Array System Toolbox, DSP System Toolbox and Signal Processing Toolbox
which musicdoa
which convenc
which xcorr

Phased Array System Toolbox requires Signal Processing Toolbox. Communications Toolbox also requires DSP System Toolbox and Signal Processing Toolbox. Let the installer resolve dependencies; do not buy every toolbox just to start.

Your first MATLAB run

If you have RF Toolbox, run the small network example from the toolkit root:

run(fullfile('matlab', 'rf_networks_lab.m'))

Look for PASS MATLAB RF Toolbox: 5 checks, with data and a plot under results/matlab_networks. For another lab, open its .m file in the editor and choose Run. Antenna mesh studies take longer and can use much more memory. If a function is missing or a license cannot be checked out, check the products listed above and try again.

The first-run check used an existing licensed MATLAB R2025b installation on Windows.

Other tools: install when the project needs them

ProjectTool and official sourceFirst check
Circuit simulationQucs-S with ngspice, free. The Windows installer includes ngspice; other packages may need it separately.Open Qucs-S and confirm the ngspice backend. Follow the toolkit SPICE guide for spice/butterworth_100MHz.cir. Its Windows runner assumes C:\Program Files\Qucs-S; adjust the executable path in your downloaded copy if yours differs.
Digital HDL simulationIcarus Verilog, free. Vivado is a separate option for the FPGA implementation work.Confirm iverilog and vvp are installed. The supplied Windows runner expects C:\iverilog\bin; adjust its paths in your copy if needed. Follow hdl/run-icarus.ps1 and look for PASS RF_ACADEMY_HDL.
PCB practice boardKiCad, free; the supplied native files were created with KiCad 10.Open cad/rf_coupon.kicad_pro with a compatible version, then open its board. This layout is for learning and has not been approved for manufacture.
Vendor-specific FPGA or mechanical CAD workAMD Vivado or AutoCAD only for the corresponding lab; use the vendor's download and check your license and target-device support.Use the toolkit's FPGA/CAD guides. You can postpone these tools while learning Python and circuit fundamentals.

The toolkit's Windows runners have not been tested on macOS or Linux. On those systems, follow the vendor's installation instructions and the lab guide. After setup, run the lab's checks to confirm it works.

When setup gets stuck

“conda is not recognized”
On Windows, open Miniforge Prompt from Start, not a previously opened terminal. On macOS/Linux, finish the vendor's shell initialization and reopen Terminal.
“requirements.txt not found”
You are in the wrong folder or still inside the ZIP. Open the extracted inner RF-Academy-Toolkit folder and repeat the directory check.
“No matching distribution” or an import fails
Check that the command uses the .rf-python environment and Python 3.12. If it still fails, save the full error for support before changing package versions.
Jupyter's port is already in use
Run the same launch command with --port 8899 appended. Keep the local login protection enabled.
MATLAB cannot find a function
Run ver and the matching which checks. Install the missing licensed toolbox, or choose a Python/browser lab while you arrange access.
I need help
Use Contact support below. Include your operating system, the step or command, Python/MATLAB version and error text. Remove account credentials, Jupyter tokens and confidential project data.