Medaka (Casio Pro Trek Smart WSD-F21HR) is a humongous watch with a secondary, sunlight readable display. The port is currently in progress
This is not the Casio WSD-F20. That is a different watch, see Koi/Ayu.
Medaka is the successor to the WSD-F20 which adds a heartrate sensor. Externally, medaka shares the main body and display with ayu, but has more aggressively designed panels and a more flexible strap, as well as a plastic back with a large heartrate sensor protrusion. It is possible to swap body panels and straps between ayu and medaka, but ayu straps will need to be slightly trimmed to fit with the thicker backplate of medaka. Medaka also has a redesigned second display, which now has segments for showing heartrate zone.
Medaka shares most of its internals with kingyo, and runs a modified kingyo kernel. At a low level, nearly everything is shared apart from the colour display panel (which is instead shared with koi/ayu), the secondary display and heartrate sensor (which are both unique). However, from a user's point of view, the two watches are nothing alike.
In theory, the port is quite mature. The watch boots fine and can be used daily.
The issue is that this watch needs a 64 bit kernel and a 32 bit userspace. The watch can't be run entirely in 64 bit mode because the android hardware binaries are 32 bit. This sort of multiarch system is not easily supported by openembedded/bitbake. Currently the watch has to be built as two separate machines, with the second one building only the boot image. This also requires several hacks on top of the current build system to get working, and it's not likely to be merged in this state.
The second display has 6 7-segment digits in the center, 6 7-segment digits at the bottom, a 23x5 pixel matrix at the top, two separator lines above and below the central large digits, a heartrate zone indicator curving around the left and a smattering of icons and text indicators everywhere else.
USB is not exposed on the outside of these watches. Accessing USB requires some disassembly of the watch, but does not compromise water resistance. The process is as follows:
- Optionally remove the straps. This isn't necessary, but gives you more space to work.
- To remove the straps
- Find the metal strap retention brackets at the base of the straps. Find the springbar pin which engages with the bracket.
- On one side of the bracket, use something thin to push in the springbar and pull that side of the bracket away.
- Use a pair of tweezers to remove the spring bar
- Hinge the strap outwards until you can remove it completely.
- Remove the four hex screws from the front of the watch. Be gentle, as these screws thread into plastic.
- Pop the outer bezel off. It helps to use a plastic pick wedged in the corner next to the strap.
- Beware, as the inner bezel will also release, and the charging indicator light pipe may fall out. The light pipe is tiny and transparent, don't lose it!
- It is possible to pop the bezel off only at the top, but this is more fiddly and more difficult.
- Remove the 'Casio' logo plate by just pulling it off the watch.
USB is presented as two gold-plated pads. Do not attempt to solder to these pads, you will melt the casing of your watch. You should build some sort of dock to interface with these pads. It is recommended to use pogo pins for this.
You now have three options:
- Reassemble the watch completely.
- This means USB will require disassembly to access. If not done carefully, this may wear out the holes that the front hex screws go into.
- Reassemble omitting the Casio logo plate.
- This will leave a hole in the front of your watch through which you can access the USB pads - this won't compromise water resistance, but may look ugly.
- Modify the Casio logo plate.
- This will allow you to access USB by only removing the top strap of your watch. This avoids the issue of the other two methods, but does involve some knife skills. TODO
- Add pictures
TODO: add pictures. Please bug dodoradio for pictures if you're reading this.
The watches can be easily disassembled by removing 6 phillips screws on the back. The watch is sealed with a gasket, so water resistance is not compromised by disassembly. Replacement parts are available, but expensive.
Over time, it's common for these watches to develop horizontal cracks around the heartrate sensor. While this isn't a structural issue (the back panel is a layer of plastic over a metal internal frame) it may compromise water resistance. This seems to naturally happen because of some internal stresses in the plastic.
Miscellaneous hardware docs
The central key is the power button. The top and bottom keys are volume up and down respectively.
Manually getting to fastboot
Hold the top key while powering on the watch. Navigate the menu using the top key and select using the power button.
Medaka has a blood oxygen sensor which isn't obviously labelled. This may need special effort to get working. It's likely the one labelled
Ppg, though the two hrm sensors are also suspicious.
root@medaka:/home/ceres# test_sensors Hardware module ID: sensors Hardware module Name: MultiSensor Module Hardware module Author: Casio Hardware module API version: 0x1 Hardware HAL API version: 0x3 Poll device version: 0x1030001 API VERSION 0.1 (legacy): 0x1 API VERSION 0.1: 0x65537 API VERSION 1.0: 0x16777217 API VERSION 1.1: 0x16842753 API VERSION 1.2: 0x16908289 API VERSION 1.3: 0x16973825 API VERSION 1.4: 0x17039361 Got 15 sensors === Sensor 0 == Name: Accelerometer Vendor: Casio Version: 0x1 Handle: 0x1 Type: 1 maxRange: 156.906402 resolution: 0.4788 power: 0.200000 mA minDelay: 10000 === Sensor 1 == Name: Magnetic field Vendor: Casio Version: 0x1 Handle: 0x2 Type: 2 maxRange: 4912.800292 resolution: 0.150000 power: 1.0 mA minDelay: 20000 === Sensor 2 == Name: Gyroscope Vendor: Casio Version: 0x1 Handle: 0x3 Type: 4 maxRange: 34.906585 resolution: 0.286233 power: 1.0 mA minDelay: 10000 === Sensor 3 == Name: Pressure Vendor: Casio Version: 0x1 Handle: 0x4 Type: 6 maxRange: 1110.0 resolution: 0.13122 power: 1.0 mA minDelay: 40000 === Sensor 4 == Name: Hrm1 Vendor: Casio Version: 0x1 Handle: 0x5 Type: 65540 maxRange: 65535.0 resolution: 1.0 power: 3.0 mA minDelay: 0 === Sensor 5 == Name: Hrm2 Vendor: Casio Version: 0x1 Handle: 0x6 Type: 65541 maxRange: 65535.0 resolution: 1.0 power: 3.0 mA minDelay: 0 === Sensor 6 == Name: Ppg Vendor: Casio Version: 0x1 Handle: 0x7 Type: 65572 maxRange: 65535.0 resolution: 1.0 power: 3.0 mA minDelay: 20000 === Sensor 7 == Name: Behavior Vendor: Casio Version: 0x1 Handle: 0x8 Type: 65537 maxRange: 65535.0 resolution: 1.0 power: 3.0 mA minDelay: 0 === Sensor 8 == Name: Step Counter Vendor: Casio Version: 0x1 Handle: 0x9 Type: 19 maxRange: 2000000000.0 resolution: 1.0 power: 0.19999 mA minDelay: 0 === Sensor 9 == Name: Step Detector Vendor: Casio Version: 0x1 Handle: 0xa Type: 18 maxRange: 1.0 resolution: 1.0 power: 0.19999 mA minDelay: 0 === Sensor 10 == Name: Wrist Tilt Gesture Vendor: Casio Version: 0x1 Handle: 0xb Type: 26 maxRange: 1.0 resolution: 1.0 power: 0.19999 mA minDelay: 0 === Sensor 11 == Name: Significant Motion Vendor: Casio Version: 0x1 Handle: 0xc Type: 17 maxRange: 1.0 resolution: 1.0 power: 0.19999 mA minDelay: -1 === Sensor 12 == Name: Heart Rate Vendor: Casio Version: 0x1 Handle: 0xd Type: 21 maxRange: 65535.0 resolution: 1.0 power: 3.0 mA minDelay: 0 === Sensor 13 == Name: Heart Rate Wake Vendor: Casio Version: 0x1 Handle: 0xe Type: 21 maxRange: 65535.0 resolution: 1.0 power: 3.0 mA minDelay: 0 === Sensor 14 == Name: Simple Bha Vendor: Casio Version: 0x1 Handle: 0xf Type: 65542 maxRange: 65535.0 resolution: 1.0 power: 3.0 mA minDelay: 0