Connect a Pololu Baby Orangutan with an Arduino WiFi Shield?

Hello everyone,
Firstly, thank you for spending time reading our post.
We have done a project on connecting Pololu 3pi Robot (Pololu 3pi Robot) with an Arduino UNO R3 (http://arduino.cc/en/Main/ArduinoBoardUno) and an Arduino WiFi Shield (http://arduino.cc/en/Main/ArduinoWiFiShield). The main purpose of this project is to control the 3pi robot with a smart phone via wifi communications. With the Arduino WiFi library (WiFi - Arduino Reference), we can write the code and upload it to an Arduino UNO R3 board connecting with Arduino WiFi shield successfully. However, we want to replace the Arduino UNO R3 board with a Pololu baby Orangutan B-328 (Pololu - Baby Orangutan B-328 Robot Controller). Then, we have met some difficulties in writing the code because Pololu AVR C/C++ Library (Pololu AVR C/C++ Library User’s Guide) doesn’t contain the WiFi Library. Hence, we would like to ask for your help:

  1. Can we just program the baby orangutan from the Arduino Environment with the compatible WiFi Library?
  2. Or can we program the baby orangutan with existing AVR WiFi Library?
  3. Are there any helpful documents for us to understand connecting baby orangutan with Arduino WiFi shield?

We are really thank you for your replies.

Hello.

You can program a Baby Orangutan (and some of our other Orangutan micro controllers) with the Arduino environment. The Programming Orangutans and the 3pi Robot from the Arduino Environment guide can get you started.

I am not familiar with the AVR Wifi library in which you are referring to. Could you please provide a link to its documentation so I can see if it can work with the Baby Orangutan and the Arduino Wifi shield?

That Arduino Wifi shield uses SPI to communicate with an Arduino. Unfortunately, the MOSI line (used in SPI communication) is not accessible easily on the Baby Orangutan. You can access it through one of the ICSP programming pins; however, that might get in the way of programming the Baby Orangutan. You might consider loading the Arduino bootloader onto the Baby Orangutan so you could program it through a serial connection. Please note, the clock frequency on the Baby Orangutan is 20 MHz (Arduino runs at 16MHz) and might require some modification to the bootloader. You might find this thread discussing using the Arduino bootloader at 20 MHz helpful.

- Jeremy

Hi Jeremy,
Thank you for your response. We have found all the information and documents through the internet, but cannot find the AVR compatible WiFi Library. So, we wonder that can we rewrite the Arduino WiFi Library into Baby Orangutan compatible library and program it with Arduino environment like the method in https://www.pololu.com/docs/0J17/5.
The other question is that there are 6 ISP pins on Baby Orangutan so can we just choose one of the six pins randomly as MOSI line?
Thank you again for your helpful replies.

- James

The Arduino UNO uses an AVR ATmega328P, so the WiFi library you found is AVR-compatible. The Baby Orangutan uses the same AVR, so you probably will be able to modify it and use it similarly to what is described in the section of the guide you linked to.

You cannot randomly select one of the six pins; the MOSI line is pin 4 on the ISP connector.

- Jeremy

Thank you Jeremy,
You really give us some helpful informations and encourage us to continue our project. If we run into difficulties when conductiing our project, we will try our best to find the answers and hope you can still give us some suggestions.
Thanks again!

- James

I am glad I was able to help you guys thus far. I would love to hear more about your project and how it progresses.

- Jeremy