Skip to the content
4 layers96.5 × 116 mmMR Core, the printed circuit board in 3D

Open Source Magnetic Resonance Imaging Console

Size
96.5 × 116 mm
Copper layers
4
Thickness
1.6 mm
Parts
360
Nets
475
Pads
1,783
Tracks, vias
5,171, 745
Pours
25
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
21 Aug 2025
Updated
17 Mar 2026

Overview

MR Core is an open-source printed circuit board by hansgaensbauer, from the hansgaensbauer/MR-Core repository on GitHub, published under the CERN-OHL-W-2.0 licence. It is a 4-layer board of 96.5 × 116 mm with 360 parts on 475 nets, routed with 5,171 tracks and 745 vias.

It is built around the LAN8742A-CZ, DRV8220DSG and DAC5687IPZP, with the FT601Q-B-T, IS25LP256D-RMLE-TR and LD29300P2M among its other parts. Its parts include 199 capacitors, 77 resistors, 20 connectors, 16 ICs and 6 diodes.

Main components

9

README

README.md

Quick Start: The software folder contains a template Jupyter Notebook and documentation for the MRC class.

MR-Core

An FPGA Driven DAC + ADC for Magnetic Resonance, intended as a capable controller for Magnetic Resonance Imaging and Magnetic Resonance Relaxometry.

Features

  • STM32F767 Microcontroller for experiment-level sequencing and backend signal processing
  • Artix 7 FPGA for pulse generation, digital downconversion and DSP
  • 500MSps dual oversampling DAC with on-chip NCO for RF pulse synthesis
  • 120MSps dual ADC
  • X, Y, and Z gradient drivers for 3A low impedance gradient coils
  • 5Gbps USB-3.0 controller for raw data extraction
  • 100/10 Ethernet
  • SD Card Interface
  • Magnet/switch interface for temperature control and T/R switching

User Manual

Repository Setup and Software Prerequisites

Required Software


To set up the KiCAD Libraries:
  • Open KiCAD, go to Preferences -> Configure Paths..., and add a new Environment Variable called "BioMEMS" that points to the hardware/Library folder.
  • Add the symbol library by selecting Preferences -> Manage Symbol Libraries... and selecting the BioMEMS.kicad_sym file in this folder.
  • Check that the library path shows up as "${BioMEMS}.kicad_sym".
  • Add the footprint library by selecting Preferences -> Manage Footprint Libraries... and selecting the BioMEMS.pretty folder in Library.
  • Check that the library path uses the ${BioMEMS} variable.

The STM32CubeIDE project requires similar setup:
  • Create an environment variable called STM32CUBE_REPO, pointed to the STM32Cube\Repository folder on your computer.
  • Restart your computer
  • Open the project in STM32CubeIDE, and navigate to the IOC file
  • Under "Software Packs", click "Manage Software Packs"
  • Click "From URL", then "New"
  • Add the URL "https://raw.githubusercontent.com/STMicroelectronics/STM32CubeF7/master/Drivers/CMSIS/ARM.CMSIS.pdsc"
  • Click "OK" (several times) to add the software pack.
  • You may have to close and reopen the "Manage Software Packs" window
  • Click the "ARM" tab, and check "CMSIS 5.4.0"
  • Click "OK" to close the window, then click "Select Components" under "Software Packs"
  • Expand ARM.CMSIS, and check "CMSIS Core - 5.1.2" and "CMSIS DSP 1.5.2"
  • Click OK
  • Under Middleware and Software Packs, click "CMSIS", and make sure both CMSIS Core and DSP are checked in the panel that opens
  • Save the IOC and rebuild the code
  • To add the STM32CubeF7 repository, extract the STM32CubeF7 to the STM32CUBE_REPO folder (next to "Packs")
  • Pull the STM32Cube_FW_F7_V1.17.X folder out so it's at the same level as the Packs folder. Check that the path to this folder matches the include paths in Project->Properties (you may have to rename the folder or adjust the paths).

Hardware Description

Open Assembly

PCB Connector Diagram

Powering On

The MR-Core is designed to work with a 13.8V DC power supply, such as those sold by Astron Corporation. These are commonly used for amateur radio, but any linear power supply capable of providing 10A continuously is suitable. If the gradients are not used, only 3A are required. The power connector is a ASMPR45-1X2-RK from Anderson Power Products, Inc..

