What is MRAA/UPMEclipse MRAA/UPM is a C/C++ library with bindings to Java, Python and JavaScript to interface with the IO, with a structured and sensors API where port names/numbering matches the board that you are on. Use of libmraa does not tie you to specific hardware with board detection done at runtime you can create portable code that will work across the supported platforms. The intent is to make it easier for developers and sensor manufacturers to map their sensors & actuators on top of supported hardware and to allow control of low level communication protocol by high level languages & constructs. Also. please refer to Introduction to MRAA & Introduction to UPM for more details. Note: By default, MRAA/UPM library is already on PX30 Yocto/Ubuntu/Debian images. ADLINK MRAA libraries has been contributed to Eclipse MRAA GitHub which is supported on LEC-PX30 & LEC-AL-AI with industrial I-Pi SMARC How to build & install MRAA/UPM on Yocto/Ubuntu/Debian Guideline to Debian Guideline to Ubuntu Guideline to Yocto DebianBuilding & Installing MRAA Install required dependencies. sudo apt install git build-essential swig3.0 python-dev libnode-dev cmake libjson-c-dev Before compiling MRAA/UPM source, need to downgrade the already installed cmake utility. Please download cmake.zip form here. $ sudo apt purge --autoremove cmake$ unzip cmake.zip$ cd cmake$ sudo dpkg -i *.deb$ cd .. Download MRAA source from GitHub and compile. $ git clone https://github.com/eclipse/mraa.git$ cd mraa$ cmake /home/adlink/mraa$ make -j4$ sudo make install$ cd .. Note: If user requires adlink test applications apply patch and build. please download git patch from here. $ git clone https://github.com/eclipse/mraa.git$ cd mraa$ git apply mraa.patch$ cmake /home/adlink/mraa$ make -j4$ sudo make install$ cd .. After install user can remove mraa source. rm -rf mraa Note: Example applications get installed into /usr/local/share/mraa/examples/c Building & Installing UPM Install required dependencies $ sudo apt install automake libpcre3-dev bison pkg-config libnode-dev python3-distutils python3-dev libjpeg-dev Download SWIG source and compile. $ git clone https://github.com/swig/swig.git$ cd swig$ ./autogen.sh$ ./configure$ make -j4$ sudo make install$ cd .. Download UPM source and compile. $ git clone https://github.com/eclipse/upm.git$ cd upm$ mkdir build$ cd build$ cmake .. "-DBUILDEXAMPLES=on"$ make -j4$ sudo make install$ cd .. After installing, user can remove swig and upm sources. $ rm -rf swig $ rm -rf upm Update LD_LIBRARY_PATH. $ sudo ldconfig UbuntuBuilding & Installing MRAA Install required dependencies. sudo apt install git build-essential swig3.0 python-dev nodejs-dev cmake libjson-c-dev Download MRAA source from GitHub and compile. $ git clone https://github.com/eclipse/mraa.git$ cd mraa$ cmake /home/adlink/mraa$ make -j4$ sudo make install$ cd .. Note: If user requires adlink test applications apply patch and build. Please download git patch from here. $ git clone https://github.com/eclipse/mraa.git$ cd mraa$ git apply mraa.patch$ cmake /home/adlink/mraa$ make -j4$ sudo make install$ cd .. After install user can remove mraa source. rm -rf mraa Note: Example applications get installed into /usr/local/share/mraa/examples/c Building & Installing UPMInstall required dependencies on ubuntu. $ sudo apt install automake libpcre3-dev bison pkg-config nodejs-dev python3-distutils python3-dev libjpeg-dev Download SWIG source and compile. $ git clone https://github.com/swig/swig.git$ cd swig$ ./autogen.sh$ ./configure$ make -j4$ sudo make install$ cd .. Download UPM source and compile. $ git clone https://github.com/eclipse/upm.git$ cd upm$ mkdir build$ cd build$ cmake .. "-DBUILDEXAMPLES=on"$ make -j4$ sudo make install$ cd .. After installing, user can remove swig and upm sources. $ rm -rf swig $ rm -rf upm Update LD_LIBRARY_PATH. $ sudo ldconfig YoctoIntel mraa recipe is here and please add it to your building Yocto.