TrekStor eBook Reader 3.0 EBR30-a (Weltbild + Hugendubel Edition)

From Random Projects
Jump to: navigation, search
TrekStor eBook Reader 3.0

This page contains some information about the TrekStor eBook Reader 3.0 (Weltbild + Hugendubel Edition), model number EBR30-a.

This is probably one of the cheapest e-book reader devices available in Germany at the moment (59.- Euros).

There seems to be also a Fitzek Edition, and a TrekStor Edition.

Possibly rebranded and/or very similar devices: Prestigio PER3172B [1], ODYS Boox [2].

Downloads: Manuals and firmware updates.

I added some device info to Wikipedia: Comparison of e-book readers for reference.

See also: my blog post and the mikrocontroller.net post.

Contents

Hardware

The CPU/SoC (F1 E200) is based on an ARM9 (ARM926EJ-S) core and the firmware running on it seems to be some uCos-based RTOS (not Linux, unfortunately).

Photos

See also my flickr photoset.

System info

Software info

The device says RMSDK version:9.1.28890 in its "About" screen, which is probably the "Adobe Reader Mobile SDK".

lsusb

The device enumerates as a standard USB mass storage device (FAT filesystem), loading (non-DRM) e-books/EPUB/PDFs, photos, and MP3 files is done by simply copying them onto the device.

$ lsusb -vvv
Bus 001 Device 013: ID 1e68:0052 TrekStor GmbH & Co. KG
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x1e68 TrekStor GmbH & Co. KG
  idProduct          0x0052
  bcdDevice            0.02
  iManufacturer           1 TrekStor
  iProduct                2 eBook-Reader 3.0
  iSerial                 3 20080411xxxxxxxxx
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 Self-powered
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              5 Mass Storage
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x5870
  (Bus Powered)
  Debug Mode

Pinout

Work in progress.

The main CPU chip has 128 pins (32 per side). This is the pinout I was able to figure out so far:

Pin Name/Type Comment
1 I2C SDA Goes to RTC/accelerometer/AXP199.
2  ? ...
3  ? ...
4  ? ...
5  ? Connected to pin 6 of the micro-SD connector.
6 NAND ...
7 NAND ...
8 NAND ...
9 NAND ...
10 NAND IO0-IO7 ...
11 NAND IO0-IO7 ...
12 NAND IO0-IO7 ...
13 NAND IO0-IO7 ...
14 NAND IO0-IO7 ...
15 NAND IO0-IO7 ...
16 NAND IO0-IO7 ...
17 NAND IO0-IO7 ...
18 LCD ...
19 LCD ...
20 LCD ...
21 LCD ...
22 LCD ...
23 LCD (?) ...
24 LCD (?) ...
25 LCD ...
26 LCD ...
27 LCD ...
28 LCD ...
29 LCD ...
30 LCD ...
31 LCD (?) ...
32 LCD (?) ...
Pin Name/Type Comment
33  ? ...
34  ? ...
35  ? ...
36  ? ...
37  ? ...
38  ? ...
39  ? ...
40 LCDCLK1 (according to silkscreen; verified using scope)
41  ? Connected to pin 1 of the micro-SD connector.
42  ? ...
43  ? ...
44  ? ...
45  ? ...
46  ? ...
47  ? ...
48  ? ...
49  ? ...
50  ? ...
51  ? ...
52  ? ...
53  ? ...
54  ? ...
55  ? ...
56  ? ...
57  ? ...
58  ? ...
59  ? ...
60  ? ...
61  ? ...
62  ? ...
63  ? ...
64  ? ...
Pin Name/Type Comment
65 XTAL In/Out ...
66 XTAL In/Out ...
67 GND(?) ...
68 GND(?) ...
69  ? ...
70 USB D- ...
71 USB D+ ...
72 SDRAM ...
73 SDRAM ...
74 SDRAM ...
75 SDRAM ...
76 SDRAM ...
77 SDRAM ...
78 SDRAM ...
79 SDRAM ...
80 SDRAM ...
81 SDRAM ...
82 SDRAM ...
83 SDRAM ...
84 SDRAM ...
85 SDRAM ...
86 DRAM-VCC1 (silkscreen)
87 SDRAM ...
88 SDRAM ...
89 SDRAM ...
90 SDRAM ...
91 SDRAM ...
92 SDRAM ...
93 SDRAM ...
94 SDRAM ...
95 DRAM-VCC1 (silkscreen)
96  ? ...
Pin Name/Type Comment
97 SDRAM ...
98 SDRAM ...
99 SDRAM ...
100 SDRAM ...
101 SDRAM ...
102 SDRAM ...
103 SDRAM ...
104 SDRAM ...
105 SDRAM ...
106 SDRAM ...
107 SDRAM ...
108 SDRAM ...
109 SDRAM ...
110 SDRAM ...
111 SDRAM ...
112 SDRAM ...
113 SDRAM ...
114 SDRAM ...
115 SDRAM ...
116 SDRAM ...
117 SDRAM ...
118 SDRAM ...
119 VDD1 (silkscreen)
120  ? Output; 92.6kHz clock (?), amplitude 5V
121  ? Seems to go to INT# on the RTC (?); high
122  ? Low; Connected to pin 7 of the micro-SD connector.
123 UART TX Also available at an unpopulated pad near the CPU, see photo below. Also connected to pin 5 of the micro-SD connector.
124  ? Low. Output or input with Pull-down?
125  ? High; Connected to pin 3 of the micro-SD connector.
126 PIOA5 (silkscreen); High. Input with pull-up?
127  ? Low. Input with pull-down?
128 I2C SCL Goes to RTC/DTOS/AXP199.