Programming

Programming the Microcontroller

  • Connect an ST-Link programmer to the STM32 SWD port on the MRC.
  • Flash using STM32CubeIDE

Programming the FPGA

  • Connect an AMD compatible JTAG cable to the FPGA JTAG port on the MRC.
  • Open the Hardware Manager in Vivado
  • Click "Auto Connect"
  • Click "Program" and select the .bit file for the FPGA

Programming the SPI Flash

By default, new designs programmed into the FPGA must be reprogrammed every time the device loses power. To allow the FPGA image to persist between reboots, a SPI configuration flash is included that can program the FPGA with a default image on startup. To change this default image:

  • Right click on create bitstream
  • Click "bitstream settings"
  • Check the ".bin" option
  • Click Apply
  • Generate the bitstream
  • Click "Add Configuration Memory Device"
  • If prompted, search for and select "IS25LP256"
  • Right click on the device
  • Click "Program"
  • find .bin file in runs->impl_1 folder
  • Select "Pull-Ups"
  • Select the "Erase", "Program", and "Verify" options
  • Select Apply, OK
  • Disconnect the programming cable and restart the FPGA.

To program the SPI flash without changing the configuration (which you will want to do in most cases to update the FPGA image), the steps are more simple.

  • In the Hardware Manager, right click on the SPI Flash in the Hardware window.
  • Click "Program Configuration Memory Device"

Analog Frontend (AFE)

The AFE for the MRC consists of two SXLP-21.4+ lowpass filters and two ZX60-43-S+ gain block amplifiers for the receive side, and one ZX60-100VHX+ amplifier for transmit. The amplifiers are powered by connectors from the MRC PCB, and should not be used with the heatsink removed. The transmit amplifier may be destroyed if it transmits into a poorly tuned or disconnected probe. For development, the transmit port of the MRC should be connected to a 50 ohm termination. The filters can be bypassed by soldering an 0603 resistor onto the jumpers on the filter PCBs. The MRC AFE is intended to be used with an external switch and preamplifier located on the probe - the gain blocks are not low noise amplifiers.

Magnet Interface

The magnet interface is connected to the MRC using an ethernet cable. The interface exposes FPGA IO for switching, as well as 3.3V power and microcontroller IO for general use.

Gradients

The gradients use 1/4" TRS audio connectors. Do not use 1/4" mono connectors, and do not insert or remove the connectors for the gradients when the board is powered. Doing so can damage the gradient drivers. The gradients are driven by H-bridge circuits to the supply voltage, current limited to 3A by three power resistors on the board. For this reason, neither contact for the gradients (Tip or Ring) is grounded. The Shield should not be connected to the gradient coil.

USB 3.0

Support for direct baseband sample streaming with Steam-O-Scope firmware from Joseph Feld.

Switch/Preamplifier Module

In order to make it possible to use non-MRC compatible probes with the MRC, a switch and preamplifier module is provided. This module provides about 10dB of gain and it includes a ZX80-DR230-S+ absorbtive RF switch. The truth table for the switch is:

SW[1]SW[0]Switch State
00Both Off
01Receive
10Transmit
11Unknown

The yellow LED on the preamplifier module ethernet connector indicates the status of the transmit switch (on = closed) and the green LED likewise indicates the status of the receive switch.

MRR-Core Image

This image implements a general purpose, programmable controller for MRI sequences.

The system is programmed by the STM32 over SPI, and each SPI transaction is 16 bits with the MSB first. There are three types of SPI command: control register programming, frequency tuning word programming, and sequence programming.

The control register is used for general purpose control of the FPGA, and can be accessed with a SPI transaction where bits [15:14] are 0b10. The 8 LSBs give the new control register value. The control register is shown below: CMD (Opcode 0b00)

text
[  7  |  6  |  5  |  4  |  3  |  2  |  1  |  0  ]
[ RST |     |     |     |     |     |TRIG |     ]

To program the 16 bit frequency tuning word, the system must first be put into frequency tuning mode by sending the frequency tuning command 0xC000. The frequency tuning word is sent on the next transaction, and the system will automatically return to IDLE afterward.

