DiY Satellite Ground Station

DiY Satellite Ground Station

2020, Aug 07    

front view of 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.


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

  1. Erase ESP32 using esptool.py
  2. Reflash the Micropython firmware using esptool.py
  3. To get a fresh install of your shell, type make nyanshell
  4. 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 **, where **** and **** correspond to the initial position you would like your base station to be. ***NOTE:** Please only run this command once after starting **antkontrol**. To tweak either the azimuth or elevation, type **azimuth/elevation ** into the nyanshell commandline.


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|