Freerunner Navigation Board v3
From Openmoko
Jeepingben (Talk | contribs) (Added barom to FRNBv3 software list) |
(→add I2C address map) |
||
Line 28: | Line 28: | ||
=Documentation= | =Documentation= | ||
− | Schematic and board layout files are available from https://gitorious.org/frnbv3/frnbv3-hardware (CadSoft EAGLE 5.x format) | + | Schematic and board layout files are available from [https://gitorious.org/frnbv3/frnbv3-hardware gitorious] (CadSoft EAGLE 5.x format) or [http://chonyota.net/freerunner/FRNBv3 here] |
+ | |||
+ | ==I2C Addresss Map== | ||
+ | '''Used I2C addresses''' | ||
+ | {|style="border-collapse: separate; border-spacing: 0; border-width: 1px; border-style: solid; border-color: #000; padding: 0" | ||
+ | |- | ||
+ | !style="border-style: solid; border-width: 0 1px 1px 0"| Address | ||
+ | !style="border-style: solid; border-width: 0 1px 1px 0"| Chip | ||
+ | !style="border-style: solid; border-width: 0 1px 1px 0"| Description | ||
+ | |- | ||
+ | |style="border-style: solid; border-width: 0 1px 0 0"| 0x1e | ||
+ | |style="border-style: solid; border-width: 0 1px" | HMC5883l | ||
+ | |style="border-style: solid; border-width: 0 1px"| Compass | ||
+ | |- | ||
+ | |style="border-style: solid; border-width: 0 1px 0 0"| 0x41 | ||
+ | |style="border-style: solid; border-width: 0 1px"| BMA180 | ||
+ | |style="border-style: solid; border-width: 0 1px"| Accelerometer | ||
+ | |- | ||
+ | |style="border-style: solid; border-width: 0 1px 0 0"| 0x45 | ||
+ | |style="border-style: solid; border-width: 0 1px"| TCA6507 | ||
+ | |style="border-style: solid; border-width: 0 1px"| LED Controller | ||
+ | |- | ||
+ | |style="border-style: solid; border-width: 0 1px 0 0"| 0x50 | ||
+ | |style="border-style: solid; border-width: 0 1px"| MPR121 | ||
+ | |style="border-style: solid; border-width: 0 1px"| Touch Controller | ||
+ | |- | ||
+ | |style="border-style: solid; border-width: 0 1px 0 0"| 0x54 | ||
+ | |style="border-style: solid; border-width: 0 1px"| M24LR64 | ||
+ | |style="border-style: solid; border-width: 0 1px"| I²C/RFID EEPROM | ||
+ | |- | ||
+ | |style="border-style: solid; border-width: 0 1px 0 0"| 0x69 | ||
+ | |style="border-style: solid; border-width: 0 1px"| ITG3200 | ||
+ | |style="border-style: solid; border-width: 0 1px"| Gyroscope | ||
+ | |- | ||
+ | |style="border-style: solid; border-width: 0 1px 0 0"| 0x77 | ||
+ | |style="border-style: solid; border-width: 0 1px"| BMP085 | ||
+ | |style="border-style: solid; border-width: 0 1px"| Pressure/Temperature sensor | ||
+ | |} | ||
Revision as of 22:48, 28 June 2011
The third version of the Freerunner Navigation Board was necessary because the compass chip used on the Freerunner Navigation Board and the Freerunner Navigation Board v2 has been discontinued.
Contents |
Features
Due to the new, smaller compass chip, the FRNBv3 offers a complete 10-DoF navigation solution. In addition to the 3D gyroscope, 3D compass and the barometer which are already known from the FRNBv2, the v3 adds a high resolution accelerometer. It should be more accurate for navigation purposes than the integrated LIS302 accelerometers.
Top Side
- 3D Gyroscope ITG-3200
- 3D Magnetometer HMC5883L
- Air pressure/temperature sensor BMP085
- Accelerometer BMA180
Bottom side
The Bottom side of the PCB contains optional chips which might be used for different purposes. The FRNBv3 includes:
- TCA6705 7 channel LED controller
- MPR121 touch sensor controller
- M26LR64 I²C EEPROM accessible through RFID (antenna still needed)
- TXS0102 I²C level shifter (to connect additional sensors
- MIC1557 based 38KHz oscillator (for IR-remote control applications)
Additional features
The board operates with 3V or 3.3V which is needed for the sensors to work correctly. To be able to connect the board to other devices (for example GTA04, OpenPandora, Always Innovating devices), the I/O voltage can be anything between 1.8V and VCC. To use the board with the Freerunner, just short the VCC and VCCIO solder points.
All sensors feature a "conversion complete" output which can trigger an interrupt. These signals are now available at small solder points.
Documentation
Schematic and board layout files are available from gitorious (CadSoft EAGLE 5.x format) or here
I2C Addresss Map
Used I2C addresses
Address | Chip | Description |
---|---|---|
0x1e | HMC5883l | Compass |
0x41 | BMA180 | Accelerometer |
0x45 | TCA6507 | LED Controller |
0x50 | MPR121 | Touch Controller |
0x54 | M24LR64 | I²C/RFID EEPROM |
0x69 | ITG3200 | Gyroscope |
0x77 | BMP085 | Pressure/Temperature sensor |
Pinout
Standard features
Pin | Description | Voltage range |
---|---|---|
GND | Ground | 0 |
VCC | Supply voltage for sensors. | 3 - 3.6 |
VCC I/O | Interface voltage of the I2C bus. | 1.8 - VCC |
SCL | I2C clock line | VCC I/O |
SDA | I2C data line | VCC I/O |
Level shifter
Pin | Description | Voltage range |
---|---|---|
VCC/E | Target (external) VCC | VCC - 5.5 |
SCL/E | level translated I2C clock line | VCC/E |
SDA/E | level translated I2C data line | VCC/E |
OE | Output enable: connect to VCC I/O to enable the level shifter | VCC I/O |
Installation
Freerunner
To connect the FRNBv3 to your Freerunner, follow the instructions for the Freerunner Navigation Board v2 and then short the VCC and VCC I/O pads with a solder blob.
Other devices
with I2C voltage levels below 3.6V
If you want to connect the FRNBv3 to other devices such as the Open Pandora, you need 3V-3.6V as supply voltage for the sensors. The I2C interface can work with a different, lower voltage level. Lots of devices use 1.8V here. Connect an additional wire to VCC I/O to specify the voltage level of the I2C interface.
with I2C voltage levels up to 5.5V
To connect the board to USB<->I2C converters or to your VGA or DVI connector (which uses I2C for DDC) you can use the integrated level shifter on complete assembled boards. Connect the target voltage to VCC/E and the I2C bus lines to SDA/E and SCL/E. Then wire OE to VCC I/O to enable the levle translator. Remember that the board still needs a supply voltage between 3V and 3.6V to power the sensors. Connect the 3V power supply to VCC and short this pad to VCC I/O.
Power consumption
All sensors on the FRNBv3 support powermanagement. The current consumption of each sensor is listed in the table below. These values are taken from the datasheets, the real current consumption could be different. It often increases with higher sample rates.
Sensor | standby | active | remarks |
---|---|---|---|
ITG3200 | 5µA | 6500µA | |
HMC5883L | 2µA | 100µA | 7.5 Hz |
BMP085 | 0.1µA | 12µA | average current in high resolution mode (default), 1 Hz |
BMA180 | 0.5µA | 975µA | "low noise" mode |
The power state of each sensor can be controlled through the I2C bus. Most kernel drivers expose a sysfs file to change it. Integration with the generic linux powermanagement code is planned.
Issues
Known HW or SW Issues Nothing known yet.
Software
Barom
This program provides altitude or weather information on Neo Freerunners with bmp085 pressure sensors installed. The bmp085 is available as part of the Freerunner Navigation Board. Source code and binaries can be found here.
Availability
The handheld-linux.com team already takes preorders. You can find it here.
Two assembly options are available:
- Complete: Contains all chips as described above.
- Standard: Top-Side only, contains all sensors relevant for navigation purposes. The compass chip should be a little bit more accurate since a few capacitors on the bottom side are missing. They could distord the magnetic field.