To enter sequence programming, the sequence programming command must be sent with the number of lines in the sequence program. The programming command starts with 0b00, and the 14 LSBs are the number of 16 bit instructions in the sequence.

MRC Instruction Set

The MRC uses a very simple instruction set designed for precise execution of any pulse sequences. There are four instructions:

CMD (Opcode 0b00)

text
[ 15 | 14 | 13 | 12 | 11 | 10 |  9 |  8 |  7 |  6 |  5 |  4 |  3 |  2 |  1 |  0 ]
[  0 |  0 |   AMP   |  PHASE  |   GRX   |   GRY   |   GRZ   |      RESERVED     ]

Change the transmitter amplitude and phase to the values indexed by AMP and PHASE. Set the gradients to the values set by GR[xyz].

LSET (Opcode 0b01)

text
[ 15 | 14 | 13 | 12 | 11 | 10 |  9 |  8 |  7 |  6 |  5 |  4 |  3 |  2 |  1 |  0 ]
[  0 |  1 | COUNTER |                          VALUE                            ]

Set COUNTER to VALUE.

JMP (Opcode 0b10)

text
[ 15 | 14 | 13 | 12 | 11 | 10 |  9 |  8 |  7 |  6 |  5 |  4 |  3 |  2 |  1 |  0 ]
[  1 |  0 | COUNTER |                         ADDRESS                           ]

If COUNTER is not zero, jump to the absolute ADDRESS. If COUNTER is zero, set COUNTER to 0xFFFF and advance the instruction counter.

HALT (Opcode 0b11)

text
[ 15 | 14 | 13 | 12 | 11 | 10 |  9 |  8 |  7 |  6 |  5 |  4 |  3 |  2 |  1 |  0 ]
[  1 |  1 |                                                                     ]

Terminates the sequence.

To better compress the immediates for programming amplitude and phase so that all of the pulse parameters can be updated simultaneously, the AMP and PHASE fields in the CMD instruction do not directly specify the amplitude or phase, but instead give the address of the correct value within separate lookup tables that are programmed with the sequence. The first four lines of the sequence program are the four amplitude fields, and the second four lines are the four phase fields.

Digital Downconversion

The 120MSps data stream from the ADC is too much data for the STM32 to process, and most of this data is useless as it covers frequencies far away from the Larmor frequency of the magnet. To lower the data rate and isolate only a certain band of interest, the FPGA can digitally downconvert and downsample the ADC data stream. The digital design responsible for this is contained in the "mrr-ddc" block design within the MR-Core Vivado project.

The structure of the DDC is shown in the HDL block diagram above. The parallel data is converted to AXI by the adc_to_axi module. This is fed into the mrr-ddc block design, which includes a complex multiplier and direct digital synthesizer for downconversion. The frequency shifted products are filtered and passed to a FIFO, before being passed to the STM32 using the STM32 Flexible Memory Controller (FMC).

The layout of the digital filter is shown below:

This filter is responsible for both decimation and the bulk of noise rejection, so the performance requirements are strict. The filter is implemented in several stages so that the high complexity FIR filters at the end see only data streams that are already significantly decimated (the final FIR filter sees an input data rate of 1MSa/s, compared to 120MSa/s for the CIC decimator).

The filter design is done in Matlab, and the current design is captured by filtdesign.m in MR-Core->hdl->Utilities. The transfer function is shown below (x axes in MHz):

Firmware

The firmware running on the STM32 is responsible for processing or passing the data stream from the FPGA during receive, and also for configuring the FPGA, the DAC, and the ADC. The mrc STM32CubeIDE project in the "firmware" folder provides C drivers for the DAC, the ADC, and an "MRC" driver that handles communication with the FPGA, pulse sequencing, and data streaming. The DAC and ADC drivers provide access to the test patterns, power down states, and programming registers for these chips.

For USB 2.0 Full speed data streaming, the Transfer_Buffer() function in mrc.c will coordinate FMC reads into a ping-pong buffer that is then emptied over the USB CDC hardware into a PC. A basic serial command interface is available in this demo so that a user can trigger pulse-echo sequences by sending the command pulseecho over USB CDC.

Software and UI

Pulseq Compiler

