- 1 The Device
- 1.1 In The News
- 1.2 Basic Specifications
- 1.3 Discussions about the Current OS
- 1.4 Wireless Network and FCC stuff
- 1.5 Mail Handling
- 1.6 Chip List
- 1.7 Battery
- 1.8 Peek Accessories
- 1.9 Opening the Case
- 1.10 Debugging/Programming Tools
- 1.11 External MicroUSB Charge/Upgrade port
- 1.12 Internal UART Header
- 1.13 JTAG Pads (vias)
- 2 uClinux
- 3 References
In The News
- Company Website
- Linux Devices
- Geeky Peek Linux Challenge
- Peek teardown photos Maushammer on Flickr
- Discussion on irc.freenode.net channel #edev
- 320x240 TFT LCD with backlight
- 47 Key QWERTY keyboard
- 360 degree jogwheel with button
- Vibrator Motor
- Small Speaker
- Side Push Button
- Top Power Button
- Standard SIM Socket
- Micro-B USB Charging Socket ( USB connectivity is not supported, this is really just a TTL Serial port and a charging socket.)
- Internal Coin Backup Battery
- E-Mail Notification LED
- Battery Door Contacts Switch
Discussions about the Current OS
- It's a lightweight, purpose-built OS called PeekUX. 
- Starts with TI's very own version of the real-time OS called Nucleus ( by Mentor )
- TI has compiled in device drivers, and other stacks and turned it into their own platform.
- Peek SW developers then took what TI gave them and wrap it with their own proprietary GUI and network libraries to create Peekux.
- The email application then runs on top of that.
- The whole thing is built as a single image. Thus the distinction between OS and App is blurred.
- "Hacking maybe difficult" article at Peek Forums. 
Wireless Network and FCC stuff
- Uses T-Mobile's nationwide GSM network.
- Also can use AT&T's GSM network as a secondary network.
- FCC ID is listed as: V6LPEEK0001
- Uses the GSM850 band. TX: 824-848MHz RX: 869-893MHz
- Maximum RF Radiated Power (GPRS850): 26dBm EIRP
- RX Sensitivity: -109dBm ?
- Antenna: PIFA type
- Currently, the very large computing resources at Amazon AWS (Seattle, WA) is being used to handle the mail polling and forwarding for the Peek users. The mail handler was worked out at Peek HQ and then unleashed at AWS. AWS's "EC2 Service" is immensely flexible and allows Peek to keep up with the growing user base.
- Spansion 71NS128NB0BJWRN 32Mb Psram + 128Mb NOR Flash datasheet Additional flash info
- TI D6591BQA - TCS2310
- TI T3031FZH - TWL3031 power management and IO control
- RFMD RF7115 Quad Band GSM850/GSM900/DCS/PCS TRANSMIT MODULE datasheet
- ST STMPE2401 - Port expander with Keypad and PWM controller Datasheet
- 26.00 MHz XTAL for the TCS2310
- 32.768 kHz XTAL for the TWL3031
- Model: PK-BAT-001
- Voltage: 3.7V
- Capacity: 700mAh
- Maximum Charge Voltage:4.2V
- Standard: GB/T18287-2000
Opening the Case
- The case has 4 tiny "torx" style screws. The size is T6. You will need a Precision Torx Screwdriver set.
- Obviously, opening your Peek voids the warranty.
- There are 3 tiny screws immediately visible when you take off battery cover. And the fourth screw is hidden under the red "Do not remove" sticker.
- After the screws are removed, start from bottom of unit and carefully pry the top and bottom housings apart.
- To understand what I mean, see this picture from Maushammer on Flickr. On the left side of image is the bottom housing. Notice the four screw holes. The rest of the housing attaches with tabs that easily pry apart.
- Micro to Mini USB Adapter (does not convert the UART to USB)
- Flyswatter USB JTAG Debugger for upgrade/hacking
- OpenOCD JTAG Debugger Software -- currently doenst know anything about the LoCosto chips.
- UART TTL to USB Adapter for upgrade/hacking
- J-Link USB JTAG/SWD debugger from IAR Systems. User's Guide
- Same J-Link product from Segger USA
- Cheap but decent Benchtop DC Power Supply from Extech Instruments. This will save you from needing to keep charged batteries around.
External MicroUSB Charge/Upgrade port
This is the MicroUSB port that is exposed on the left side of the peek.
It's used for both charging and upgrading the Peek. The upgrade cable uses
a serial TTL to USB level shifter to convert the serial TTL into a USB com port.
a bootlog can be viewed using serial settings 115200,n,8,1
|2||TXD +1.8V TTL|
|3||RXD +1.8V TTL|
Internal UART Header
This is on the inside of the Peek under the SIM (this is also covered by the warranty sticker).
a bootlog can be viewed using serial settings 115200,n,8,1
Note: This is not a new, hidden serial port. This port is electrically the same as the External Charger/Upgrade port shown above.
|2||nPowerButton (active low)|
|3||UART_RX +1.8V TTL (input to Peek)|
|5||UART_TX +1.8V TTL (output from Peek)|
Picture from Maushammer on Flickr
JTAG Pads (vias)
These vias are found on the bottom side of printed circuit board just below the white antenna strip.
*Note: You will need to remove the solder mask and solder small wire to the vias. 26AWG or 30AWG is best.
Obviously, the four signals TDO, TMS, TCK, and TDI are the most important ones. Connect these signals straight to your JTAG dongle.
You should also pick up a Ground signal somewhere near the DC Power circuity on the lower left section of PCB.
Perhaps, depending on your JTAG dongle, you could also power the Peek from the dongle itself. ;-)
Thanks to "codeman" and "prpplague" for this (these pinouts may be wrong!).
- a bootloader, such as U-Boot or APEX, will be needed to facilitate booting uClinux
- low level access to Flash memory via JTAG is now doable. ( see above )
- U-Boot could be used, but is pretty large
- APEX is small, configurable, and easily adapted for ARM7TDMI
- mainline kernel has the basic support for ARM7TDMI core
- need basic support for the TCS2310
- STMPE2401 keypad driver for linux-2.6 git (20090923) posted by Cfriedt
- stmpe24xx project page on SourceForge.net
- use Buildroot for initial testing
- use uClibc as core C library
- use BusyBox as basic utilities for testing
- use CSST ( Cellular Systems Software Tools ) from TI for loading Flash with bootloader etc. This is the Release Notes for the CSST included in SDP2430 (OMAP2430). There is a CSST for the TI LoCosto chips included with the Peek Upgrader software from Peek. More detailed info on CSST can be found here.
The Peek update program calls a command line CSST app to actually load the new firmware to flash. In my case, the command line was:
D:\apps\Peek\CSST\csstcli.exe -t 1 -op download -i D:\apps\Peek\software\Rel_01_09_10.m0 -dt NOR -p COM5This command can be executed from a command prompt. You will be prompted to reset the Peek (remove and replace the battery, then hit the power button) and the download will begin!
- use TMSH to execute commands on the Peek itself (source):
Your Peek must remain active during the processing of each command so you may need to move the scroll wheel or press a button intermittently during the process to keep it on. You must also have the Peek cable and Peek upgrade software installed on your computer before you start.
Power on Peek and connect Peek to PC using the Peek Upgrade cable. Determine wich port the Peek is connected to. Either Check Device Manager - Start > Run > devmgmt.msc OR right click My Computer > Properties > Hardware Tab and Look at LPT&COMM, expand + sign and you should see what COMM port your cable is on
Open a command prompt. If you plan on copying files to the computer you must right click "Command prompt" and run it as an administrator even if you are already logged on as an administrator. It should be located under "Accessories" in the start menu.
cd "C:\Program Files (x86)\Peek.1.10.00\tmsh" (or whatever your Peek directory is called)
tmsh -psX -ttlocosto
Where X = your COMM port # from earlier.
Here's a list of TMSH commands:
|help||Print help for the command name on stdout Arguments|
|run||Run the script file named filename. Arguments|
|use||Load the ETM module represented by the DLL “name.dll” Arguments|
|ping||ping target Arguments [options]|
|quit||Quit the shell|
|auw||Write audio parameters|
|aur||Read audio parameters|
|aul||Load audio parameters from FFS file|
|aul||Save audio parameters to FFS file|
|fwr||File write from PC to target|
|frd||File read from target to PC|
|cd||Change current working directory|
|mkdir||Make a new directory|
|rm||Delete a file or directory|
|mv||Move or rename a file|
|pwd||Print working directory|
|ls||List files in directory|
|cat||View of text files|
|ln||Make a link between files|
|chmod||Change files/directories permissions|
|touch||Create an empty file|
|df||Show the amount of free space|
|fsq||Query ffs parameters and values|
|rfe||Enable RF – transmit and receive|
|se||Enable special customer task|
|scw||Setup the statistics configuration|
|scr||Read the statistics configuration|
|sr||Get statistics results|
|rfpw||Write RF parameters for receive mode|
|rfpr||Read RF parameters for receive mode|
|rxpw||Write RX parameter for receive mode|
|rxpr||Read RX parameters for receive mode|
|txpw||Set parameters for transmit mode|
|txpr||Read parameters for transmit mode|
|spw||Write customer special parameter|
|spr||Read customer special parameter|
|rftw||Write a RF table|
|rftr||Read a RF table|
|ttw||Write a ramp template to transmitter|
|ttr||Read a ramp template from transmitter|
|stw||Write a customer special table|
|str||Read a customer special table|
|mr||Read value from memory address|
|mw||Write value to memory address|
|cr||Read value from codec register|
|cw||Write value to codec register|
|me||Enable miscellaneous parameter|
|mpr||Read miscellaneous parameter|
|mpw||Write miscellaneous parameter|
|vg||Get hardware or software version|
Email is kept in a database. Location Peek/peek.db Attachments are kept in location Peek/Attach The attachment will be named with a string of numbers_filename.extension_more numbers example 9585785_yourpic.jpg_552694 Pictures will be re-sized by Peek servers before they are delivered to your Peek. As an example a picture I sent to my Peek started at 998x1274 the picture downloaded from my Peek was only 152x195.
Other Peek Hacking Sites
Similar board bringups
- TI Wireless Solutions Guide. the TCS2310 appears on Page 17.
Watch a Peek being assembled
- Watch Gabe Fabius and Dan Morel of PEEK, Inc. discuss the inner guts of the Peek device.