Rockbox runs on the Clip v1, Clip v2, Clip+ and ClipZip? models, and is generally stable enough to use.
Installation is safe and reliable on all of these except the Clip v2; for a minority of Clip v2 players, attempting to install Rockbox will brick the player, and recovery involves delicate hardware modifications. If you are not willing to disassemble your player, consider using a model other than the Clip v2 with Rockbox.
For details see SansaAMS.
The original Clip has a round scroll-wheel control, a 128x64 yellow/cyan monochrome OLED display, a mini USB connector, and no microSDHC slot. A v1 Clip has a firmware revision starting with 01, while a v2 Clip will have a firmware revision starting with 02.
The Clip+ has a square directional-pad control and a microSDHC slot, but retains the monochrome OLED display and mini USB connector of the original Clip.
The Clip Zip has a rectangular directional-pad control, a 96x96 full-colour OLED display and a micro USB connector, but retains the microSDHC slot of the Clip+.
The SansaAMSFirmware page explains the firmware file details needed for porting of Rockbox to Sansa v2 models.
A growing collection of extracted firmware files can be found at Daniel's Sansa Series v2 Firmwares
Relevant forum threads:
Stuff that still needs work (as of 2011-12-31):
Plugins that need work:
Pictures of the insides of the Sansa Clip Zip:
According to the diagnostic mode of the original firmware, the display can apparently be one of two types: Visionox or WiseChip. The Visionox display could be a Visionox M00230/M00231 OLED module, the display controller is unknown. The WiseChip display appears to be controlled by a SEPS114A OLED controller. The tuner chip is the SiLabs Si4703, which is the RDS capable brother of the SiLabs Si4702 (used in several other Sansa players).
For a disassembly of the Sansa Clip hardware, see http://www.anythingbutipod.com/archives/2007/11/sandisk-sansa-clip-disassembled.php
Sansa Clip v2 components (8GB), see also this this forum post:
Sansa Clip+ components (2GB):
Photographs of Clip+ board:
Device-dependent hardware mappings (buttons and stuff): SansaAMSHardwareMappings
The Clip+ comes is a couple of variants:
On Sansa E200v2's there is an 8-pin JTAG port (see http://forums.rockbox.org/index.php?topic=14064.msg121222#msg121222) with probably the following pin layout:
1: VDD + 2: TCK JTAG Clock 3: TDI JTAG data in 4: TMS JTAG test mode select 5: nTRST JTAG test reset, active low 6: TDO JTAG test data out 7: nSRST System reset, active low 8: GND -
The Clip also has 8 pins below the USB connector (on the other side of the PCB), probably this is JTAG too but has not been verified.
The Clip+ uses the following JTAG layout:
ClipPlus JTAG pinout DISPLAY CONNECTOR 8 GND 7 nSRST 6 TDO (high impedance) 5 TCK (pulldown) 4 TMS (pullup) 3 TDI (pullup) 2 nTRST (pulldown) 1 VCC BUTTONS
Clip battery discharge curve made with the battery bench plugin, using SVN r19262. Done with processor idling at 240 MHz, display off, shutdown voltage at 3.3V. After the Clip had shut down in rockbox, it would still boot up in the OF, showing 0% battery left. The voltage vs. time curve is fairly linear down to about 3.65V, at which point the voltage starts dropping very quickly.
Bus 001 Device 118: ID 0781:7432 SanDisk Corp. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0781 SanDisk Corp. idProduct 0x7432 bcdDevice d3.38 iManufacturer 1 SanDisk iProduct 2 SanDisk Sansa Clip iSerial 3 5011F4065888B49F0000000000000000 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 39 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 4 config1: Mass Storage only bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 0 (Defined at Interface level) bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 5 sic ifac 1 (Capture::PIMA) 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 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 4 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: 0x0000 (Bus Powered)
In Auto and MTP mode, idProduct is 0x7434. In MSC mode, idProduct is 0x7435.
Auto mode looks like v1 dump above. MSC mode defines a standard Mass Storage interface with two bulk endpoints, and MTP defines a vendor-specific protocol.
|jpg||clipv2-back.jpg||manage||287.1 K||14 Jul 2010 - 20:05||RafaelCarre||Backside of Clipv2 PCB|
|jpg||clipv2-front.jpg||manage||226.5 K||14 Jul 2010 - 20:06||RafaelCarre||Frontside of Clipv2 PCB|
|jpg||sansa_clipplus_3.jpg||manage||510.0 K||26 Apr 2010 - 15:15||TobiasDiedrich||Backside of Clip+ PCB|
|jpg||sansa_clipplus_4.jpg||manage||916.3 K||26 Apr 2010 - 15:15||TobiasDiedrich||Frontside of Clip+ PCB|