Shakti Software

SHAKTI class of processors have a wide range of system softwares and tool chain support. There are Software Development Kits (SDK) and Integrated Development Environment (IDE) dedicated for SHAKTI SoCs.


Shakti SDK provides all necessary tools, scripts and board support packages to build applications. There are example programs demonstrating working of sensors. Learn more >>


For Rapid application development, IDE's are indispensible. PlatformIO IDE and Arduino supports are available for SHAKTI. Here PlatformIO IDE, is a plugin in Visual Studio


User can build applications using Adacore's GNAT toolchain and use it with Shakti Processor. Learn more >>

Sample Applications

Shakti SDK hosts sample applications to demonstrate working of sensors. Some of the applications that can be developed using SHAKTI are listed below.

Weather station

Monitor weather parameters and store the data in cloud. Use this data to predict weather. This sample application demonstrates capturing data and uploading it to cloud.

Detecting Human movement

All living objects, emit the heat in the form of infrared radiation through their body, also called thermal radiation. This Radiated energy is invisible to the human eye. These Signals can be detected using PIR sensors which is specially designed for these purposes. Using this sensor various applications to light up a hallway, room etc can be done. This sample demonstrates use of PIR with Shakti processor.

Irrigation System

Monitor and regulate water usage in the garden based on the needs using Shakti irrigation system. Moisture sensor connected to Shakti E class provides moisture level in the soil. Based on this input, water pump is switched on or off. This application uses GPIO pins to actuate motor and I2C to read values from moisture sensor.


A joystick is an input device consisting of a stick that pivots on a base and reports its angle or direction to the device it is controlling. Joysticks are often used to control video games and robots. This sample uses two analog outputs (corresponding to X, Y biaxial offsets) and one digital output representing whether it is pressed on Z axis, to control the movements in a game or robot.