musicFromMotion Receiver (Rx)

Introduction

Glad you could make it!  Today we have another small project under the musicFromMotion heading, but its use goes far beyond making tunes from your grooves.  Behold the musicFromMotion Receiver (Rx)!

This is a simple-yet-powerful adapter to allow the (mini) nRF24L01+ module to connect directly to a Raspberry Pi.  Now you may be wondering, ‘Wait, don’t you have another project doing the exact same thing?  The whatsitcalled?’  To that I’d agree: this project is similar to the nRF24L01+ adapter in that it makes hassling with hookup wire or protoboards obsolete.  But where this project shines is in its much-smaller form factor, allowing it to fit inside RPi cases and look more ‘professional.’

Now since the connections are the same for the nRF adapter, I’ll steal my own words and paste them below.  (Note that mFM-Rx uses the mini nRF module, thus the VDD and GND pin numbers have been updated to reflect this in the table.)  In fact, most everything I had to say about the adapter translates one-to-one to the Rx module, so why not copy everything?  Don’t worry:  I’ve made sure to update thing like the parts list and what not.  Enjoy!

Connection to Raspberry Pi

This adapter is meant to plug directly into the GPIO header of a Raspberry Pi, facing inwards towards the processor.  Our adapter friend sits directly in the middle of the header on pins 17 to 24 (+3.3V to BCM 8) leaving 8 rows (16 pins) on each side when seated correctly. See https://pinout.xyz for a good pin diagram.

Rx_rpi

Below is a table describing the pin functions and how they map from the RPi to the nRF24L01+.

Pin function nRF24L01+ mini
Raspberry Pi
VDD VDD (1) +3.3V (17)
GND GND (2) GND (20)
SCK SCK (5) BCM 11/SCK (23)
MOSI MOSI (6) BCM 10/MOSI (19)
MISO MISO (7) BCM 9/MISO (21)
CE CE (3) BCM 25 (22)
CSN CSN (4) BCM 8/CE0 (24)
IRQ IRQ (8) BCM 24 (18)

So say we’re using the lovely RF24 library from TMRh20 as a software interface with the nRF24L01+.  Creating an instance of the RF24 object would look like so:

RF24 radio(RPI_V2_GPIO_P1_22, RPI_V2_GPIO_P1_24, BCM2835_SPI_SPEED_8MHZ);

Here the CE pin is specified by the first argument, the CSN pin by the second, and the SPI clock speed by the third.

Make It Yourself!

The board is cheap:  $3.70 per batch of 3 from OSH Park. Since they gave me the code, might as well use it! Below is a link to put it in your cart:

Order from OSH Park

Note that this version doesn’t include the silkscreen on top and bottom that denote, heh, the top and bottom. But it’s not too difficult to carry on without it — just follow the assembly instructions, and use reason and your spidey senses. If you’re really concerned with mucking it up, send off the hardware files from the GitHub repository.

Parts List

Besides the boards you’ll need a mini nRF24L01+ module and a 2×4, 0.1″ (2.54mm) female header.

And a 10uF ceramic capacitor in an 0805 package is also optional, but recommended for high output use (0dBm transmitting).  I’d go with some rated at least 10V with an X7R temperature coefficient — they’re only half a quarter a piece (quantity 10 — half that at quantity 100) and nice to have around.

That’s it!  Here’s the full parts list:

  • 1x mFM-Rx board (OSH Park or SeeedStudio)
  • 1x mini nRF24L01+ module (eBay)
  • 1x 2×4, 0.1″ (2.54mm) female header (eBay, Digikey, etc.)
  • 1x 10uF, 10V, X7R, 0805 ceramic capacitor (eBay, Digikey, etc.) [optional]

For those who are curious or want to build/modify/improve/botch the thing, check out the hardware files on the mFM Github repo.

Outro

Looking for inspiration? Check out another project: musicFromMotion, or just sending data from an nRF24L01+ to Pure Data.

Happy transceiving!

Advertisements

One thought on “musicFromMotion Receiver (Rx)

  1. Pingback: Another new, mini project: musicFromMotion Receiver (Rx)! | Calvin's Plot on the Interwebs

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s