UART

UART pins of the CPU
UART probed
UART probed, close-up

I found the UART TX pin (CPU pin 123, also available at an unpopulated pad near the CPU, see photo). I have not yet found the RX pin, work in progress.

As always, make sure you use some serial/UART TTL cable which has 3.3V levels. Do not connect the TX pin of the CPU directly to a PC serial/nullmodem cable as that has a voltage level of 12V (usually) and can thus fry the CPU! I'm personally using the FTDI TTL-232R-3V3 cable (datasheet). Connect GND of the cable to GND somewhere on the PCB, and RX of the cable to the TX pin on the PCB. Then, start your serial monitor program (e.g. minicom) with 115200 8n1 settings to receive the serial output.

These are the boot messages on the UART when the device is turned on:

HELLO! BOOT0 is starting!
initializing SDRAM OK.
Succeed in opening nand flash.
Succeed in reading Boot1 file head.
The size of Boot1 is 0x00030000.
The file stored in 0X00000000 of block 2 is perfect.
Check is correct.
Ready to disable icache.
Succeed in loading Boot1.
Jump to Boot1.
begin to init file system
bat vol = 3648
1
mount successfully.
0
Source clock is HOSC, preScale=64, interval=375

Mount Parts Thread running.....


Mount Parts Thread work now.....

Mount Parts Thread work end....
.....................................................................................................................
.Please press enter key(keypad or irkey) to continue!
..............................................................
.....................................................................................................................
Execute startup script begin..............
Esh Error: OpenConfigFile y:\config\config.bin failed.
...............Execute startup script end
Esh msg: shell main thread: Bye Bye!
INPUT_SET_REP_PERIOD failed

JTAG

TODO

Digital Thermal Orientation Sensor

Sample data

The Digital Thermal Orientation Sensor (DTOS), the MEMSIC MXC6225XU, is a 6-pin device using I2C. It's connected to the SDA/SCL pins on the CPU, together with the RTC and AXP199 chip (see below).

Pinout:

Pin Name/Type Comment
1 INT Interrupt pin
2 NC Not connected
3 VCC (3.3V)
4 SCL I2C clock line
5 SDA I2C data line
6 GND

RTC

The RTC/clock/calender chip (Hec Semiconductor H8563S) is an I2C device, connected to SDA/SCL on the CPU together with the MXC6225XU and AXP199. See the photo for the pinout.

Battery management

The X-Powers AXP199 chip has an I2C interface which is connected to the CPU, together with the RTC and accelerometer.

Micro-SD card connector

Counting from top to bottom, this seems to be the pinout:

Pin Name/Type Comment
1  ? High (3.3V)
2  ? Low. Reserved?
3  ? High (3.3V)- MISO?
4 GND ...
5  ? High (3.3V). CLK?
6 VCC 3.3V
7  ? Low. MOSI?
8  ? Low. CS#?
9  ? Low. NC?
Personal tools