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 18c9f07d03
Update install copy commands file
6 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 fctelem.sh x-www-browser with & 1 week 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 added link to Bookworm discussion 9 months 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 fix udo 1 month 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 increase csdr gain repeater mode 1 week 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 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.