MCPcopy Index your code
hub / github.com/ISS-Mimic/Mimic

github.com/ISS-Mimic/Mimic @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
741 symbols 2,638 edges 74 files 331 documented · 45%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ISS Mimic logo

License: MIT Last commit Discord Chat Demo

ISS Mimic is an open-source mash-up of hardware + software that mirrors the International Space Station’s solar-array and radiator motion in real time.
Runs on Raspberry Pi • 12 motors drive a 3-D printed ISS • Live telemetry visualizer


ISS Mimic is a 3D printed model of the International Space Station that connects to the actual live data from the real ISS to control a model that rotates solar panels and radiators to match the real one in real time. The goal of this project is to connect people with the ISS. There are three different mimic models: Mimic, Mini Mimic, and Edu Mimic. These models are designed for teachers, students, museums, hobbyists, and anyone who wants to learn more about the ISS.

Join the discussion, help out, ask for help, chat about the ISS here: Mimic Discord

PXL_20231210_003701830

Table of Contents


Features

  • Live telemetry pull from NASA’s Lightstreamer endpoint – no scraping needed
  • Interactive dashboards (more capable than the original ISSLive site)
  • Real-time kinematics: 12-axis motion matches α- and β-gimbal joint angles
  • Modular design: Separate Pi (telemetry & UI) ↔ Arduino (motor control)
  • Low- / High-fidelity STLs you can print today

Quick Start (Raspberry Pi)

# 1. Clone & install deps
  git clone --depth 1 https://github.com/ISS-Mimic/Mimic.git/ 
  cd ~/Mimic
  python setup.py

# 2. Run the Mimic GUI dashboard
  cd ~/Mimic/Pi/
  python GUI.py

Full software guide: Wiki » Software Setup Instructions.

Telemetry

Telemetry is data remotely collected from the ISS and transmitted to the ISS Mission Control Centers for monitoring the operational status of ISS systems.

In 2011 some incredible JSC employees released a subset of the 100,000+ ISS telemetry items to the public under the ISSlive! project and an associated website. Sadly, that website is no longer running, but they opened the door for dozens of projects to follow in their footsteps.

NASA contracted the wonderful folks at Lightstreamer to provide this subset of ISS telemetry out to the public and that is the source of all the public telemetry projects today.

We have made three telemetry pages to show off all of the public data (as well as our Pi application screens).

A filterable table here: https://iss-mimic.github.io/Mimic/ (and in Russian: https://iss-mimic.github.io/Mimic/index_ru.html) and a great dashboard here: https://iss-mimic.github.io/Mimic/dashboard.html

Project Architecture

┌──────────┐              ┌──────────────┐                ┌──────────────┐                 ┌──────────┐
│ NASA LS  │────────────▶│ Raspberry Pi │───────────────▶│  Arduino(s)  │───────────────▶│  Motors  │
└──────────┘  telemetry   └──────────────┘  joint angles  └──────────────┘  motor commands └──────────┘

Pi side (Python + Kivy) shows telemetry dashboards and forwards joint targets.
Arduino side (C++) drives stepper/servo motors in the 3-D-printed truss.

Build Your Own Model

Fidelity STL pack Status
Low /3D_Printing ✔ Complete
High /3D_Printing/high_fidelity In progress – contributors welcome!

Mechanical details, BOM, and wiring live in the Hardware Wiki section.

Screenshots

Mimic1 Mimic2 Mimic3

Mimic4 Mimic5 Mimic6

Mimic7 Mimic8 Mimic9

Contributing

Start by opening an issue to suggest am improvement or bug or by chatting on Discord.
Coding guidelines: 1. Follow PEP 8 and keep GUI layout in .kv files (Kivy best practice).
2. Fix all our mistakes.

Other help: -Feel free to suggest ideas! Best place to talk is out discord, or feel free to publish an issue

Roadmap

  • [ ] Finish high-fidelity CAD & release STEP source
  • [ ] Complete build guide
  • [ ] Finish Kivy telemetry screens

License

This project is licensed under the MIT License – see LICENSE for details.

The code is ugly and awful but it works mostly (click to vent)

We’re hardware engineers moonlighting as coders. Expect caffeine-driven hacks and the occasional refactor fiasco. Contributions and constructive feedback are super welcome!

Core symbols most depended-on inside this repo

log_info
called by 328
Pi/utils/logger.py
log_error
called by 328
Pi/utils/logger.py
send_discord_message
called by 36
Discord/ImprovedMimicDiscordBot2.py
send_discord_message
called by 36
Telemetry/DiscordBot.py
_print
called by 32
setup.py
_show_transmit_animation
called by 21
Pi/Screens/led_screen.py
_set_text
called by 20
Pi/Screens/eclss_iatcs_screen.py
_f
called by 16
Pi/Screens/playback_screen.py

Shape

Method 466
Function 207
Class 68

Languages

Python100%
TypeScript1%

Modules by API surface

Pi/Screens/orbit_screen.py53 symbols
Pi/GUI.py45 symbols
Pi/Screens/playback_screen.py42 symbols
Discord/lightstreamer_update_test.py34 symbols
Pi/Screens/led_screen.py30 symbols
Pi/Screens/crew_screen.py28 symbols
Pi/iss_telemetry.py26 symbols
Pi/Screens/mimic_screen.py25 symbols
Pi/Screens/eva_us_screen.py25 symbols
setup.py19 symbols
Pi/RecordedData/disco_maker.py19 symbols
Pi/Screens/settings_screen.py17 symbols

For agents

$ claude mcp add Mimic \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact