+ All Categories
Home > Documents > The Neo900 Open Smartphoneneo900.org/stuff/cccamp15/ccc2015talk/talk.pdf · The Neo900 Open...

The Neo900 Open Smartphoneneo900.org/stuff/cccamp15/ccc2015talk/talk.pdf · The Neo900 Open...

Date post: 20-Mar-2018
Category:
Upload: duongkiet
View: 215 times
Download: 2 times
Share this document with a friend
31
The Neo900 Open Smartphone A platform with new security features neo900.org Werner Almesberger [email protected], org Reisenweber [email protected]
Transcript

The Neo900 Open SmartphoneA platform with new security features

neo900.org

Werner [email protected],

Jorg [email protected]

The Neo900 project

Tired of closed mobile platforms ?

Openmoko veterans, still hungry

Open hardware

Designed for Free Software

New security features

Inspired by Nokia N900

Linux-friendly platform

Active community

Has a real keyboard

Making a smartphone in three easy steps

Electronics(lots of them)

Mechanical design (case)

User-visible software

Smartphone user interface

The Openmoko experience:

2007.1: Gaudy, obese, unmaintainable, confusing

2007.2: Lighter, cryptic

Let’s try something new: QtopiaLet’s try something else, too: Android

2008: Enlightenment

Post-Openmoko: QtMoko, SHR

Lession learned. Let’s not do this again.

Software evolution (simplified)

Nokia Intel Linux Foundation Samsung

Maemo Moblin LiMo Bada

Tizen

Intel+Samsung+LF

MeeGo

Nokia+Intel

Community

Mer

Community

Nemo Mobile

Jolla

Sailfish OS

Hildon

Maemo 5(Fremantle)

Software choices

Neo900 is a Linux platform.

Maemo (Fremantle)Hardware compatibility goal

Debian / DevuanBoard Support Package

Replicant (Android)

MeeGo

. . . whatever you choose to install or port

Hardware evolution

N800−810 (Tablet) N95

N96

N97 (Keyboard)N900 (Phone)

N9 (no keyboard)GTA04A3

GTA01 (Neo1973)

GTA02 (Freerunner)

GTA04A5

GTA04A4

Neo900v0

Neo900v1

Neo900v2

Case, Maemo

Know−how

GTA03

Prototype design

Product

Influence

R&D

2006

2007

2008

2009

2010

2011

2012

2013

2014

2015

Linux Symbian

NokiaOpenmoko Golden Delicious Neo900

Case, LCD

Reusing the case

N900 case is nice

Making own would be too expensive

N900 case is still available

Problem: We need more space

max. 1.5−2.0 mm

0.8 mm

max. 2.0 mm2.3 mm

PCB

Bottom

Top

(PLS8)

ModemOriginal component heights

Solution: Add another board

0.8 mm

max. 2.0 mm

0.8 mm

2.5 mm

max. 1.5−2.0 mm

+3.3 mm

UPPER

Top

LOWER

Bottom

Modem

(PLS8) connectorBoard−to−board

Original mechanical stacking

Keyboard

Display opening

Keyboard frame

Case bottom Display PCB

Keyboard frameKey mat

Case bottom

Dome sheet

The Spacer Frame

Keyboard

Display opening

Display

Spacer frame

Spacer frame

Case bottom

PCBs

Key matDrawing not to scale

Your smartphone, in theory

ApplicationEnvironment

(Linux)

Open

(GSM, ...)

Modem

Closed

In practice

ApplicationEnvironment

(Linux)

Open

(GSM, ...)

Modem

Closed

Keep them separated

Power

Data

Modem

(GSM, ...)

Closed Open

(Linux)

ApplicationEnvironment

However, . . .

Radio

Audio

Power

Data

Modem

(GSM, ...)

Closed Open

(Linux)

ApplicationEnvironment

Oops !

Radio

Audio

Power

Data

Modem(GSM, ...)

Closed Open

?

(Linux)

ApplicationEnvironment

Oops !

Radio

Audio

Power

Data

Modem(GSM, ...)

Closed Open

?

(Linux)

ApplicationEnvironmentNOT DETECTED

ROGUE MODEM

Sensory deprivation

Radio

Audio

Power

Data

Modem

(GSM, ...)

Closed Open

(Linux)

ApplicationEnvironment

STOP

. . . and monitor

Radio

Audio

Power

Data

Modem

(GSM, ...)

Closed Open

