CubeSatSim, the AMSAT CubeSat Simulator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
Alan Johnston 0ec6f2520b
Update config add gpsd config default
1 day ago
afsk Create README.md 5 years ago
ax5043 Update README.md 5 years ago
direwolf Create direwolf.conf 1 year ago
groundstation Update packet.sh move CubicSDR killall 6 months ago
hardware Update README.md 4 weeks ago
spacecraft Update README.md remove old zip file 1 month ago
spreadsheet Rename readme.txt to readme.md 4 years ago
sstv add non-progressive jpeg for ssd 11 months ago
stempayload Update readme.MD with ZIP file link 4 months ago
systemd Update and rename rpitx.service to transmit.service 1 year ago
wav Delete afsk6.wav 5 years ago
.gitignore Update .gitignore add more ignore 6 months ago
LICENSE Rename gpl.txt to LICENSE for recognitopn by github 5 months ago
Makefile Update Makefile fix typos 4 months ago
README.md Update README.md update to v2.1 PCB images 1 month ago
TelemEncoding.c added (int) to remove compiler warning 5 years ago
TelemEncoding.h moving 5 years ago
asound.conf Update asound.conf changed to card 2 7 months ago
codecAO40.c Update codecAO40.c moved variables 11 months ago
codecAO40.h Update codecAO40.h added fec defines 11 months ago
command Update command added snd-aloop 7 months ago
config Update config add gpsd config default 1 day ago
direwolf-cc.conf Update direwolf-cc.conf added shared_mic 7 months ago
dtmf_aprs_cc.py Update dtmf_aprs_cc.py FUNcube 6 months ago
fecConstants.h add files from funcube-dev/funcubeLib 11 months ago
gps_client.py Update gps_client.py add session.waiting 3 days ago
ina219.py Update ina219.py to avoid BrokenPipeError 2 years ago
install Update install fix sed 1 day ago
install.sh adding back in links 5 years ago
log Update log added -t for transmit log 1 year ago
main.c Update main.c remove \n in gps string 3 days ago
main.h Update main.h add GPS position holder 3 days ago
sensor_extension.c Update sensor_extension.c remove extra 3 months ago
squelch_cc.py Update squelch_cc.py wall incrementing mode message 6 months ago
telem.c Update telem.c v2.2 4 months ago
transmit.py Update transmit.py don't program fm if gpsd running 1 day ago
update Update update install gpsd but disable 1 day ago
update.sh adding back in links 5 years ago

README.md

CubeSatSim

The CubeSat Simulator https://github.com/alanbjohnston/CubeSatSim/wiki is a low cost satellite emulator that runs on solar panels and batteries, transmits UHF radio telemetry, has a 3D printed frame, and can be extended by additional sensors and modules. This project is sponsored by the not-for-profit Radio Amateur Satellite Corporation, AMSAT® https://CubeSatSim.org

CubeSatSim v2

The three custom PCBs are the Main, Battery and Solar boards. Information including schematics and gerbers is in https://CubeSatSim.org/hardware

cubesatsim-main-v2 0 1_top cubesatsim-battery-v2 0_top cubesatsim-solar-v2 0_top

For information about the AMSAT STEM education program based on the CubeSatSim, see https://CubeSatSim.org/EducatorsGuide

For STEM activities to do with the CubeSatSim, see the https://CubeSatSim.org/ActivityGuides

There are several hardware versions and software branches to go with them - see below for information.

See the Wiki Software Install page for more details: https://github.com/alanbjohnston/CubeSatSim/wiki/2.-Software-Install. The software runs on any Raspberry Pi including the Raspberry Pi 4B, 3B, 3B+, Pi Zero, Pi Zero W, or Pi Zero 2 W.

There are two ways to get the CubeSatSim(TM) software for your Pi.

One option is to download the disk image file and write it to a 16GB micro SD card or larger. The image is based on Raspberry Pi OS (Rasbian) Lite, dated December 2020. All software is installed, you just need to login to change your password and set your amateur radio callsign if you have one. You can run the ./update.sh script to update all packages and update and compile the latest CubeSatSim software.

The other option is to start with a Raspberry Pi OS (Rasbian) image (Bullseye or Buster works) and run the installation script ./install.sh which will install and compile all the related software. This includes the following packages:

  • wiringpi
  • git
  • libasound2-dev
  • pi-power-button
  • Direwolf
  • rpitx
  • python3-pip
  • python3-smbus

Disk Image Option Steps

See the Wiki Software Install page for details: https://github.com/alanbjohnston/CubeSatSim/wiki/2.-Software-Install.

Installation Script Option Steps

CubeSatSim runs on the Bullseye or Buster version of Raspberry Pi OS (Desktop or Lite), although a Pi Zero or Pi Zero W should only run Lite. Your Pi will need to have internet access to update settings and install packages.

Note: CubeSatSim expects to be installed as the pi user and references many paths in /home/pi/*. Installing as a different user will result in configuration files not saving along with many other issues.

To get the software follow these steps:

sudo apt-get update

sudo apt-get install -y git

git clone http://github.com/alanbjohnston/CubeSatSim.git

cd CubeSatSim

git checkout master

# You are now ready to install the software using this script in the CubeSatSim directory:

./install

The installation script will run for quite a while. You will get prompted for your amateur radio callsign in all capitals, if you have one. If you don't you can put some other word which will be transmitted as a CW ID. You will also be prompted for your latitude and longitude for APRS packets. The script will prompt you if you want to modify /boot/config.txt file. Type a y and the script will complete. You will need to reboot.

See the Wiki for more details about the CubeSatSim https://github.com/alanbjohnston/CubeSatSim/wiki

Here are some Quick Start Guides for operating the CubeSatSim: https://CubeSatSim.org/qsg

Older Versions

There are several versions of the hardware and software to go with them:

Powered by TurnKey Linux.