A limited Pulseq compiler is provided in software. This program requires pypulseq to run, however, the latest stable release of pypulseq cannot run with the most recent versions of numpy. This can be solved by replacing every instance of np.float and np.complex in the sigpy and pypulseq libraries with float and complex respectively.

To run the compiler, use py mrc_pulseq_assembler.py [sequence_file.seq] where [sequence_file.seq] is replaced by the path to your pulseq file. This will generate a .mrc file with the machine code for the MRI. To facilitate debugging, a objdump-style disassembler is also provided. To run the disassembler, use py mrcdump.py [mrc_file.mrc] where [mrc_file.mrc] is replaced with the path to your .mrc file. It will produce an output in the following format:

text
Statics:
Phase 0: 0
Phase 1: 0
Phase 2: 0
Phase 3: 0

Amp 0: 0
Amp 1: 28000
Amp 2: 56000
Amp 3: 0

Instructions:
0:      0001000000000000        cmd     1 0 00 00 00
1:      0100010010101111        lset    0 1199
...     ...                     ...     ...
20:     0000000000000000        cmd     0 0 00 00 00
21:     1100000000000000        halt.

For the system demo, a python driver for the MRC board is available in the "software" folder. bioreactormonitoring.py uses this driver to periodically acquire pulsecho sequences and plot the received data and extracted T2 values on an animated graph on the computer.

Contributing

Best practices: make your own branch!

Parts

