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
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
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
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