What I am posting here is not pretty but does work. I connected a DHT22 and NRF24L01+ to micromite MK2. On the other end is a pcDuino3 Nano which I wrote python code to control the receiving nRF24.

This reads and sends temp and humidity approximately every 10 minutes.

[CODE]'Micromite remote temperature and humidity sensor
'Uses DHT22 and NRF24L01+

Sub NRF.INIT
NRF_CONFIG_RG=0
NRF_ENAA_RG=1
NRF_ENRXADDR_RG=2
NRF_SETUPAW_RG=3
NRF_SETUPRETR_RG=4
NRF_RFCH_RG=5
NRF_RFSETUP_RG=6
NRF_STATUS_RG=7
NRF_OBSERVETX_RG=8
NRF_CD_RG=9
NRF_RXADDRP0_RG=10
NRF_RXADDRP1_RG=11
NRF_RXADDRP2_RG=12
NRF_RXADDRP3_RG=13
NRF_RXADDRP4_RG=14
NRF_RXADDRP5_RG=15
NRF_TXADDR_RG=16
NRF_RXPWP0_RG=17
NRF_RXPWP1_RG=18
NRF_RXPWP2_RG=19
NRF_RXPWP3_RG=20
NRF_RXPWP4_RG=21
NRF_RXPWP5_RG=22
NRF_FIFOSTATUS_RG=23
NRF_CS=5
NRF_CE=6
NRF_IRQ=4
NRF_ADDRESS_WIDTH=5
NRF_PAYLOAD_WIDTH=4
Dim NRF_ADDRESS(NRF_ADDRESS_WIDTH)
Dim NRF_RX(NRF_PAYLOAD_WIDTH)
Dim NRF_TX(NRF_PAYLOAD_WIDTH)
Pin(NRF_CS)=1:SetPin NRF_CS,8
Pin(NRF_CE)=0:SetPin NRF_CE,8
End Sub

function NRF.BITTWIDDLE(num,place,value)
local junk$,temp$,x$
x$=str$(value)
junk$=bin$(num,8)
for I=1 to 8
if I=(8-(place-1)) then
temp$=temp$+x$
else
temp$=temp$+mid$(junk$,I,1)
endif
next I
NRF.BITTWIDDLE=val("&b"+temp$)
end function

sub NRF.POWERDOWN
local junk
junk=NRF.READREG(NRF_CONFIG_RG)
junk=NRF.BITTWIDDLE(junk,2,0)
NRF.WRITEREG(NRF_CONFIG_RG,junk)
end sub

sub NRF.POWERUP
local junk
junk=NRF.READREG(NRF_CONFIG_RG)
junk=NRF.BITTWIDDLE(junk,2,1)
NRF.WRITEREG(NRF_CONFIG_RG,junk)
end sub

Sub NRF.SETTXADDR
local junk
SPI open 1000000,0,8
Pin(NRF_CS)=0
junk=SPI(NRF_TX_ADDR_RG+32)
For I = 1 To NRF_ADDRESS_WIDTH
junk=SPI(NRF_ADDRESS(I))
Next I
Pin(NRF_CS)=1
SPI close
End Sub

Sub NRF.SETRXADDR(P)
local pipe, junk
pipe=&H0A+P
SPI open 1000000,0,8
Pin(NRF_CS)=0
junk=SPI(pipe+32)
For I = 1 To NRF_ADDRESS_WIDTH
junk=SPI(NRF_ADDRESS(I))
Next I
Pin(NRF_CS)=1
spi close
End Sub

