Simple wifi ground station running circuitpython
If you want to see how to communicate with the PyGs and send commands Click here
As opposed to using an antenna+rotator for receiving satellites moving across the sky, another option is to use multiple antennas like this:
attached to multiple low-cost radios.
To replicate the above example, you'll need the following:
- 1ea FeatherS2
- 3ea RFM9x Featherwing 900 MHz or 433MHz
- 3ea edge-mount SMA connectors
- 4ea Stacking headers
- Directional antennas for each of your radios. Log Periodic antennas work well. The LP400 covers 433MHz and 915MHz.
- Coax cables for each radio+antenna. Each cable should be about 450mm.
- Battery for the FeatherS2. This would work well
- Husky storage bin (overkill but convenient) from Home Depot
- OPTIONAL: 2ea 100kΩ resistors (0603 work well) for battery voltage monitor
- 3D print the antenna spacer:
- Connect your coax and tape at the base. Ensure the coax runs on top of the center trace of the LP antenna.
The hardware from Adafruit needs to be assembled as described below. Keep in mind you can always adapt the pin definitions in radio_helpers.py
to meet a different hardware configuration.
- Assemble the radio boards with stacking headers and your edge-mount SMA connectors. Use Adafruit's guide as a reference.
- Solder wires for the radio CS, RST, and IRQ signals as described below:
Radio | CS | RST | IRQ |
---|---|---|---|
1 | "C" | "B" | See pic |
2 | "E" | "D" | See pic |
3 | See pic | See pic | See pic |
- Now assemble the FeatherS2 with stacking headers
- In order to monitor battery voltage, we need to add a voltage divider. Solder your two 100kΩ resistors as shown below.
- Update the FeatherS2 firmware using the .UF2 file in this repo's firmware directory. This can be done by putting the board into bootloader mode (plug into computer, click reset button, then click boot button) and then dragging the UF2 file onto the
FeatherS2
drive that should mount shortly. It will likely have an error while copying the file. Don't worry about it. - Unplug and plug the board back into your computer
- Copy the contents of the
code
directory from this repo to the CIRCUITPY drive - On the CIRCUITPY drive, open the
RENAME_ME.py
file in the lib folder and update the mqtt broker info and save - Now rename the
RENAME_ME.py
file to:secrets.py
- Open
code.py
and edit line 32 to your respective WiFi SSID