====== Cheap MP3 FM transmitter ====== start pulse: ^ signal ^ time ^ description ^ | LOW | 8.9ms | start pulse | | HIGH | 4.4ms | start pulse | | LOW | 619 us | bit separator | | HIGH | 520 us | bit 0 | | HIGH | 1600 us | bit 1 | * Short pulse is 0 * Long pulse is 1 * **LSBit is transmited first** * First/left/most significant byte (MSbyte) is transmited first Prefix **FF00** (Low byte transmitted first). Example: **CH-** button full code would be BA45FF00, or in binary (LSBit transmitted first - right to left): 0101 1101 0010 0010 1111 1111 0000 0000 ^ Col 1 ^ Col 2 ^ Col 3 ^ | **CH-** / BA45 | **CH** / B946 | **CH+** / B847 | | **|<<** / BB44 | **>>|** / BF40 | **>||** / BC43 | | **-** / F807 | **+** / EA15 | **EQ** / F609 | | **0** / E916 | **FOL-** / E619 | **FOL+** / F20D | | **1** / F30C | **2** / E718 | **3** / A15E | | **4** / F708 | **5** / E31C | **6** / A55A | | **7** / BD42 | **8** / AD52 | **9** / B54A | ===== Below information is WRONG (reversed) ===== I assumed the protocol wrongly. Below is "the wrong way" for reference of past projects. start pulse: ^ signal ^ time ^ description ^ | LOW | 8.9ms | start pulse | | HIGH | 4.4ms | start pulse | | LOW | 619 us | bit separator | | HIGH | 520 us | bit 1* | | HIGH | 1600 us | bit 0* | * assumed that short pulse is 1 long is 0. Not sure about that but if it's the other way - just invert all numbers below Prefix **FF00** (High byte transmitted first) ^ Col 1 ^ Col 2 ^ Col 3 ^ | **CH-** / 5DA2 | **CH** / 9D62 | **CH+** / 1DE2 | | **|<<** / DD22 | **>>|** / FD02 | **>||** / 3DC2 | | **-** / 1FE0 | **+** / 57A8 | **EQ** / 6F90 | | **0** / 9768 | **FOL-** / 6798 | **FOL+** / 4FB0 | | **1** / CF30 | **2** / E718 | **3** / 857A | | **4** / EF10 | **5** / C738 | **6** / A55A | | **7** / BD42 | **8** / B54A | **9** / AD52 |