User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Announcing RoboPi advanced controller for the Raspberry Pi

Mon Feb 03, 2014 2:07 am

I am happy to announce that Mikronauts advanced robot controller for the Raspberry Pi is now available!

Image

RoboPi stacks on top of the Raspberry Pi with an extra tall stacking header, and adds an eight core 32 bit Parallax Propeller running at 100Mhz to the Raspberry Pi to off-load hard real time I/O from the Pi.

RoboPi provides eight 0-5VDC analog inputs, and 24 digital 5V tolerant I/O. The digital I/O is broken out to three 10 pin female connectors for use with Mikronauts 10 pin modules and/or user modules, as well as three pin servo headers, in groups of eight I/O's. For the first two groups, the user can select between 5V from the Pi or an external battery (for powering the servo headers), for the last group the 5V is from the Raspberry Pi as that bank is intended for sensors or expansion modules. RoboPi also works well as a powerful I/O expander.

NOTE: RoboPi is supplied in a kit form in order to be more cost effective for schools, clubs and individuals.

For more details, including photographs and pricing, please visit

http://www.mikronauts.com/raspberry-pi/robopi/

Documentation and sample code is currently being completed, and will be released within one week.

An assembled and tested SMT version can be made available given orders from distributors.

I would be happy to answer any questions you may have about RoboPi.

You can email me at 'mikronauts' at 'gmail' dot 'com'
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
scruss
Posts: 2254
Joined: Sat Jun 09, 2012 12:25 pm
Location: Toronto, ON
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Sat Feb 08, 2014 4:28 pm

Nice. I've always wanted to like the Propellers more, but doing development on them under Linux seems beyond painful. It needs a download-and-install open source (yes, including all compilers and libraries as open source, not just “freeware”) cross-platform development system.

They remind me of the old Transputers: vastly powerful, but understood by few.
‘Remember the Golden Rule of Selling: “Do not resort to violence.”’ — McGlashan.

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Fri Feb 14, 2014 8:56 pm

Thank you.

Actually, developing for the Propeller under Linux is really easy now - SimpleIDE is available for Windows, Mac, and Linux, and runs on the Pi as well, and allows for programming the Propeller in C, C++, Spin and assembly language.

I am working on finishing the RoboPi documentation (which should be ready by early/mid next week) and it will show how to install the Propeller SimpleIDE development environment on Raspbian... I need to get that out before the new product announcements hit assorted magazines :)

The XMOS chips are descended from Transputers, I have some dev systems for those as well - however I find the Propeller far easier to program, with less restrictive I/O rules. Mind you, the XMOS chips are faster than the current Propeller, but there is a Propeller 2 coming...
scruss wrote:Nice. I've always wanted to like the Propellers more, but doing development on them under Linux seems beyond painful. It needs a download-and-install open source (yes, including all compilers and libraries as open source, not just “freeware”) cross-platform development system.

They remind me of the old Transputers: vastly powerful, but understood by few.
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
scruss
Posts: 2254
Joined: Sat Jun 09, 2012 12:25 pm
Location: Toronto, ON
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Sun Feb 16, 2014 4:08 pm

Great work. It would be nice if there was a port of the Processing/Wiring/Arduino language to the Propeller; there's a lot of working code out there that will compile on AVR, MSP430, ARM Cortex, PIC32 and Intel Quark already.

Given your company name, I had to ask: Acroyear, or Baron Karza? ☺
‘Remember the Golden Rule of Selling: “Do not resort to violence.”’ — McGlashan.

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Sun Feb 16, 2014 8:18 pm

Thanks.

There is some Arduino compatibility available (for the base libraries), but no Wiring Processing; however Wiring Processing should be possible on Propeller 2.

You may find my C API for RoboPi very familiar...

I only became aware of those toy lines well after I started Mikronauts, but I do enjoy s-f and s-f anime :)

Mikronauts was meant to play off "astronaut", as in exploring micro controllers, and I deliberately mis-spelled it with a K to make it easier to remember.
scruss wrote:Great work. It would be nice if there was a port of the Processing/Wiring/Arduino language to the Propeller; there's a lot of working code out there that will compile on AVR, MSP430, ARM Cortex, PIC32 and Intel Quark already.

Given your company name, I had to ask: Acroyear, or Baron Karza? ☺
Last edited by mikronauts on Sun Feb 16, 2014 11:45 pm, edited 1 time in total.
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
scruss
Posts: 2254
Joined: Sat Jun 09, 2012 12:25 pm
Location: Toronto, ON
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Sun Feb 16, 2014 9:52 pm

Wiring is the Arduino language; Arduino was a straight clone onto cheaper hardware than the Wiring board. Here's Brett Hagman's explanation: How is arduino related to wiring? I know Brett, and he's the designer of the current Wiring S board.
‘Remember the Golden Rule of Selling: “Do not resort to violence.”’ — McGlashan.

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Sun Feb 16, 2014 11:42 pm

Sorry. I misspoke.

I meant Processing.

