Skip to content
RF transmitter for Raspberry Pi
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Not_working_with_v2 Remove coonflict Nov 6, 2018
doc First version of rpitx logo thanks to Laurent Rouvray Jan 4, 2019
src Correct frequency and deviation for new librpitx Jan 13, 2019
.gitignore Set gitignore binaries to absolute paths Feb 28, 2016
BBC.jpg Clean and add tests Nov 1, 2018
LICENCE Fix merge by hand Nov 6, 2018
README.md Update with first logo Jan 4, 2019
csdrpizero.diff Add pizero option for csdr , avoiding NEON Nov 23, 2018
easytest.sh Kill scripts which remains Jan 8, 2019
fm2ssb.sh Fixe typo issue Dec 3, 2018
ft8menu.sh Add initial FT8 menu Jan 9, 2019
install.sh Add ft8_lib as a dependency Jan 8, 2019
rtlmenu.sh Remove debug Dec 3, 2018
sampleaudio.wav Add ssb using csdr Nov 1, 2018
snap2spectrum.sh
snapsstv.sh Fix shellcheck issues Dec 1, 2018
sv1afnfilter.sh Put output at each time on sv1afnfilter Jan 8, 2019
testam.sh
testchirp.sh
testfmrds.sh Fix shellcheck issues Dec 1, 2018
testfreedv.sh Fix shellcheck issues Dec 1, 2018
testfsq.sh Fix shellcheck issues Dec 1, 2018
testnfm.sh
testopera.sh Fix shellcheck issues Dec 1, 2018
testpocsag.sh Fix shellcheck issues Dec 1, 2018
testspectrum.sh Fix shellcheck issues Dec 1, 2018
testssb.sh
testsstv.sh
testvfo.sh Fix shellcheck issues Dec 1, 2018
transponder.sh Remove debug Dec 3, 2018

README.md

rpitx banner

About rpitx

rpitx is a general radio frequency transmitter for Raspberry Pi which doesn't require any other hardware unless filter to avoid intererence. It can handle frequencies from 5 KHz up to 1500 MHz.

Rpitx is a software made for educational on RF system. It has not been tested for compliance with regulations governing transmission of radio signals. You are responsible for using your Raspberry Pi legally.

A forum is available : https://groups.io/g/rpitx

_Created by Evariste Courjaud F5OEO. See Licence for using it.

Installation

Assuming a Raspbian Lite installation (stretch) : https://www.raspberrypi.org/downloads/raspbian/

Be sure to have git package installed :

sudo apt-get update
sudo apt-get install git

You can now clone the repository. A script (install.sh) is there for easy installation. You could inspect it and make steps manualy in case of any doubt. You can note that /boot/config.txt should be prompt to be modified during the installation. If it is not accepted, rpitx will be unstable.

git clone https://github.com/F5OEO/rpitx
cd rpitx
./install.sh

Make a reboot in order to use rpitx in a stable state. That's it !

sudo reboot

Hardware

bpf

Raspberry Model Status
Pizero OK
PizeroW OK
PiA+ OK
PiB Partial
PiB+ OK
P2B OK
Pi3B OK
Pi3B+ OK

Plug a wire on GPIO 4, means Pin 7 of the GPIO header (header P1). This acts as the antenna. The optimal length of the wire depends the frequency you want to transmit on, but it works with a few centimeters for local testing.

How to use it

easymenu

Easytest

easytest is the easiest way to start and see some demonstration. All transmission are made on free ISM band (434MHZ). To launch it, go to rpitx folder and launch easytest.sh :

cd rpitx
./easytest.sh

Choose your choice with arrows and enter to start it.Don't forget, some test are made in loop, you have to press CTRL^C to exit and back to menu.

Easy way to monitor what you are doing is by using a SDR software and a SDR receiver like a rtl-sdr one and set the frequency to 434MHZ.

Carrier

Carrier A simple carrier generated at 434MHZ.

Chirp

Chirp A carrier which move around 434MHZ.

Spectrum

Spectrum A picture is displayed on the waterfall on your SDR. Note that you should make some tweaks in order to obtain contrast and correct size depending on your reception and SDR software you use.

RfMyFace

Rfmyface Spectrum painting of your face using the raspicam for fun !

FM with RDS

FMRDS Broadcast FM with RDS. You should receive it with your SDR. This is the modulation that you should hear on your classical FM Radio receiver, but at this time, the frequency is too high.

Single Side Band modulation (SSB)

SSB This is the classical Hamradio analog voice modulation. Use your SDR in USB mode.

Slow Scan Television (SSTV)

SSTV This is a picture transmission mode using audio modulation (USB mode). You need an extra software to decode and display it (qsstv,msstv...). This demo uses the Martin1 mode of sstv.

Pocsag (pager mode)

pocsag This is a mode used by pagers. You need an extra software to decode. Set your SDR in NBFM mode.

Freedv (digital voice)

freedv This is state of the art opensource digital modulation. You need Freedv for demodulation.

Opera (Beacon)

opera This a beacon mode which sound like Morse. You need opera in mode 0.5 to decode.

Rpitx and low cost RTL-SDR dongle

rtlmenu

rtlmenu allows to use rtl-sdr receiver dongle and rpitx together. This combine receiver and transmission for experimenting. To launch it, go to rpitx folder and launch rtlmenu.sh :

./rtlmenu.sh

You have first to set receiver frequency and gain of rtl-sdr. Warning about gain, you should ensure that you have enough gain to receive the signal but not to strong which could saturate it and will not be usefull by rpitx.

Choose your choice with arrows and enter to start it.Don't forget, some test are made in loop, you have to press CTRL^C to exit and back to menu.

Record and play

replay

A typical application, is to replay a signal. Picture above shows a replay of a signal from a RF remote switch. So first, record few seconds of signal, CTRL^C for stop recording. Then replay it with play.

Transponder

fmtransponder We can also live transmitting a received band frequency. Here the input frequency is a FM broadcast station which is retransmit on 434MHZ.

Relay with transmodulation

We assume that input frequency is tuned on FM station. It is demodulated and modulate to SSB on 434MHZ. SSB is not HiFi, so prefere to choose a talk radio, music sounds like bit weird !

To continue

rpitx is a generic RF transmitter. There is a lot of modulation to do with it and also documentation to make all that easy to contribute. This will be the next step ! Feel free to inspect scripts, change parameters (frequencies, audio input, pictures...).

Credits

All rights of the original authors reserved. I try to include all licences and authors in sourcecode. Need to write all references in this section.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.