Function NRF.STATUS()
local temp, x$,
temp=NRF.READREG(NRF_STATUS_RG)
NRF.STATUS=temp
x$=Bin$(temp)
Do
x$="0"+x$
Loop Until Len(x$)=8
NRF_TX_FULL=Val(Right$(x$,1))
NRF_RX_P_NO=Val("&B"+"mid$(x$,5,3)) "
NRF_MAX_RT=Val(Mid$(x$,4,1))
NRF_TX_DS=Val(Mid$(x$,3,1))
NRF_RX_DR=Val(Mid$(x$,2,1))
temp=NRF.READREG(NRF_FIFO_STATUS_REG)
x$=Bin$(temp)
Do
x$="0"+x$
Loop Until Len(x$)=8
NRF_TX_FULL=Val(Mid$(x$,3,1))
NRF_TX_EMPTY=Val(Mid$(x$,4,1))
NRF_RX_FULL=Val(Mid$(x$,7,1))
NRF_RX_EMPTY=Val(Mid$(x$,8,1))
End Function

Sub NRF.READPAYLOAD
Local junk
SPI open 100000,0,8
NRF_TXMODE
Do
Pin(NRF_CS)=0
junk=SPI(&h61)
For I=1 To NRF_PAYLOAD_WIDTH
NRF_RX(I)=SPI(&h0)
Next I
Pin(NRF_CS)=1
Loop Until NRF.READREG(23)=17
spi close
NRF.RXMODE
Pause 200
End Sub

Sub NRF.SENDPAYLOAD
Local junk
'NRF.RXMODE
SPI open 1000000,0,8
Pin(NRF_CS)=0
junk=SPI(&hA0)
For I= 1 To NRF_PAYLOAD_WIDTH
junk=SPI(NRF_TX(I))
Next I
Pin(NRF_CS)=1
NRF.RXMODE
Pause 10
NRF.TXMODE
spi close
End Sub

Sub NRF.CLEARRXDR
NRF.WRITEREG(NRF_STATUS_RG,64)
End Sub

Function NRF.READREG(reg)
Local junk, mybyte
SPI open 1000000,0,8
Pin(NRF_CS)=0
junk=SPI(reg)
mybyte=SPI(&H0)
Pin(NRF_CS)=1
spi close
NRF.READREG=mybyte
End Function

Sub NRF.FLUSHRX
local junk
SPI open 1000000,0,8
Pin(NRF_CS)=0
junk=SPI(&hE2)
Pin(NRF_CS)=1
spi close
End Sub

Sub NRF.FLUSHTX
local junk
SPI open 1000000,0,8
Pin(NRF_CS)=0
junk=SPI(&HE1)
Pin(NRF_CS)=1
spi close
End Sub

Sub NRF.WRITEREG(reg, mybyte)
local junk
SPI open 1000000,0,8
Pin(NRF_CS)=0
junk=SPI(reg+32)
junk=SPI(mybyte)
Pin(NRF_CS)=1
spi close
End Sub

Sub NRF.RXMODE
Pin(NRF_CE)=1
End Sub

Sub NRF.TXMODE
Pin(NRF_CE)=0
End Sub

Function NRF.RX.AVAIL()
NRF.RX.AVAIL=0
x= NRF.READREG(NRF_FIFOSTATUS_RG)
If x=16 Or x=18 Then NRF.RX.AVAIL=1
End Function

Sub TXSETUP
SPI open 1000000,0,8
Pin(NRF_CE)=0
NRF.WRITEREG(NRF_ENAA_RG,0)
NRF.WRITEREG(NRF_ENRXADDR_RG,1)
NRF.WRITEREG(NRF_RFCH_RG,2)
NRF.WRITEREG(NRF_RXPWP0_RG,4)
NRF.WRITEREG(NRF_RFSETUP_RG,38) '38 is high power low speed setting
NRF.WRITEREG(NRF_CONFIG_RG,&B00001010)
Pin(NRF_CE)=1
spi close
End Sub

Sub showRXaddress(x)
local temprg, junk, mybyte
temprg=&H0A+x
SPI open 1000000,0,8
Pin(NRF_CS)=0
junk=SPI(NRF_RXADDRP0_RG+x)
For i=1 To 5
mybyte=SPI(&H0)
Print mybyte;
Next i
Print ""
Pin(NRF_CS)=1
'NRF.READREG=byte1
spi close
End Sub

Sub showTXaddress
local junk, mybyte
SPI open 1000000,0,8
Pin(NRF_CS)=0
junk=SPI(NRF_TXADDR_RG)
For i=1 To 5
mybyte=SPI(&H0)
Print mybyte;
Next i
Print ""
Pin(NRF_CS)=1
'NRF.READREG=byte1
spi close
End Sub

Sub showregs
Local junk,mybyte
SPI open 1000000,0,8
For I=0 To 23
Pin(NRF_CS)=0
junk=SPI(I)
mybyte=SPI(&h0)
Pin(NRF_CS)=1
Print "REG #"+Str$(I)+" = "+Str$(mybyte)
Pause 100
Next I
spi close
End Sub

Sub preppayload
local temp, humid
dht22 2, temp, humid
temp=temp*10
humid=humid*10
NRF_TX(1)=temp>>8
NRF_TX(2)=temp-(NRF_TX(1)*256)
NRF_TX(3)=humid>>8
NRF_TX(4)=humid-(NRF_TX(3)*256)
for I =1 to 4
print NRF_TX(I)
next I
end sub

'start
NRF.INIT
NRF.CLEARRXDR
NRF.FLUSHRX
TXSETUP
pause 10000
do
NRF.POWERUP
preppayload
NRF.SENDPAYLOAD
NRF.POWERDOWN
pause 1000
CPU SLEEP 600
loop[/CODE]