DiY Satellite Ground Station
The goal is to make low-earth-orbit satellite communication technology much more accessible and swap out the massive, specialized transmitters, antennas, and radio dishes that go into satellite ground stations for open source software and an affordable hardware kit.
LINKS I FIND ALONG THE WAY
kicad-pcb.org
gnu.org/software/octave/
http://emlab.utep.edu/opensource.htm
https://gqrx.dk/ -
https://hackaday.com/2019/07/31/rtl-sdr-seven-years-later/
https://digitalcommons.usu.edu/smallsat/2020/
https://www.ansys.com/products/free-trials
https://opencpn.org/ - naval/marine chart plotter - NMEA-0183 standard
activating virtual env windows
.\env\Scripts\activate
leaving virtual env windows
deactivate
installing virtual env posix
python3 -m pip install –user virutalenv
creating virtual env posix
py -m venv env
activating virtual env posix
.\env\Scripts\activate
leaving virtual env posix
deactivate
sudo reboot
restart from cli
esptool.py –chip esp32 –port COM3 write_flash -z 0x1000 esp32-idf3-20191220-v1.12.bin
Locating the serial port
windows ps command
Get-WMIObject Win32_SerialPort | Select-Object Name,DeviceID,Description
useful linux commands
lsusb dmesg | grep ttyUSB
timedatectl set-time ‘2020-10-19 17:30:00’ timedatectl set-timezone UTC timedatectl set-ntp true timedatectl set-timezone America/Los_Angeles
*Note Nyansat only works on Unix based systems currently
Nyansat Usage
To enter NyanShell, type the following in a termainal window
python3 -m nyansat.host
Find what USB your ESP is on Unix
dmesg | grep ttyUSB
Connecting via Serial
open <your ESP32’s serial port>
Connecting via WebREPL
open ws:<your ESP32’s IP address>,
Clean Install
- Erase ESP32 using esptool.py
- Reflash the Micropython firmware using esptool.py
- To get a fresh install of your shell, type make nyanshell
- To install NyanSat software onto your ESP32, run **make nyansat SERIAL=
**
Exploring the Shell
Type help to get list.
Configuring AntKontrol
Create a new instance you can run antkontrol start
AntKontrol attempts to integrate different hardware into one interface. If something is not implementing correctly SAFE MODE is initialized. To determine mode, run antkontrol status
Configuration setup
Depending on the setup, there may be a different pin layout, device addresses, or hardware then what NyanSat is expecting. Accordingly, you can use: setup, i2ctest, pwmtest, configs, set and bnotest
For different hardware, the repl command provides you with a full Python interpreter. * NOTE: if you wish to use the repl command, start nyanshell with the command python3 -m nyansat.host.shell; this command removes all decorative and telemetry elements, providing a focused environment for debugging.
Moving motors
You can start your base station by running the command **startmotion
Bill of Materials breakdown
ESP32 WROOM 32D
ESP32 pinout
View from top
(Antenna End)
row | Pin | usage | Pin | usage |
---|---|---|---|---|
1 | 3v3 | GND | ||
2 | EN | P23 | ||
3 | SensVP | P22 I2C SLC | ||
4 | SensVN | TX | ||
5 | P34 | RX | ||
6 | P35 | P21 I2C SDA | ||
7 | 32 | GND | ||
8 | 33 | p19 | ||
9 | 25 | p18 | ||
10 | 26 | p5 | ||
11 | 27 | p17 | ||
12 | 14 | p16 | ||
13 | 12 | p4 | ||
14 | GND | p0 | ||
15 | 13 | p2 | ||
16 | s02 | p15 | ||
17 | s03 | s01 | ||
18 | GND | SDO | ||
19 | 5v | CLK |
[EN button])USB([BOOT button]
BNO055
Wiring Diagram
|BNO055 Pin#|ESP32 Pin#| |:–|:–| |PSO|-| |PS1|-| |INT|-| |ADR|-| |Vin(Blue)|| |3v0|-| |GND(Green)|GND| |SDA(Orange)|19| |SCL(Yellow)|18| |RST|-|
BN880 GPS
Wiring Diagram
|BN880 Pin#|ESP32 Pin#| |SDA| | |GND| | |TX|17| |RX|16| |VCC| | |SCL| |
PCA9685
Wiring Diagram
|PCA9685|ESP32| |:–|:–| |V+| | |VCC| | |SDA|22| |SCL|21| |OE| | |GND| |
MG995
Wiring Diagram
|MG995 - Direction Pin#|PCA9685| |:–|:–| |PWM(Orange)|0[]| |V+(RED)|0[V+]| |GND(Brown)|0[]|
MG995 - Altitude Pin# | PCA9685 |
---|---|
PWM() | 0[] |
V+() | 0[V+] |
GND() | 0[] |
Screen
|Screen Pin#|ESP32 Pin#| |:–|:–| |SDA|22| |SCL|21|