Initial commit, migrated repo
This commit is contained in:
parent
5f82fb381e
commit
fc99371913
53
README.md
53
README.md
@ -1,3 +1,54 @@
|
|||||||
# RaspiQRP
|
# RaspiQRP
|
||||||
|
|
||||||
Making a raspberry pi zero 2 w into a QRP.
|
This is a project that takes:
|
||||||
|
|
||||||
|
* an SDR stick
|
||||||
|
* a Raspberry Pi Zero 2 W
|
||||||
|
* an USB audio card
|
||||||
|
* some wires, indicators and screens
|
||||||
|
* an RF amplifier
|
||||||
|
|
||||||
|
and turns them into a full-fledged QRP!
|
||||||
|
|
||||||
|
Currently there is no prototype, yet there is a plan present, which is good.
|
||||||
|
|
||||||
|
The total cost of this device seems to be around 90€, while the cheapest QRP I found on Aliexpress is 100€.
|
||||||
|
This difference might seem insignificant, but I bet that you have at least 70% of the supplies needed somewhere in your shack.
|
||||||
|
The screens, buttons and leds are absolutely replaceable, but you'll need to tweak the code a it.
|
||||||
|
|
||||||
|
As of right now, the planned device will be composed of:
|
||||||
|
|
||||||
|
## 1. Raspberry Pi Zero
|
||||||
|
<img src="https://cdn.littlebird.com.au/images/files/000/032/722/large/LB-00152.jpg?1535774731" alt="raspi" width="200px" align="left">
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li> To take input from a potentiometer(encoder) in order to shift the frequency that we want to TX/RX.</li>
|
||||||
|
<li> To control the RTL-SDR stick and pipe the audio to the speaker, through the USB audio card.</li>
|
||||||
|
<li> To stream audio from the microphone, and pipe it to <a href="https://github.com/F5OEO/rpitx">rpitx(this project is really cool)<sup>1</sup></a> which then will get amplified using the amp.</li>
|
||||||
|
</ul>
|
||||||
|
<sub>1. Please do read about this project, as it is vital stepping stone for this one.</sub>
|
||||||
|
<br><br>
|
||||||
|
<br><br>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
|
||||||
|
## 2. Arduino TM4638 board
|
||||||
|
<img src="https://www.elektro-hofman.cz/_obchody/elektro-hofman.shop5.cz/prilohy/39/pametovy-modul-spi-na-sd-kartu-pro-arduino.jpg.big.jpg" width="200px" alt="TM4638" align="left"/>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li> Using <a href="https://github.com/gavinlyonsrepo/TM1638plus_RPI">this library</a>.</li>
|
||||||
|
<li> To spare us of the pain of wiring an LCD. </li>
|
||||||
|
<li> View the current frequency we're at. </li>
|
||||||
|
<li> To let us change the bands, using the 8 buttons on the bottom. </li>
|
||||||
|
<li> Indicate states of the device using the LEDs. </li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<br><br>
|
||||||
|
<br><br>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
# Wiring
|
||||||
|

|
||||||
|
Sorry in advance for the trashy diagram, but this is my first ever attempt at wiring diagrams. The rtl-sdr and the audio card need to be put in the usb port, using a hub of some sort.
|
||||||
|
|
||||||
|
21
TODO.md
Normal file
21
TODO.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
* [x] implement ssb
|
||||||
|
* [x] create main.py
|
||||||
|
* [x] eat dinner
|
||||||
|
* [ ] start working on an actual raspberry pi
|
||||||
|
* [ ] get all parts needed
|
||||||
|
* [x] calculate the entire cost, so you can boast that it's probably two-three times cheaper than the cheapest QRP out there
|
||||||
|
* [ ] write the code for the screen/leds/buttons
|
||||||
|
* [ ] wire rpitx and the sdr stick to use the same frequency and mod
|
||||||
|
* [ ] wire them both to the potentiometer
|
||||||
|
* [ ] get the frequency to show on the screen
|
||||||
|
* [ ] wire(and make) a PTT button
|
||||||
|
* [ ] make LEDs flash for tx and rx
|
||||||
|
* [ ] connect mic and speaker respectively to rpitx and the rtlsdr
|
||||||
|
* [ ] fix the inevitable audio issues
|
||||||
|
* [ ] fix them again
|
||||||
|
* [ ] one last time i swear
|
||||||
|
* [ ] if everything works as expected, add more modulations
|
||||||
|
* [ ] program the buttons to change modulations
|
||||||
|
* [ ] audio issues
|
||||||
|
* [ ] mayyybe try to make it look pretty, with a box or something
|
||||||
|
* [ ] **you need a fan for the amplifier BTW**
|
37
modulations/ssb.sh
Executable file
37
modulations/ssb.sh
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Pin logic
|
||||||
|
#selecting pin
|
||||||
|
|
||||||
|
GPIO=26
|
||||||
|
|
||||||
|
# "Prepare" it, whatever that means, I just copied it from SO
|
||||||
|
if [ ! -d /sys/class/gpio/gpio${GPIO} ]; then
|
||||||
|
echo "${GPIO}" > /sys/class/gpio/export
|
||||||
|
fi
|
||||||
|
echo "in" > /sys/class/gpio/gpio"${GPIO}"/direction
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# old line
|
||||||
|
#(while true; do cat sampleaudio.wav; done)
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
if [ 1 == "$(</sys/class/gpio/gpio"${GPIO}"/value)" ]; then
|
||||||
|
|
||||||
|
# REMOVE THIS
|
||||||
|
echo "Not pressed"
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
# do arecord -l or arecord -L to find your audio card and change hw:0,7 to the corresponding value
|
||||||
|
arecord -q -f cd -r 44100 -c2 -D hw:0,7 -t raw | csdr convert_i16_f \ | csdr fir_interpolate_cc 2 | csdr dsb_fc \ | csdr bandpass_fir_fft_cc 0.002 0.06 0.01 | csdr fastagc_ff \ | sudo ./sendiq -i /dev/stdin -s 96000 -f "$1" -t float
|
||||||
|
# maybe i just need to extract this command and put it in a subprocess... 🤔
|
||||||
|
|
||||||
|
fi
|
||||||
|
sleep .5
|
||||||
|
done
|
||||||
|
|
||||||
|
# this should work
|
||||||
|
# screen will probably be operated using python, so all we need to do there is to killall ssb.sh, then run a new one with new freq async subproc
|
||||||
|
# usage: bash ssb.sh "freq"
|
BIN
wiring/wiring.fzz
Normal file
BIN
wiring/wiring.fzz
Normal file
Binary file not shown.
BIN
wiring/wiring_bb.png
Normal file
BIN
wiring/wiring_bb.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 476 KiB |
Loading…
x
Reference in New Issue
Block a user