(Linux)

ApplicationEnvironment

Just in case . . .

Radio

Audio

Power

Data

Modem

(GSM, ...)

Closed Open

(Linux)

ApplicationEnvironment

Prototype V0/V1

Modem, some switches

No CPU

Goal: Test mechanical compatibility and modem

Produced early in the project

Prototype V2

Most components present

External CPU (BeagleBoard)

Refined mechanical design

Goal: Test subsystems

Working on this now

Prototype V3

Complete system, with CPU

Goal: Certification

Goal: Finalize design before production

Expected around end of 2015

(pre−reorg)

Neo900 Block Diagram (Work in progress)

UART#3

MMC#3

UART#2

BSP#3

BSP#4

UART#1

I2C#4 I2C#1USB#0

SPI#3

USB#1

(a) = EMERG_OFF, RING,PWR_IND, LC_IND,STATUS, 3G_WOE,MODEM_IGT

From GTA04A4

Other origin

Being discussed

Future development

Add / change

Keep/same

From GTA04b7v2

1

CPU

Stylus

TMD26713

stylus

2.4 GHz

9−A

xis

BM

X05

5

ROW[8], COL[10] 18

18

3

Kbd scanI2C#2CPU

2

CPU2

Modem monitorCPU

I2C#2 pcm[4]

uart[4]

power (3x)

GPS/GLONASS

Modem+Navigation

(a) 5

2

44

Headphone amplifer

CPU

CPU

TPA6130

mic

2

1 HEADPH_EN

I2C#2

2

TS3A225

Ring switch

1

HEADPH_INDCPU

CPUI2C#2

2

2

KEYIRQ, RESET

presentCPU

1

TCA8418

4

4

VBUS, D+, D−, ID VBUS, D+, D−

USB ABU

LP

I

12

ULPI[12], RESETB

47590−0001

NRST[2], RGB_INT, RGB_CTRL_EN

Codec UART[4]

4TBD

1

RXIR

NCX2200,

IR Logic

1

RX

control(s)

UART[4]

4

?

Digital microphones2 x SPK0415HM4H

3

3

BSI_HDQ

Fancy RGBLED driver

LP55231

Basic RGBLED drivers

2 x LP55281

1

3

1

3

3 x INA231, TPS22963

AL

ER

T, E

N 2

IRGPO

1

1Fuel

IR LED

3 D+, D−, VBUS

USB PHY

USB3322

1

Kbd LEDs18

Privacy

Mod LEDs

3

3

LTST−C190TBKT,LTST−C190KRKT,

LTST−C190KFKT

Aux LEDs2 x MSL0201RGB

6

3

1 IR senseVEMD10940F

5

RGB.R

cellmonitor

BAT_LID

CMD,DAT[4]}, CD

7

3

Modem TX

13int, en, strobe

Flash LED driverADP1653

SIM #1SF7W006S4E

SIM #2101−00271−82

6

SIM switch

(b) = rst, clk, io, cd, power,swp

(b)

(b)3

NFC

8

I2C#2swp,control

Codec

EA

R

Privacy.B

1

1 INT2

INT1

eMMC (64 GB)PHS8/PLS8−E,US/PXS8

Audio, BTFM

LNAVGNSS

CPU

I2C#2 I2C#3

22

PE4259GPS kill BGM 1034N7gps

2I2C#2

VSMB2948SL ?

17

TBD

6 x MSL0201RGB

SMLP36RGB2W3

(c) INT2/4/5

(c) INT1/3, DRDY

Hac

kerb

us

NX3V1G66

TRF7970A, KL16

4

FM_AUDIO[4]FM_ANT

1

B2B UPPER−LOWER2 x DF40HC(2.5)−60DS−0.4V, 2 x DF40C−60DP−0.4V

BM

E28

0

Bar

o,

hu

mid

ity

WLAN_{EN,IRQ}

WL1837MODGI

Si4721

FM TX/RX

BT_EN

pcm[4]

uart[4]

sdio[6]

WLAN/BT

B2B LOWER−BOBDF9−21P−1V, DF9−21S−1V

Tap

???

???

5 GHz

0R

DPX2012LL85R2455A

Diplexer

RF

FM_nINT

I2C#2

2CPU

FM TX

antennaCPU

data,ctrl

rst, io, clk, cd, power

CPU6cd

12 x L130−5780002011001Flash LEDs

2CPU

rst,int

CPU,Comp.

M50