360
QtyValueFootprintReferences
62100nCapacitor_SMD:C_0603_1608MetricC10, C102, C103, C104, C105, C109, C111, C113, C115, C118, C120, C122, C124, C126, C128, C130 +46
27470nCapacitor_SMD:C_0603_1608MetricC18, C110, C112, C114, C116, C125, C127, C129, C131, C150, C175, C176, C177, C181, C182, C183 +11
171uCapacitor_SMD:C_0603_1608MetricC68, C69, C70, C76, C77, C90, C92, C96, C108, C123, C147, C153, C164, C166, C191, C208 +1
164.7uCapacitor_SMD:C_0603_1608MetricC11, C21, C22, C32, C33, C36, C40, C41, C132, C159, C172, C173, C178, C179, C186, C187
1410kResistor_SMD:R_0603_1608MetricR3, R4, R13, R24, R31, R32, R33, R35, R38, R39, R46, R48, R57, R101
1410nCapacitor_SMD:C_0603_1608MetricC2, C3, C7, C9, C15, C61, C73, C74, C75, C78, C82, C89, C91, C158
1310uCapacitor_SMD:C_0603_1608MetricC28, C29, C45, C48, C65, C66, C67, C71, C72, C85, C157, C161, C190
12FerriteBead_SmallInductor_SMD:L_0603_1608MetricFB1, FB2, FB3, FB4, FB5, FB6, FB7, FB8, FB9, FB10, FB11, FB15
114.7kResistor_SMD:R_0603_1608MetricR2, R5, R51, R53, R54, R56, R76, R81, R93, R94, R99
8100Resistor_SMD:R_0603_1608MetricR16, R28, R58, R59, R77, R78, R79, R80
851Resistor_SMD:R_0603_1608MetricR10, R11, R14, R15, R40, R41, R42, R43
647uCapacitor_SMD:C_0603_1608MetricC79, C80, C81, C83, C84, C174
6DRV8220Package_SON:WSON-8-1EP_2x2mm_P0.5mm_EP0.9x1.6mmU10, U22, U23, U24, U27, U28
5100uCapacitor_SMD:C_0603_1608MetricC25, C34, C42, C180, C188
410uCapacitor_SMD:C_0805_2012MetricC135, C136, C199, C206
418pCapacitor_SMD:C_0603_1608MetricC37, C39, C106, C107
41kResistor_SMD:R_0603_1608MetricR6, R27, R97, RBIAS1
433Resistor_SMD:R_0603_1608MetricR29, R34, R36, R37
4330nCapacitor_SMD:C_0603_1608MetricC5, C134, C154, C197
4402Resistor_SMD:R_0603_1608MetricR20, R21, R22, R23
449.9Resistor_SMD:R_0603_1608MetricR7, R17, R18, R19
4Conn_CoaxialConnector_Coaxial:SMA_Samtec_SMA-J-P-X-ST-EM1_EdgeMountJ8, J16, J17, J18
4Conn_CoaxialConnector_Coaxial:MMCX_Molex_73415-1471_VerticalJ1, J2, J3, J4
4EXB-2HV470JVBioMEMS:CAY16-470J8LFRN3, RN4, RN5, RN6
310pCapacitor_SMD:C_0603_1608MetricC12, C148, C149
3150uCapacitor_SMD:CP_Elec_6.3x5.8C138, C196, C202
32.2uCapacitor_SMD:C_0603_1608MetricC6, C100, C101
33.3kResistor_SMD:R_0603_1608MetricR60, R96, R100
347uCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC139, C198, C200
36.8nCapacitor_SMD:C_0603_1608MetricC117, C119, C121
3Conn_01x02Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ19, J20, J21
3HeaterBioMEMS:TO-220-2_BottomHeatsinkR25, R26, R30
3LED_SmallLED_SMD:LED_0603_1608MetricD7, D8, D9
3SJ-63063BBioMEMS:SJ-63063BJ5, J7, J22
21uCapacitor_SMD:C_0805_2012MetricC137, C155
2220nCapacitor_SMD:C_0603_1608MetricC170, C171
2270Resistor_SMD:R_0603_1608MetricR45, R87
230pCapacitor_SMD:C_0603_1608MetricC203, C204
2ADTT1-6RF_Mini-Circuits:Mini-Circuits_CD637_H5.23mmTR1, TR2
2D_TVS_FilledDiode_SMD:D_SOD-123D2, D3
2Jumper_3_OpenJumper:SolderJumper-3_P1.3mm_Open_Pad1.0x1.5mmJP2, JP3
2LD29300BioMEMS:P2PAKU19, U20
2LT6600-xxPackage_SO:SO-8_3.9x4.9mm_P1.27mmU4, U8
2SolderJumper_3_Bridged12Jumper:SolderJumper-3_P1.3mm_Bridged2Bar12_Pad1.0x1.5mmJP4, JP8
2TestPointTestPoint:TestPoint_THTPad_D2.0mm_Drill1.0mmTP7, TP8
1 XLH736120.000000IBioMEMS:XLH736120.000000IU3
11.6kResistor_SMD:R_0603_1608MetricR64
110Resistor_SMD:R_0603_1608MetricR8
110uCapacitor_SMD:C_1206_3216MetricC201
112.1kResistor_SMD:R_0603_1608MetricR89
12.2kResistor_SMD:R_0603_1608MetricR98
12.2uBioMEMS:0508_C_INTERDIGITATEDC8
120kResistor_SMD:R_0603_1608MetricR102
122Resistor_SMD:R_0603_1608MetricR12
130MegCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY2
132.768kCrystal:Crystal_SMD_MicroCrystal_CM9V-T1A-2Pin_1.6x1.0mmY3
1330Resistor_SMD:R_0603_1608MetricR47
1330pCapacitor_SMD:C_0603_1608MetricC17
133nCapacitor_SMD:C_0603_1608MetricC16
133uCapacitor_SMD:C_0603_1608MetricC160
147Resistor_SMD:R_0603_1608MetricR44
1470Resistor_SMD:R_0603_1608MetricR52
1470pCapacitor_SMD:C_0603_1608MetricC207
15.62kResistor_SMD:R_0603_1608MetricR95
150MOscillator:Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mmX1
16.2kResistor_SMD:R_0603_1608MetricR1
193.1Resistor_SMD:R_0603_1608MetricR9
1ASMPR45-1X2-RKBioMEMS:Powerpole_1x2J12
1Conn_02x04_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ10
1Conn_02x05_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_VerticalJ6
1Conn_02x07_Odd_EvenConnector_PinHeader_1.27mm:PinHeader_2x07_P1.27mm_Vertical_SMDJ11
1Conn_02x07_Odd_EvenBioMEMS:0878321420J13
1DAC5687IPZPBioMEMS:TQFP-100-1EP_14x14mm_P0.5mm_EP5x5mm_ThermalVias_LargeU1
1FT601QPackage_DFN_QFN:QFN-76-1EP_9x9mm_P0.4mm_EP5.81x6.31mmU6
1GSB443133HRBioMEMS:AMPHENOL_GSB443133HRJ14
1GreenLED_SMD:LED_0603_1608MetricD4
1IS25LP256D-RMLE-TRPackage_SO:SOIC-16W_7.5x10.3mm_P1.27mmU15
1Jumper_2_BridgedJumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mmJP9
1LAN8742ABioMEMS:VQFN-24-1EP_4x4mm_P0.5mm_EP2.5x2.5mm_ThermalVias_LargeDrillU13
1LM1085-12BioMEMS:TO-220-3_BottomHeatsinkU18

