Well.. The quick answer I guess would be Yes, it is possible. But I imagine you would need to know a little bit about how the different components work. I also use the LoRa library from Sandeep Mistry and if you take a look at the code that initializes the card you find the following: // check version uint8_t version = readRegister(REG_VERSION); if (version != 0x12) { return 0; } Which is using the function readRegister: uint8_t LoRaClass::readRegister(uint8_t address) { return singleTransfer(address & 0x7f, 0x00); } Which is using the function singleTransfer: uint8_t LoRaClass::singleTransfer(uint8_t address, uint8_t value) { uint8_t response; digitalWrite(_ss, LOW); _spi->beginTransaction(_spiSettings); _spi->transfer(address); response = _spi->transfer(value); _spi->endTransaction(); digitalWrite(_ss, HIGH); return response; } Which is using pretty simple SPI commands. So perhaps you could do the same and select the LoRa library if the version is 0x12 or else select the nRF library. I don't know if there is enough space on the 328p to load both the libraries? And if you want to use the mysensors library it would be more complicated i suppose..