−315

1042

Connection through PCB contact(s)

Junction with branch

Crossing of separate connections

N signals on connection/branch

blue: I2C bus

MMC#2

MMC#1 I2C#3

I2C#2

BSP#2

N???

RAM (1 GB),NAND (512 MB)

KCE00E00CA

RAM_{CTRL[17],DA[32],AD[19]}

NAND_{CTRL[9],ADDA[16]}

MMC2_{CLK,CMD,DAT[8]}

68

25

Speakers

Speakeramplifier

Flex

4

3

2EAR

audio codecStereo I2S

CODEC_RST 1

4

10

cam_d3, CAM_XCLKA

I2C#3

CAM_B_EN

Cam switch

2 x TS3DS26227

2

Mai

n c

am c

on

n

CMOS camera (rear)

N97 cam, DF37NB−20DS−0.4V conn.

CAM_CLKB1

4

Mai

n f

lex

con

nec

tor

Reflective switch (proximity)

(to cam, proxy, ambient)

VS6555ACCMOS camera (front)

Ambient light sensor

B2B ACX565AKM−7LCD

RGB

Earpiece

LCD_{RST,CDP[8],SPI[4]}

SETCURR1, LCDLEDS_{1,2}, CABC

ALS_INT

I2C#3

Backlight LED driver

TPS61041

LCD_LEDS

1

3

TPS65950 BQ27200

1 POWERON

2

1 BTEMP

temp.Batt.

4

17

I2C

#3

4X/Y2 TSC_RST, PEN_INT

2

5

1

TLV320AIC34

I2C#2

2

3.5 mm

4

EMIF02−MIC07F3

Mic Itf. 3 line[2], bias

EVQ−P42B3M

Power

Companion

2VIBRA_{P,M}

BKBAT

2

I2C_SR[2]

"TWL4030"

5000246471

???5469246 304−106

CPU

batteryBackup

audio

audio

bias, clk, data

CRTOUCHB10

I2C_CNTL[2]

LCD_LEDS

1BL

1

2

4

Acc

el

LIS

302D

L

Batt. lid mag.

MLX90248ESE

1

2 x EVQ−P42B3M

Vol +/−

TLV1702 TS5A22366 ?

ECI[3]

3

ECI

2

EC

I_A

D

Compan

1

CPU

Mic/TV

uSD card MMC1_{CLK,

Vibra motor

2TVOUT,TVOUT_EN

CPU

PAS3225P 3R3113

Compan

Touch scrn ctrl

TSL2563

ESE16

Lock

1 SCREEN_LCK

CPU

MLX90248ESEsensor

1 SLIDE_SW

CPU

Slide mag. Capture

2 CAM_CAP[2]

CPU

Cam cover

TMD26713

1

CPU

cam_d11

DM3730CBP

Fuel gauge

BQ24297CPU, Compan

Batt charger 1

CHRG_IND

EVQQ0G03K

...NSLEEP1,

nRESPWRON,PMIC_INT,

TPA2012

CSI_A_B[4]

2

I2C#3

I2C#2

???

Battery (contact)

2audio

2audio

2 x TINY

1 PROXY

Resistivetouch screen

1

ST1W008S4B

CSI_B[4]

4

1

CPU

2016−04−25 20:47:19 −0300

Feature comparison (1/2)N900 → Neo900

CPU TI OMAP3xxx, 600 MHz → 1 GHzRAM 256 MB → 1 GBeMMC 32 GB → 64 GBModem GSM, UMTS → Various optionsTouch Resistive + Dual-touchSensors Accel, light + Add compass, gyro, baroInfrared Consumer IR (TX only) → CIR (TX/RX), IrDAPositioning GPS + GLONASS

Modem BandsPHS8 4×GSM, 5×UMTSPLS8-E 2×GSM, 3×UMTS, 5×LTEPLS8-US 4×GSM, 3×UMTS, 4×LTEPXS8 4×GSM, 5×UMTS, 3×CDMA2000

Feature comparison (2/2)

New features:

Neo900NFC TRF7970AExpansion Hackerbus

What we keep:

Neo900Screen 3.5”, 800 x 480, TransflectiveFront camera VGAMain camera 5.0 MP

Products

NeoN:

Upgrade kit (boards, parts)

Bring your own N900

No soldering required

Neo900:

Complete device

Built from N900 still in the market

More information

Web: neo900.org

Village: see us at the Neo village


Recommended