|
Nokia770ArduinoSetup
Nokia 770 Arduino SetupThis 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 Mac1) 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 Mac1) 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 DirectoryOn the Mac1) 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 ModeOn the Mac1) 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 applicationsOn the 7701) 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 9On the 7701) 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 7701) 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 serproxyOn the 7701) Start xTerm. Extras > X Terminal 2) Launch serproxy. # cd /home/user/MyDocs # ./serproxy Open the flash swfOn the 7701) 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). |
Sign in to add a comment
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!
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:
- cp /media/mmc1/serproxy home/user/MyDocs/serproxy
- cp /media/mmc1/serproxy.cfg home/user/MyDocs/serproxy.cfg
Should beNote: 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!