Computer Aided Simulation Program (CASP)

Computer Aided Simulation Program (CASP) is a block diagram based modeling, simulation and programming tool. Each block in a CASP model represent any thing from a simple logic, a mathematical equation, a hardware pin to a complex communication stack, an AI model or a complete high level user task. These blocks are implemented primarily in C/C++ an can be arranged and connected using CASP GUI based model editor or with a Python script to realize the desired logic or task. The resulted model can then be compiled and deployed on any target right from 8-bit Arduino micro-controller boards to desktop/server systems.

Even through the underlying data sharing between the blocks in a CASP model happens transparently through C/C++ interface, the block’s core logic can be implemented in either C/C++, Fortran or Python programming languages. Users can also create their own blocks to implement their own specific logic in any of these languages if required.

CASP provides extensive support for Python. Please refer CASP Python Support section for details.

CASP is developed primarily to assist students (right from secondary grade school), makers and engineers in realizing they logic with minimum or no programming expertise. It can be used to design, develop and validate real time embedded system software quickly with little or no programming effort. It can also be used by developers and software testers for validating programs and algorithms that are not possible through normal debug process. Typical use cases include embedded controller design, robotics, AI, IoT, network simulations, MIL, SIL, PIL & HIL testing and any general purpose embedded application.

CASP is available across all major operating systems including Microsoft Windows-7 (SP1) 64-bit (and above), macOS-11 (and above) and Linux Debian 64-bit (bullseye) based distributions.

Getting Started

  • Step 1: Download and install latest version of CASP software.
  • Step 2: Download and install board support packages (BSP) for your selected targets.
  • Step 3: Run a sample tutorial project from CASP/tutorials directory to verify the installation.
  • Step 4: This video shows how to install CASP and target BSPs.
  • Step 5: Please refer detailed documentation for exploring the world of CASP.

Supported Targets

  • Arduino Boards: Arduino Mega 2560, Arduino Nano, Arduino Uno, Arduino Leonardo, Arduino Micro, Arduino Due, Arduino MKR1000, Arduino Zero, Arduino RP2040 Connect, Arduino Vidor 4000, Arduino Uno R4/R4WiFi, Arduino GIGA
  • Raspberry Pi Pico/PicoW/Pico2/Pico2W, ESP8266 NodeMCU, ESP32 NodeMCU
  • RISC-V Boards: SparkFun RED-V RedBoard, Vega Aries Boards
  • STM32 Nucleo Boards: STM32F429, STM32F439, STM32F746, STM32F767, STM32H743, STM32H745
  • Teensy3.5, Teensy3.6, Teensy4.1
  • Texas Instruments: LAUNCHXL-F280049C, LAUNCHXL-F28379D
  • Xilinx FPGA: Arty S7-50T, Arty A7-35T, Arty A7-100T*, Arty Z7-20 PL, Arty Z7-20 PS
  • Nvidia Jetson, Raspberry Pi boards with respective remote builds
  • Android Devices (ARM-7a, ARM-8a and ARM-x86)
  • Linux Debian_x64 and ARM64 based distros such as Ubuntu, BOSS, Raspberry Pi OS (64-bit) etc. & Windows_x64 desktop platforms (remote builds). These include (but not limited to) all x86/x64 desktop & server computers, x86/x64 single board computer (SBC) boards from UDOO, ODYSSEY, LattePanda, Aeon and many more.
  • Native Desktop_MinGW (for Windows), Desktop_macOS_X64, Desktop_Linux_GCC_X64

*Supported under non-evaluation license. **Under development.