RaspberryPIC GoPack

An embedded system for wearable robotics prototyping.

What is it?

The RaspberryPIC GoPack is an open-source prototyping platform for wearable robotics and embedded systems. It uses a custom add-on board for the Raspberry Pi to handle multiple sensors and actuators with high timing precision and wirelessly stream data back to a host PC running Simulink. The board was designed to be easily prototypable in a research lab setting - 2 layers, standard pour, no components smaller than 0603, all components on the top side. It provides a wireless robotic systems platform designed to cut down the time from concept to wearable prototype. This is a research project being developed at the Mechatronics and Robotics Research Lab (MRRL) at the University of Massachusetts Amherst. Funding for the project as made possible by the National Science Foundation through the National Robotics Initiative (Grant # 1526986).

Simulink design environment

Mathworks supports Raspberry Pi hardware for Simulink model integration with a free support package. The GoPack takes advantage of this by running Simulink models on the Raspberry Pi, which communicates with an add-on board running a separate microcontroller to handle multiple sensors and actuators with high time-precision. Custom Simulink S-function blocks to enable this link are available for download on this website.

Raspberry Pi - PIC microcontroller interface

Communication between the Raspberry Pi and PIC microcontroller conducted via SPI at 4 MHz baud. Microcontroller instructions can be created in Simulink by following a message protocol library provided in the documentation. Strict, fast sample times (4 kHz or greater) are enforced on the microcontroller independently of the Raspberry Pi communication rate.

17+ default supported peripherals

Default configuration supports 2 differential encoder inputs, 2 PWM voltage outputs, 9 analog inputs (3 with adjustable low-pass filters), SPI master with 2 slave selects, I2C for any number of digital peripherals, and 2 additional digital general purpose input/output pins. Up to 42 V input to drive high-voltage actuators. Provides both 5.0 V and 3.3 V supply. The microcontroller is fully reprogrammable should the user wish to redistribute or reallocate pins for other functions. Designed for use with an external motor driver.



Input Voltage 10 - 42V
Total I/O Pins 35
Total Reprogrammable I/O Pins 26
Analog Inputs
Encoder Modules 2
PWM Outputs 2
SPI Chip Selects 2
I2C Master Yes
Default Analog Sample Rate 4 kHz
Default Digital Sensor Sample Rate 1 kHz
WiFi Communication Yes

The Team

Mark Price, MS Mechanical Engineering

Andrew LaPré, PhD Mechanical Engineering

Prof. Frank Sup, Principal investigator

Contact Us

Mechatronics and Robotics Research Lab
University of Massachusetts
Amherst, MA 01003, USA
Email: mrrl@umass.edu
Website: MRRL