My favorites | Sign in
Project Logo
             
Search
for
Updated Nov 06, 2008 by labs.ideo.com
Nokia770ArduinoSetup  

Nokia 770 Arduino Setup

This post walks you through the steps needed to install the following things on an Nokia 770 tablet, allowing you to run Flash 9 and interface with Arduino. This tutorial has been written for the Mac.

This is for the Nokia 770 only, please see the N810 post for that tablet.

You will have to make a cable that supplies power to the Arduino. The 770 can be changed into "host mode" but does not supply power over the USB port. To do this, you can make a cable to supply power or connect the device through an externally powered USB hub. We made a cable that powers a female USB connector externally from another USB port or a 5V power brick:

Now to get everything connected and talking to each other in software:

Download the software:

On The Mac

1) Navigate to http://code.google.com/p/ideo-maemotablet/downloads/list

2) Download the "nokia770-Arduino.zip" file and expand it.

Download the ROM tool:

1) navigate to http://tablets-dev.nokia.com/d3.php

2) download "flasher.macosx" and place it in the "ROM_Tool" directory in the folder you downloaded in the last step.

Download the OS 2007 Hacker Edition:

1) navigate to http://tablets-dev.nokia.com/os2007_hacker_edition.php

2) download the latest FIASCO image and place it in the "ROM_Tool" directory. it should look like:

SU-18_2007HACKER_4.2008.7-1_PR_F5_MR0_ARM.bin

Put the Nokia 770 applications on the memory card.

On the Mac

1) Plug 770 Device into a Mac.

Memory card mounts as disk on desktop.

2) Drag the following files from the applications folder onto the 770 memory card:

Direct Terminal.app to the ROM Tool Directory

On the Mac

1) Start Terminal.app

2) Specify that you'd like to change directories. Do not press return yet!

# cd

3) Add a space after "cd" and drag the "ROM Tool" directory and drop on the Terminal window.

It should look something like this:

# cd /Users/jdoe/Desktop/Nokia_770/ROM_Tool/
Now press the return key on your keyboard

4) List the directory (just to be sure)

# ls
You should now see some filenames such as:

flasher-2.0.macosx SU-18_2007HACKER_4.2008.7-1_PR_F5_MR0_ARM.bin

Flash new kernel image, Enable R&D Mode, Enable USB Host Mode

On the Mac

1) Ensure that you are in the "ROM Tool" directory.

Follow instructions in this document for how to direct Terminal.app to the ROM Tool directory.

2) Ensure that the 770 is OFF and that the USB cable is disconnected.

3) Start ROM Tool, Flashing ROM.

# ./flasher-2.0.macosx --unpack --fiasco
SU-18_2007HACKER_4.2008.7-1_PR_F5_MR0_ARM.bin
If it cannot find the file make sure the .bin name is the same as the .bin name you downloaded.
# ./flasher-2.0.macosx --rootfs rootfs.jffs2 --kernel zImage --enable-rd-mode --enable-usb-host-mode --flash --reboot

4) Connect the 770 to the Mac with the USB cable and turn ON the 770.

The 770 will reboot after flashing.

Installing 770 applications

On the 770

1) Make sure the USB cable is disconnected.

2) Open File Manager, navigate to "Memory Card."

3) Double tap the following files in this order, follow the installation prompts:

Install Flash 9

On the 770

1) Start xTerm.

Extras > X Terminal

2) Type the following at the prompt (this installs Flash 9):

$ sudo gainroot
# tar xvzf /media/mmc1/microb_flash-4.2007.tar.gz -C /

Install Serproxy (for sending and receiving serial data to/from Flash), place Flash trust file:

On the 770

1) Start xTerm.

Extras > X Terminal

2) Copy serproxy to the "nokia 770" folder (it can't run from the card):

# cp /media/mmc1/serproxy home/user/!MyDocs/serproxy
# cp /media/mmc1/serproxy.cfg home/user/!MyDocs/serproxy.cfg

3) Change permissions:

# sudo gainroot
# chmod 777 serproxy

4) Place a file so Flash will trust the Flash app talking to serproxy:

# mkdir /etc/adobe
# mkdir /etc/adobe/FlashPlayerTrust
# cp /media/mmc1/trustPath.cfg /etc/adobe/FlashPlayerTrust/trustPath.cfg

Load the supplied Arduino sketch "NokiaTest" onto your Arduino board.

Open serproxy

On the 770

1) Start xTerm.

Extras > X Terminal

2) Launch serproxy.

# cd /home/user/MyDocs
# ./serproxy

Open the flash swf

On the 770

1) Launch the File Manager.

2) Open nokiaTest.swf.

You're done!

To see what else we've learned about the tablet, read the IDEO Labs post, "Tips for prototyping on the Nokia tablet." Here are some things to keep in mind:

• How to turn off sleep mode (sleep mode breaks your connection to Arduino).

• ROM Tool Instructions (this shows how individual options can be set through the ROM tool).


Comment by gre...@krekr.nl, Mar 26, 2009

Dear IDEO,

Thanks for all the inspiration on sooo many levels, and for this info in particular. I have bought myself a second hand 770 for the purpose of prototyping with Arduino. I have followed this guide two times over, but get stuck in the same step every time. After starting serproxy and opening the flash file, flash tells me the arduino is found for a while, and then lost. Serproxy gives an error "Failed to open comm port - connection refused" for every reload of the flash file. I feel I'm so close to getting this to work, but missing just a single small step. Notes: When I ls /dev/tty there is no /dev/ttyUSB0 as specified in the serproxy.cfg file. Thanks in advance for any help!

Comment by gre...@krekr.nl, Apr 01, 2009

Anyone trying to replicate this howto:

I've got it to work, thanks to these pages: http://tabletblog.com/2006/01/usb-power-injector-2.html http://www.hcilab.org/projects/nokia770/nokia770.htm

Note the difference in their wiring scheme: not only DATA- and DATA+ are connected to the Arduino, but also GND and +5V! Somehow the 770 requires +5V on it's USB-port before recognizing devices: GND alone is not enough.

Small tweaks:

  1. cp /media/mmc1/serproxy home/user/MyDocs/serproxy
  2. cp /media/mmc1/serproxy.cfg home/user/MyDocs/serproxy.cfg
Should be
  1. cp /media/mmc1/serproxy /home/user/MyDocs?/serproxy
  2. cp /media/mmc1/serproxy.cfg /home/user/MyDocs?/serproxy.cfg

Note: After installing dropbear you can SSH (root:rootme) into the 770 from wireless or dail-up (Bluetooth) saving yourself some trouble keying in the commands on the on-screen keyboard!


Sign in to add a comment
Hosted by Google Code