N900 Hardware Hacking

(Debug ports)
(Debug ports)
Line 53: Line 53:
* J1 - 2 pad connector to the middle left above the battery connector.
* J1 - 2 pad connector to the middle left above the battery connector.
 +
**This is labeled J5300 and J5301 on the schematic.  J5300 is USB D+, J5301 is USB D-.
 +
* J2 14 pad connector in two parts.
* J2 14 pad connector in two parts.
** (a) - 6 pad connector.
** (a) - 6 pad connector.

Revision as of 17:39, 12 August 2010

This page outlines what is known about the hardware of the N900, and possible modifications or additions to it.

Much of the information on this page may be incorrect, and may cause damage to your N900 if you attempt any of it.

Contents

Hacks

  • Case
  • Camera
  • Wifi
  • Bluetooth
  • Battery
  • Audio
  • Video

Additional Hardware

Compass

The HMC5843 compass from honeywell seems as if it would be a simple addition, if it could be wired onto a I2C bus.

There is also miniSD AMI603SD 6 degree sensor available, if it is possible to wire that to microSD slot. The same manufacturer is also providing small magnetic sensors AMI304 to i2c bus with DIP8 so it would be easier to solder with capacitors but there is not much room inside N900.

I2C bus can have chained up to 112 slave devices. Only problem is to get those pins available maybe de-soldering some component first... also one free GPIO/interrupt line would be good thing to have. There seems to be some pads available for I2C when looking from N900_Hardware_Schematic, J6183 and J6184 in H7 Top layout near FM transmitter. Most probably too small to solder by hand. There seems to be also one interrupt line used by transmitter in J6181.

If not needing the FM TX it could be possible remove whole component and replace it with compass.

Gyroscope

The forthcoming invensense itg3200 is a gyroscope chip that could similarly be connected to a I2C bus.

UART to I2C bridge

There is also available some bridge chips UARTtoI2C that can be used over UART. Most likely UART pins can be found in debug ports.

MMC card

The MMC controller pins are convertable to GPIO pins. See page 3 top-left of N900 Hardware Schematic, and page 691 of spruf98.pdf. This means that there are 6 available easily contactable GPIO pins, static protected. (see same page of schematic) along with a 3.3V possibly variable power supply.

Debug ports

Under the battery are several groups of test pad connectors. With the camera on the left, and the battery removed. These are numbered for the purposes of this page clockwise, with pad 1 of a connector at its top left.

Probable connections are anything that will enable full tests and bootstrap of of the phone without a case.

Obvious candidates are JTAG for flashing any bootloader, and USB for flashing the device. Serial ports, I2C, SPI are also possible.

The third serial port is reportedly connected to these ports, so it is accessible.

  • J1 - 2 pad connector to the middle left above the battery connector.
    • This is labeled J5300 and J5301 on the schematic. J5300 is USB D+, J5301 is USB D-.
  • J2 14 pad connector in two parts.
    • (a) - 6 pad connector.
    • (b) - 8 pad connector
  • J3 - 7 pads.
  • J4 - 7 pads.

Here are the pad names from the schematic linked in the resources section, using same logic for "+" vs "o"

+ J5301
+ J5300

            J2000            J2060
  J2062 +   o   o       o   o   o   o  
          o   o   o       o   o   o   + J2061

            J5602       J3109 J3111 J3113 J3115
        o   o   o   o    +   +   +   +
          o   o   o        +   +   +
                        J3110 J3112 J3114

The plus-sign (supposedly) signifies invidual pad and group of lowercase "o" pads is a port (or similar).

According to my measurements with DMM (Digital Multi Meter) the following pads are ground (counting from top-left and always going left-to-right in case of group of pads): first of J2000, last of J2060, first of J5602 and J3115.

Schematic did not reveal where these pads might actually be connected to.

According to jacekowskis measurements J2000 is serial console, pin 5 is confirmed to be TX (115200 8-N-1 ~2.6V, connected to 1st UART in omap - /dev/ttyS0 in linux). Since J2000 is group of 5 pads one could suppose the serial console uses HW flow control.

According to CPKB J2060 is F/MBus port.

Modifications

USB

Further details can be found in the USB on the N900 page.

Resources

Vendors

  • Tessco had a variety of n900 parts. Note that they sold Tessco Nokia parts only to Authorized Service Centers. (they currently do not and have stopped listing parts for Nokia phones.)
  • As always - ebay - this vendor has at the moment a stock of screens and various other original parts.