Partial wiring libraries already work on the Propeller, they were written for the Arduino form factor Propeller ASC+

http://www.parallax.com/product/32214

I was referring to Processing being a possibility on the upcoming Propeller 2, which will be quite the beast.

Good link - thanks.
scruss wrote:Wiring is the Arduino language; Arduino was a straight clone onto cheaper hardware than the Wiring board. Here's Brett Hagman's explanation: How is arduino related to wiring? I know Brett, and he's the designer of the current Wiring S board.
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
scruss
Posts: 2254
Joined: Sat Jun 09, 2012 12:25 pm
Location: Toronto, ON
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Mon Feb 17, 2014 12:44 am

mikronauts wrote:Processing being a possibility on the upcoming Propeller 2
Okay, that sounds really neat. Want!
‘Remember the Golden Rule of Selling: “Do not resort to violence.”’ — McGlashan.

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Tue Feb 18, 2014 1:26 am

Update:

- RoboPi diagnostics running on the Propeller now, controlled by minicom or Putty on the Pi

- I am working on the serial API, after which I will make a C library for the serial API

- build manual 90%+ complete, I just have to add some information in the appendices
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Wed Feb 19, 2014 10:49 pm

Update:

The RoboPi Spin API has now been tested!

- digital output works (P0..P23)
- digital input works (P0..P23)
- pwm output works (P0..P23)
- servo output works (P0..P23)

- analog input works (AIN0-AIN7)

Next:

- add serial packet handling
- write C library for Raspberry Pi that communicates with RoboPi using the serial port
- document API
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Mon Feb 24, 2014 7:14 pm

The RoboPi Build Manual is now available at

http://www.mikronauts.com/raspberry-pi/robopi/

towards the end of the page.
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Fri Feb 28, 2014 2:03 am

Progress Report:

- Packetized, error checked, serial I/O established between Prop and Linux via GetPacket() PutPacket() functions at both ends
- started wrapping RoboPiObj.spin methods in packet wrappers
- expect all verified working RoboPiObj methods to have equivalent RoboPiLib.c wrappers functional tomorrow, some working already :)

Question

- Should I supply a downloadable robopi.eeprom with a propeller-load executable for RoboPi so Pi users don't have to compile the RoboPi.spin packet handler, and RoboPiObj.spin it includes?
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Mon Mar 03, 2014 9:43 pm

Progress report:

- RoboPi is successfully being controlled from Linux via the serial port using the packet encapsulated API
- I am cleaning up the API for release
- I will be making an 'eeprom' image available with propeller-load so that RoboPi can be controlled by the Pi without having to install Propeller development software

The API is modelled on Wiring / Arduino in order to be familiar to more users.
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Fri Mar 07, 2014 7:46 pm

Progress Report:

I've posted a pdf describing the RoboPi Spin API (used for stand alone operations, and by the serial server for Pi control) at

http://www.mikronauts.com/raspberry-pi/robopi/

The RoboPiLib for controlling RoboPi from C/C++ programs running on the Pi is running, and I will publish a PDF in the next few days. It is based on the Spin API, which was based on Wiring/Arduino with the servo library being an integral part of the RoboPi API.

A brief summary:

- there are 24 digital I/O's on RoboPi

- each digital I/O can be one of (in any mixture)

a) INPUT
b) OUTPUT
c) PWM
d) SERVO

- there are also eight analog inputs

- the analog inputs may also be read as if they were digital inputs
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Thu Mar 13, 2014 9:53 pm

Progress Report:

RoboPi Spin Object and Firmware has been uploaded to the product page at:

http://www.mikronauts.com/raspberry-pi/robopi/

The firmware communicates with the Raspberry Pi at 115.2kbps, 8N1 using the Pi's TTL serial port.

Next:

Raspberry Pi C library for communicating with the firmware on the RoboPi is expected to be posted tomorrow.

(it works, I just wish to clean it up and add some more comments before posting it to my site)
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Thu Mar 13, 2014 9:56 pm

Here is the header file for RoboPiLib - you can see how easy it is to use the library:


//**********************************************************************************
// RoboPiLib Serial Protocol Library For RoboPi
//
// RoboPiLib_v0.7.h
//
// Copyright 2014 William Henning
//
// http://Mikronauts.com
//
//**********************************************************************************

// Pin Modes

#define INPUT 0
#define OUTPUT 1
#define PWM 16
#define SERVO 32

// Initialization

void RoboPiInit(char *device, int bps); // device = "/dev/ttyAMA0", bps = 9600..115200 matching RoboPi config

// Setting / Reading Pin Modes

int readMode(int pin); // pin = 0..23, returns INPUT/OUTPUT/PWM/SERVO as defined above
void pinMode(int pin, int mode); // pin = 0..23, mode = INPUT/OUTPUT/PWM/SERVO

// Reading / Writing Digital I/OUTPUT

int digitalRead(int pin); // pin = 0..23, returns 0 or 1, if pin = 24..31 returns 0 or 1 for ain0-ain7
void digitalWrite(int pin, int val);// pin = 0..23, val = 0 or 1

