Home | Reverse engineering | BTMD v0.1 - v0.2 - v0.3 - v0.4 | References
- Anker SoundCore 2 speaker
- Apple AirPods Pro, 1st generation
- There doesn't seem to be a more official name for this module
- It is widely available on AliExpress, TaoBao, Amazon (DE) and others.
- There is a GitHub repo with utilities for this chip
- There is an Electro-Tech-Online forum thread
9600 bps, 8N1, no EOL char
AT+ // Just to make sure transmission is good
AT+REST // Reset - and this will start scanning
AT+DISCON // even though you are not connected
AT+DELVMLINK // erase saved memory of prior connection
AT+VMLINK? // view VM Links in saved memory (should be none)
AT+SCAN
AT+CONADD=0x08ebed1d110c // Anker SoundCore 2
AT+CONADD=0x0c3b50a0e8aa // Apple AirPods Pro
AT+CLVL=50
? (https://m2msupport.net/m2msupport/audio-at-commands-to-configure-device-audio-features/)AT+LVL=N
(https://m2msupport.net/m2msupport/atlvl-loudspeaker-volume-level/)L0 ~ L3
(https://en.wikipedia.org/wiki/Hayes_command_set)AT+CMUT
(mute? https://www.youtube.com/watch?v=q5bVo-mh2Ig)AT+CRSL
🚫 Testing was abandoned when no successful connections could be established.
- Anker SoundCore 2:
- Successful connection on first attempt! 🎉
- AirPods Pro
- Finding the correct timing to press the pairing buttons on both devices was tricky
- Successful connection after a few attempts
- Auto-reconnect after power cycling 🎉
- Seems to work OK with 3.3V on battery terminal
- Unidentified voltage regulator (?) IC
U4
, labeled eitherS2R
,S2R1
orS2RI
.... - Button seems to be pulled up to BAT+ (TBC), via 10k resistor
R6
, into GPIO on third pin of short side of blue module, counting from the corner where Audio In L/R is. - LEDs go from BAT+ via 1k resistors to pins 5 and 6 on the long side of blue module near the 8 test pads
- Does not auto-turn on upon applying power to battery terminals -> good or bad? -> optional RC circuit to virtually hold button for 3 < x < 5 sec. on startup -> comparator circuit
- Max current draw (as displayed by benchtop power supply)
- 20 ~ 30 mA @ 3.3V connected and transmitting
- less than 1 mA when searching
- USB C connector desoldered with hot air gun @350 °C
- Push button and LEDs need to be desoldered for flush mounting using 1x Kapton tape + 2x double-sided adhesive tape
- TL-BC5-16 Bluetooth module
- https://wenku.baidu.com/view/ff4f81d99fc3d5bbfd0a79563c1ec5da50e2d638.html?re=view
- https://wenku.baidu.com/view/0b3e195f33d4b14e84246841.html
- Macronix MX29LV160D Flash Memory https://www.macronix.com/Lists/Datasheet/Attachments/7263/MX29LV160D%20T-B,%203V,%2016Mb,%20v1.2.pdf
- CSR57E6 Bluetooth Stereo Audio Transmitter Module http://ecksteinimg.de/Datasheet/CP12009/BTA-TX-A%20CSR57E6.pdf
✅ Selected for use in BTMD prototype
- Manufacturer website
- Supposedly works with Apple AirPods --> to be tested
- Bluetooth version... 5.0? 4.1?
- Manufacturer website
- AirPods compatible (claimed by manufacturer)
- Manufacturer website
- Bluetooth 5.0
- claimed AirPods compatible
- nice small form factor, no battery, only USB-C power
See references page for schematics and other useful documents.
Sony MZ-R500 (minidisc.org, MiniDisc wiki) was chosen for its wide availability and reasonable second-hand price.
Potential access points:
- Main chassis ground?
- AP609
- S801 (Hold switch)
- TP910
- Listed as 7.3V in schematic diagram.
- Measured as 6.6V @ AP914 against hold switch GND
- Measured as 7.0V @ C608
Potential access points:
- IC601 -
VG
(pin 36) - IC701 -
VG
(pin 23) - IC901 -
VG
(pin 19) - C608 +
- C920
- D903 - (to
LG
) - AP914
Other thoughts:
- IC901 Block diagram: IC901 "generates"
VG
(19) fromLG
(18), referenced toPGND2
(17). PGND2
as ideal GND point? TP910 is relatively close to IC901 whereVG
is generated...- Overall block diagram: IC901
VG
is output,LG
is direct battery voltage "VB" for headphone amp (IC302), Motor/Coil drive (IC701), System controller (IC801) via L904. - D903 (MA729-TX Schottky) links
LG
(anode) toVG
(cathode).
Comes directly from battery +
- IC901 pin 18
- IC701
VM1
(pin 7)VMU
(pin 49)VWVW
(pin 45)- All three seem to be high sides of H-bridge drivers:
VM1
forRO1
,FO1
,RO2
,FO2
etc. (focus and tracking coil drive)VMU
andVWVW
forU0
,V0
,W0
(M601
, spindle)
Potential acces points:
- AP951
- AP952
- AP726
End Search
is most promising because it is unnecessary for normal operation of MD player. Auto End Search can be configured in settings menu.REC
could be another good candidate if recording functionality is not deemed relevant.- Use RC circuit to force longer button push for pairing?
- Somehow respect state of
Hold
slider? - Photograph button PCB against white screen -> good contrast of traces
- Single layer board
- Lots of
000
0 Ohm resistors as bridges - Multiplexed? Resistor ladder? No idea
- Measure
PAUSE
,SET KEY 1
,SET KEY 2
aka.D1
,D2
,D3
- Trace nets from
End Search
button down to FFC- Pin 2:
DGND
- Pin 6:
SET KEY 1
- Pin 2:
- Try scraping off soldermask on marking in corner -> works
- Scrape off soldermask on trace of button ring
- Remove protective foil around test point of trace of button center
- Cut traces to rest of button PCB
- Test using sine / square wave MP3 file playing on MD in a loop -> youtube file 440 Hz for 1 hour
- How to control volume (especially on AirPods)?
- Tap volume buttons and somehow send to BT chip?
- Force volume to max / medium on BT chip and rely on MD player volume setting
- Which line to tap?
IC801
-AOUTL
(29),AOUTR
(30) ... maybe line level suitable for BT chip?IC302
-IN L
(22),IN R
(21) ... same as above? --> TBDIC302
-OUT L
(2),OUT R
(4) ... coupled to headphone jack via C and R
- Tap appropriate ground potential!
S806
is depressed by the front shell when the player is closes- no debugging possible without closing the shell
- Depressing the button with a shim is cumbersome/fiddly
- Added jumper wire between
AP806
(OPEN CLOSE SW
) andAP609
(GND
) - Will leave wire detached from
AP806
, but installed for safety and easy bridging during future debugging- Marked with black circle on kapton tape