The 346 most common of 360 parts.

More from hansgaensbauer/MR-Core

5
  • 4 layers116 × 55 mmMc3 afe, the printed circuit board in 3D

    Mc3 afe

    hansgaensbauer/MR-Core

    Open Source Magnetic Resonance Imaging Console

    61 parts2CERN-OHL-W-2.0
  • 2 layersMagic tuner, the printed circuit board in 3D

    Magic tuner

    hansgaensbauer/MR-Core

    Open Source Magnetic Resonance Imaging Console

    19 parts2CERN-OHL-W-2.0
  • 2 layers20 × 21 mmFilt1, the printed circuit board in 3D

    Filt1

    hansgaensbauer/MR-Core

    Open Source Magnetic Resonance Imaging Console

    4 parts2CERN-OHL-W-2.0
  • 2 layers19.5 × 21 mmFilt2, the printed circuit board in 3D

    Filt2

    hansgaensbauer/MR-Core

    Open Source Magnetic Resonance Imaging Console

    4 parts2CERN-OHL-W-2.0
  • 2 layers13 × 15 mmJtag adapter, the printed circuit board in 3D

    Jtag adapter

    hansgaensbauer/MR-Core

    Open Source Magnetic Resonance Imaging Console

    2 parts2CERN-OHL-W-2.0

Similar boards

  • 2 layers75 × 93 mmHeadphone Amp 2, the printed circuit board in 3D

    Headphone Amp 2

    bengineer91/Headphone_Amp

    Basic opamp headphone amplifier

    111 parts
  • 4 layers94 × 66 mmDDS, the printed circuit board in 3D

    DDS

    UWCubeSat/hs2-dds-hardware

    A high speed AWG for simulating Radar Returns

    104 parts
  • 2 layers119.4 × 96.5 mmGizmo, the printed circuit board in 3D

    Gizmo

    gizmo-platform/hardware

    143 parts5CERN-OHL-P-2.0
  • 2 layers72.2 × 74.1 mmJoulemeter, the printed circuit board in 3D

    Joulemeter

    UTSM-proto/utsm-telem-firmware

    19 parts1
  • 2 layers100.1 × 121.4 mmPanel, the printed circuit board in 3D

    Panel

    da-penguin-guy/Proteus

    The Proteus is a modular collection of PCBs that will be used to develop the Virgil sound Protocol

    137 parts3
  • 4 layers114.3 × 114 mmBaSe PWR V4 0, the printed circuit board in 3D

    BaSe PWR V4 0

    M-Welsch/backup-server

    Backup Server (BaSe)

    109 parts3Apache-2.0
  • 2 layers102.9 × 17.5 mmYals, the printed circuit board in 3D

    Yals

    el-bart/yals

    Yet Another Linear Servo

    46 parts1BSD-3-Clause
  • 2 layers84.3 × 39.4 mmShutdown manager mainboard, the printed circuit board in 3D

    Shutdown manager mainboard

    testudor/shutdown-manager-mainboard

    Power input module for 3D printers capable of performing safe shutdown procedures for SBCs like Raspberry PIs

    28 parts1CC-BY-SA-4.0

Questions

How big is the MR Core PCB?

It measures 96.5 × 116 mm and has 4 copper layers, 1.6 mm thick.

What parts does the MR Core use?

360 parts, built around the LAN8742A-CZ, DRV8220DSG, DAC5687IPZP and FT601Q-B-T. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the MR Core KiCad files?

From the hansgaensbauer/MR-Core repository on GitHub, at the commit this page was made from: the board is hardware/MRC/MR-Core.kicad_pcb and its schematic hardware/MRC/MR-Core.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the MR Core design in my own project?

Its repository publishes it under the CERN-OHL-W-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).