FAQ | Contact Us  |  Register  |  Login

UC Davis Center for Integrated Computing and STEM Education (C-STEM) --- Research and Outreach
Home > C-STEMbian


(Video: Introducing C-STEM Studio for Raspberry Pi.)



C-STEMbian is for computing and STEM education using Raspberry Pi. C-STEMbian is a free open source Linux operating system based on Raspbian for absolute beginners to use Raspberry Pi effectively. It extends Raspbian with easy installation of many additional components, including C-STEM Studio and user-friendly C/C++ interpreter Ch,  to help absolute beginners learn coding, making, robotics, and STEM.

C-STEMbian is an ideal solution for coding,  do it yourself  (DIY) and making,  Internet of Things (IoT) applications,  and Cyber-Physical Systems (CPS)  using Raspberry Pi and Arduino boards.

C-STEMbian runs in Raspberry Pi  and Pi compatible computers, including Pi 1, 2, 3, Pi Zero,  and Pi Zero W. Raspberry Pi computers are ultra-low-cost, fully functional tiny computers that sell for as little as $5 dollars. They are developed by the UK-based Raspberry Pi Foundation, with the goal of putting “digital making into the hands of people all over the world.” C-STEM Studio for Raspberry Pi makes building  your own digital and hardware systems easy and fun.

Salient Features

C-STEM Studio can be used to control  Barobo Linkbots and Lego Mindstorms NXT/EV3.

GPIOviewer in C-STEM Studio allows students easily get started tinkering with electronics and testing circuitry using  general purpose input/output (GPIO) pins on Raspberry Pi.

C/C++ is the programming language of choice for interfacing hardware and electronics. The scripting and plotting capabilities in C/C++ interpreter Ch allow for rapid software development using Ch WiringPi Package with visualization. The step-by-step debugging feature in the user friendly ChIDE helps students learn problem solving with critical thinking and reasoning

Ch Arduino in C-STEMbian allows seamless integration of Pi and Arduino for unprecedented  convenience of physical computing and Making.

Web-based computing in Raspberry Pi can be used for web-based data acquisition and visualization.

Student teams can participate in project-based RoboPlay Video Competition using Linkbot or NXT/EV3, or combination, with motions created using C-STEM Studio in Raspberry Pi.

Getting Started

C-STEMbian  and C-STEM Studio can be downloaded from Downloads page.

A Raspberry Pi computer can run stand alone, connected with a monitor, keyboard, and mouse. C-STEM Studio on Raspberry Pi can be  accessed through Windows, Mac, or Chromebook computers  using existing peripheral devices  through Virtual Network Computing. You can get started  with C-STEMbian for Pi quickly.

Major Components and Features

C-STEMbian is a superset of the latest Raspbian. C-STEMbian contains the following major components for  education, research, and applications in  STEM fields, IoT, and CPS.

  • Raspbian, the Raspberry Pi Foundation’s official supported operating system.  As C-STEMbian is a superset of the Raspbian, C-STEMbian contains all features of the latest Raspbian.
  • Ch, a C/C++ interpreter for script computing in C/C++ with high-level extensions, including ChIDE,  simple numerical computing,  plotting,  QuickAnimation, etc.
  • ChIDE in Ch can be used to edit, debug, and run C/C++ program with syntax highlighting, and can readily compile and link C/C++ programs using gcc for C and g++ for C++ compilers (in ChIDE->Tools->Compile/Link/Build/Go). It is a better alternative than Geany Text Editor in Raspberry Pi.
  • C-STEM Studio, a platform for hands-on integrated learning of computing, science, technology, engineering, and mathematics (C-STEM) using Linkbot, Lego Mindstorms NXT and EV3, Arduino boards, and Raspberry Pi, Pi Zero, Pi Zero W. C-STEM Studio can be used to teach C-STEM Math-ICT Curriculum which provides K-13 students with  up to 12 years of hands-on integrated math  and computer science education with coding in Blockly and Ch/C/C++.
  • Ch Mindstorms Controller in C-STEMStudio is the only platform in Raspberry Pi that allows you to control Lego Mindstorms NXT/EV3 from Pi directly. A single program can also control multiple NXT/EV3 at the same time.
  • RoboBlockly for learning coding, robotics, and math.
  • GPIOviewer, a simple GUI to interact with general purpose input/output (GPIO) pins on Rasperry Pi
  • Ch WiringPi Package, a Ch binding to WiringPi  to use WiringPi C functions for interfacing  GPIO and other devices.
  • Ch Arduino package in C-STEM Studio allows the same C/C++ code to run in both ChIDE and Arduino IDE without any modification.
  • Ch Common Gateway Interface (CGI) Toolkit for processing fill-out forms in Web development and Web-based computing.
  • Linkbot Labs for control Barobo Linkbots.
  • Using Ch Mechanism Toolkit for  Web-Based Mechanism Design and Analysis for design and analysis of many different mechanisms such as fourbar linkage, crank-slider mechanism, sixbar linkages, cam-follower system, etc.
  • Ch Control System Toolkit  and Web-Based Control System Design and Analysis for modeling, design, and analysis of continuous-time or discrete-time linear time invariant (LTI) control systems.
  • Apache Web Server for web development and Web-based computing  (The user needs to start the server)
  • Embedded Ch for embedded scripting and IoT by embedding Ch engine into a binary C/C++ application program so that the program behavior can be changed by C/C++ scripts later without recompilation.
  • Mobile-C, an IEEE FIPA compliant mobile agent platform  for mobile agent-based computing and applications for IoT and Cyber-Physical Systems.
  • Ch OpenCV in C-STEMbian for machine vision, image processing, and artificial intelligence.
  • (More packages will be added. Practically all C libraries can be ported to work in Ch using Ch SDK. We can help you port your favorite C libraries to run in C-STEMbian.)

Textbooks and Curriculum on Physical Computing with Pi and Arduino

You can use C-STEM Studio, textbooks and curriculum on Physical Computing with Pi and Arduino  readily for classroom teaching.

Training on Physical Computing with Pi and Arduino

You can visit our Professional Development page to register for a 1-Day Workshop on Physical Computing with Raspberry Pi, Arduino, and Robots using the C-STEM Starter Kit for Raspberry Pi and Arduino with C-STEMbian pre-installed.