// Analog input

int analogRead(int pin); // returns 0..1023
int analogReadRaw(int pin); // returns 0..4095 with MCP3208

// PWM output

void analogWrite(int pin, int val); // val = 0..255

// Servo Functions

int servoRead(int pin); // returns 0..2500 microseconds
void servoWrite(int pin, int val); // pin = 0..23, val = 0..2500 microseconds
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Fri Mar 14, 2014 9:30 pm

I've added a photo of RoboPi on a 2WD Magician chassis at the bottom of the product page at:

http://www.mikronauts.com/raspberry-pi/robopi/
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Mon Mar 17, 2014 4:07 pm

Progress report:

I've uploaded the "RoboPi User Manual v0.40" to the RoboPi product page.

http://www.mikronauts.com/raspberry-pi/robopi/

I expect to upload RoboPiLib (the Raspberry Pi C/C++ library for controlling RoboPi) later today.

Your feedback is appreciated!
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Mon Mar 24, 2014 10:36 pm

Progress Report:

Image
(photo of Elf one of my RoboPi based bot)

I’ve uploaded the initial RoboPiLib to the RoboPi product page. The zip file contains RoboPiLib_v0.71.h and RoboPiLib.a

http://www.mikronauts.com/raspberry-pi/robopi/

The preliminary user manual has some documentation on the library functions, and it will be updated later this week with more sample code.

This is the initial version of the library, and will be expanded over time. I intend to release the source code after I’ve cleaned it up and added more error checking and comments :)

You need to have the RoboPi firmware installed on RoboPi in order for the library to work.
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Sat Mar 29, 2014 7:33 pm

Update:

I've uploaded v0.51 of the RoboPi User Manual to the product page at

http://www.mikronauts.com/raspberry-pi/robopi/

You can find it towards the bottom of the page.

This update adds some more sample code, details on PWM, and how to use a Sharp IR distance sensor.

There will be a new version of RoboPiLib next week.
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Mon Apr 14, 2014 4:24 pm

Update:

The current API allows treating the eight analog inputs as digital inputs for digitalRead(24..31)

This will not be supported starting with the next API release, which is expected later this week.

You can always use (analogRead(ch)>512) as the equivalent of reading an analog channel as a digital input.

Reason for change:

- important future firmware functionality (to be announced) requires this change in the API
- simplifies documentation
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Sat May 17, 2014 9:30 pm

Update:

RoboPiLib_v0.80.zip has been uploaded to the RoboPi product page at

http://www.mikronauts.com/raspberry-pi/robopi/

Reason for Change:

Minor fixes, added .o version of the library
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Mon May 19, 2014 11:18 pm

Update:

- RoboPi User Manual has been updated to v0.60

- RoboPi Build Manual has been updated to v0.98

As usual, you can find the latest documents on the product page at:

http://www.mikronauts.com/raspberry-pi/robopi/

Reason for Change:

Added some information on stand-alone operation, PropPlug warnings and polarity of capacitors in build manual.
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Fri May 30, 2014 7:11 pm

Update:

I made some significant improvements to RoboPiObj, which I am now adding to RoboPiLib and the RoboPi firmware:

1) The new timing resolution for servo and PWM generation is 4.96us

This is a major improvement from the pervious 6.56us grain, and the improvement is due to eliminating PWM/servo capability for the dedicated serial, I2C and ADC pins on RoboPi shortening the scan cycle.

2) I added support for non-20ms period servos (digital servos for example) with a new API function

servoWritePeriod(pin, pulse_width, pulse_period)

So if you wanted to use a servo that expected a 5ms period, and wanted a 500us pulse, you would call it as:

servoWritePeriod(pin, 500, 5000)

3) This update will also include readDistance() for at least the inexpensive HC-SR04 sensors.

mm = readDistance(pin, HC_SR04)

Note the changed syntax from the preliminary syntax in the User Manual - the change was made for consistency with the rest of the API.

These changes will be available in the next firmware/API update, which I expect to release before Monday.

The new files will be uploaded to the RoboPi product page at:

http://www.mikronauts.com/raspberry-pi/robopi/
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

User avatar
mikronauts
Posts: 2705
Joined: Sat Jan 05, 2013 7:28 pm
Contact: Website

Re: Announcing RoboPi advanced controller for the Raspberry

Mon Jun 02, 2014 6:18 pm

I just released v0.81 of the RoboPi firmware, object and Raspberry Pi library.

This version adds:

- readDistance(pin) for HCSR-04 ultrasonic range sensor
- improves servo and PWM resolution to 5 microsecond timing grain

The new software is available on the product page at:

http://www.mikronauts.com/raspberry-pi/robopi/

readDistance() should also work with the Parallax Ping sensor, and may also work with the SeeedStudio range sensor.
http://Mikronauts.com - home of EZasPi, RoboPi, Pi Rtc Dio and Pi Jumper @Mikronauts on Twitter
Advanced Robotics, I/O expansion and prototyping boards for the Raspberry Pi

Return to “Automation, sensing and robotics”