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 2e146efbb6
Update pacsat.sh don't call config -G -n
2 days ago
OliveTin Update config.yaml add set_wifi.sh 1 week ago
afsk Create README.md 5 years ago
ax5043 Update README.md 5 years ago
direwolf Update direwolf-pacsatsim.conf TX delay 30 1 month ago
groundstation Update pacsat.sh don't call config -G -n 2 days ago
hardware Update README.md 10 months ago
spacecraft Add files via upload 4 months ago
spreadsheet Rename readme.txt to readme.md 5 years ago
sstv Add files via upload 2 weeks ago
stempayload Update README.md 1 month ago
systemd Update frequency.service add cpuquota 50% 1 month ago
wav Delete afsk6.wav 5 years ago
.gitignore Update .gitignore add camera.jpg 2 weeks ago
LICENSE Rename gpl.txt to LICENSE for recognitopn by github 1 year ago
Makefile Update Makefile fix typos 1 year ago
README.md Update README.md 5 days ago
TelemEncoding.c added (int) to remove compiler warning 5 years ago
TelemEncoding.h moving 5 years ago
Welcome_Message.txt Create Welcome_Message.txt 2 weeks ago
asound.conf Update asound.conf add MicVolume 1 month ago
codecAO40.c Update codecAO40.c moved variables 2 years ago
codecAO40.h Update codecAO40.h added fec defines 2 years ago
command Update command print MicVolume 3 weeks ago
config Update config still -n no preview 1 week ago
direwolf-cc.conf Update direwolf-cc.conf add plughw 1 week ago
dtmf_aprs_cc.py Update dtmf_aprs_cc.py fix PacSat 4 months ago
fecConstants.h add files from funcube-dev/funcubeLib 2 years ago
frequency.py Update frequency.py 2 sec between rig operations 4 days ago
frequency.sh Update and rename rigctld.sh to frequency.sh 3 months ago
gps_client.py Update gps_client.py -1 result if gpsd not installed 8 months ago
hotspot_ini Update hotspot_ini changed to hotspot_default 2 months ago
ina219.py Update ina219.py to avoid BrokenPipeError 3 years ago
install Update install copy commands file 6 days ago
install.sh adding back in links 5 years ago
log Update log don't cat log after real time 1 month ago
main.c Update main.c remove is_safe_input test 1 month ago
main.h Merge pull request #445 from edstone26/master 1 month ago
motd.txt Create motd.txt 9 months ago
pacsatsim.sh Update pacsatsim.sh config -z 1 week ago
pushbutton.py Update pushbutton.py add ttyd -W 2 months ago
sensor_extension.c Update sensor_extension.c remove extra 1 year ago
set_wifi.sh add set_wifi 1 week ago
squelch_cc.py Update squelch_cc.py wall incrementing mode message 1 year ago
telem.c Update telem.c v2.3 1 month ago
transmit.py Update transmit.py don't print failure_mode error message 4 days ago
update delete update and replace with link to install 7 months ago
update.sh adding back in links 5 years ago
venv.sh venv as script 2 months 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 the Raspberry Pi Zero 2W and the Raspberry Pi 4B. Some of the software runs on a Raspberry Pi 3B, 3B+, Pi Zero, and Pi Zero 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 (Bookworm) Legacy. 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 (Bookworm Legacy - Trixie is not yet 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

Use the Raspberry Pi Imager https://www.raspberrypi.com/software/ and select the Bookworm Legacy option. Make sure you set your username as pi. You can also preset your password, localization, and WiFi settings.

   cd
   git clone http://github.com/alanbjohnston/CubeSatSim.git
   cd CubeSatSim
   git checkout master
   ./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. You will need to reboot after the script completes.

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

If you want to run the software on a Raspberry Pi Zero or Pi Zero W, you can install it on Bullseye. 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 the steps above.

Older Versions

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

Powered by TurnKey Linux.