Introducing KuttyPy: AVR Trainer

Software - Real World bridge for learning embedded systems.

Scroll Down

About The Device

The kuttyPy (/kʊtipʌɪ/) Microcontroller training software allows live manipulation of the registers in the ATMEGA32 on the KuttyPy board via a connected computer through a Python library or Graphical interface.
The software has a built in IDE, A visual coding interface, and even AI tools for gesture recognition. It has live debugging and monitoring tools, and combined with the connected phone/laptop's visualization and analytical utilities, this approach has immense pedagogical potential for beginners to the microcontroller world.

Python Programmable

The Python library allows full control over the registers of the microcontroller. It can perform live bit manipulation, read/write over communication buses, and analyze and visualize acquired data.

Combine with powerful Python modules like Numpy, Scipy, Matplotlib for data analysis and visualization

C Code IDE

The KuttyPy IDE on your laptop comes with over 50 example codes in C and Assembly to teach you the fundamentals. AVR-GCC is used to compile code, and the IDE uploads it. Compatible with the Arduino IDE.

50+ Simple examples for blinking LEDs, Reading ADCs, and operating PWM outputs

Visual Code

The drag and drop coding interface on the android app makes it easy to use your KuttyPy to control real world events. It includes AI gesture recognition blocks , and demo games to make learning to code fun.

Several examples ranging from plotting sine waves, to a gesture controlled robotic arm

App Screenshots

What Can It Do?

Register Bit Manipulation

With no Compile/Upload Hassle, one can : Monitor every input, Toggle every output, Access Peripherals such as PWMs and Counters, log/plot ADC readings, Scan for I2C sensors, plug and play over 10 common I2Csensors.

Graphical Programming

Includes a visual coding interface built on Blockly that allows dragging and linking graphical segments to form logical sequences with parallel generation of typed code. Over 50 examples included to perform various tasks such as sensor data logging, and AI enabled games.

C Code IDE

Built-in C code editor with over 100 C and Assembly examples focused on fundamental learning. It is also compatible with the Arduino IDE, and can be used after downloading the board package into the IDE. The android app features a cloud based compiler.

Test and Measurement

The software control of I/O pins, ADCs, communication buses enable this to be used as a data acquisition and control device. Simple tasks such as logging voltage, or readings from sensors for magnetic fields, luminosity, pressure, humidity etc can be done with no-coding knowledge.

The Hardware

USB Connectivity

Attach to your PC/Phone to control and monitor the hardware

LED Arrays

8 SMD LEDs each on PORTD and PORTB for various demonstrations

Switch Array

DIP switch array on PORTA for read_input demo.

6-bit R2R DAC

Resistor ladder built into pins PC2-PC7 for a 6 bit DAC.

RGB LED

Common Anode RGB LED with inputs connected to PB3, PD5, and PD7 which have PWM modules attached.

I2C Connector

I2C is available on PC0, PC1 for connecting sensors. Reduce messy wires with a dedicated 4 pole socket.

Resettable Fuse

Protects against accidental short circuits. Resets automatically

Display Port

Port for soldering a 16 character display. Also includes resistor pads for adjusting contrast and backlight.

Add-On Sensors

Access add-on sensors and controllers via I2C

Supported

  • BME280: Temp, Pressure, Humidity
  • TSL2561: Luminosity Sensor
  • HMC5883: 3 Axis Magnetometer
  • MPU6050: 6 DOF IMU: Accel+Gyro
  • MLX90614: Passive IR Temperature
  • AHT10: Humidity Measurement
  • ML8511: Analog UV sensor
  • MAX30100: Heart rate and Oximetry
  • PCA9685: 16 Channel PWM
  • MCP5725: 12 bit DAC
  • QMC5883: Magnetometer
  • BH1750: Luminosity Sensor
  • AD8232: ECG Instrumentation Amp
  • ADS1115: 16 bit ADC
  • TCS34725: RGB Color Sensor
  • ADXL345: 3 Axis Accelerometer
  • INA219: Current Meter

Download The Companion App!

KuttyPy works with connected PC/Android devices. It can be installed for various platforms - Ubuntu, Windows, and Android. If you have a Python3 interpreter installed, the kuttyPy package can be installed via Pip: pip install kuttyPy

On windows, a standalone executable installer is available, but Pip is recommended. Download EXE

User Reviews.