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 7c70d34d1d
Merge pull request #423 from alanbjohnston/master-b-p
1 day ago
afsk Create README.md 5 years ago
ax5043 Update README.md 5 years ago
direwolf Delete direwolf/direwolf.conf 1 week ago
groundstation Update pacsat-run.sh stop transmit if loopback 4 days ago
hardware Update README.md 4 months ago
spacecraft Add files via upload 1 week ago
spreadsheet Rename readme.txt to readme.md 4 years ago
sstv add non-progressive jpeg for ssd 1 year ago
stempayload Update readme.MD with ZIP file link 7 months ago
systemd Update pacsatsim.service change user to pi 2 months ago
wav Delete afsk6.wav 5 years ago
.gitignore Update .gitignore add tmp conf files 2 weeks ago
LICENSE Rename gpl.txt to LICENSE for recognitopn by github 8 months ago
Makefile Update Makefile fix typos 7 months ago
README.md Update README.md added link to Bookworm discussion 3 months ago
TelemEncoding.c added (int) to remove compiler warning 5 years ago
TelemEncoding.h moving 5 years ago
asound.conf Update asound.conf add ipc permissions to everyone 1 week ago
codecAO40.c Update codecAO40.c moved variables 1 year ago
codecAO40.h Update codecAO40.h added fec defines 1 year ago
command Update command remove typo ) 5 days ago
config Update config indicate carrier C2C is off if PacSat or PacSat Ground mode 5 days ago
direwolf-cc.conf Update direwolf-cc.conf resolve merge conflict 3 weeks ago
dtmf_aprs_cc.py Update dtmf_aprs_cc.py remove counter on APRS mode 0 2 weeks ago
fecConstants.h add files from funcube-dev/funcubeLib 1 year ago
gps_client.py Update gps_client.py -1 result if gpsd not installed 2 months ago
ina219.py Update ina219.py to avoid BrokenPipeError 2 years ago
install Update install 4 days ago
install.sh adding back in links 5 years ago
log Update log add back -a 4 weeks ago
main.c Update main.c add or pacsatground 4 days ago
main.h Update main.h add python venv 2 weeks ago
motd.txt Create motd.txt 2 months ago
pacsatsim.sh Update pacsatsim.sh use PacSat Ground mode for loopback 4 days ago
sensor_extension.c Update sensor_extension.c remove extra 7 months ago
squelch_cc.py Update squelch_cc.py wall incrementing mode message 10 months ago
telem.c Update telem.c add venv 2 weeks ago
transmit.py Update transmit.py remove C2C squelch check since it won't work in PacSat mode 5 days ago
update delete update and replace with link to install 3 weeks 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 (Bulleye) Lite. 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 (only Bullseye works, Bookworm or Trixie are not compatible) 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 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.

For the status of our efforts to get the code running on Bookworm, see https://github.com/alanbjohnston/CubeSatSim/discussions/389

Here is a Bullseye Pi OS image that works: https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2023-05-03/ Here is the file download link: https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2023-05-03/2023-05-03-raspios-bullseye-armhf-full.img.xz

You can use this with the Raspberry Pi Imager, but under OS you need to choose the Use Custom option at the very bottom of the list, then select the downloaded image 2023-05-03-raspios-bullseye-armhf-full.img.xz

Unfortunately, Customization is not supported with a Custom image, so you can't preset your username, password, localization, and WiFi settings.

So after you write this image to your microSD card, you will need to connect a monitor and keyboard to your Pi Zero 2 to set these things (make sure you set pi as the username). After that, you can connect it to your WiFi and turn on ssh and vnc for remote access.

You can then follow the software installation steps and it work work. The only hiccup is that if you run the installer script while running the Desktop, the Direwolf installation will freeze. But you can just cycle the power to the Pi Zero 2, then run the installer script again and it will complete successfully. Alternatively, if you use sudo raspi-config to change to Boot to Console (System/ Boot Auto Login/ Console or Console Auto Login) then the installer script will complete without any issues.

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 install 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.