-
-
Notifications
You must be signed in to change notification settings - Fork 568
TouchTunes
TouchTunes is a popular Jukebox company that can be found in various bars, pubs, and restaurants all over North America.
TouchTunes Jukebox’s (Gen2 and above) use a wireless remote that transmits NEC encoded messages using ASK/OOK at 433.92MHz. These remotes are used for basic Jukebox functions such as On/Off, Skip Song, Volume, Etc. The wireless messages are addressed using PINs 000-255 to prevent mutable units from interfering with each other.
Most of the time the remote’s PIN is left as default 000
This application emulates TouchTunes wireless remotes (Gen2 and newer) and has the ability to brute force addresses.
Original research can be found HERE and on NotPike's blog.
- Start the application: Go to Transmit→TouchTune.
-
Transmit a command: Simply press the button on the touch screen or highlight/select the button with the physical controls.
-
Change the PIN: Highlight the 3 digits in the top left hand corner and use the jog wheel to change the value. (Default is 000)
-
Brute force a command: Select the “Scan” option (green check mark) then transmit. This option will transmit the command 256 times starting with PIN 000 to 255. (PIN will change to 255 after all commands are transmitted)
-
EW Mode (Experimental): EW (Electronic Warfare) Mode will prevent others from sending commands to your target jukebox while still allowing you to have control. When the "EW Mode" is selected (green check mark), a continuous CW at 433.92MHz will be transmitted in an attempt to jam the jukebox's receiver. You can still transmit commands while "EW Mode" is active. The jamming signal will automatically turn off / turn on when you transmit commands.
Below is all the technical data regarding the wireless message structure.
- Frequency: 433.92MHz
- Modulation: ASK/OOK
- Protocol: NEC
- Symbol Rate: 1766
- Symbol Period: 566us
- Short(0): 10 (OOK: ON OFF)
- Long (1): 1000 (OOK: ON OFF OFF OFF)
- Structure: {PREAMBLE} {SYNC} {PIN} {COMMAND} {TAIL}
- Preamble (Literal Symbols): 0xFFFF00
- Sync (Decoded NEC): 0x5D
- PIN 000-255 (Decoded NEC): 0x00-0xFF (LSB)
- Tail (Literal Symbols): 0x8
Note: Commands are doubled with the 2nd half being reversed. For example, Pause 0x32 will translate to 0x3223 before being encoded to the literal symbols 0xA88A8AA2A880.
- 0x32: Pause
- 0x78: On/Off
- 0x70: P1
- 0x60: P2 Edit Queue
- 0x20: F1 Restart
- 0xF2: Up
- 0xA0: F2 Key
- 0x84: Left
- 0x44: OK
- 0xC4: Right
- 0x30: F3 Mic A Mute
- 0x80: Down
- 0xB0: F4 Mic B Mute
- 0xF0: 1
- 0x08: 2
- 0x88: 3
- 0x48: 4
- 0xC8: 5
- 0x28: 6
- 0xA8: 7
- 0x68: 8
- 0xE8: 9
- 0x18: * Music_Karaoke
- 0x98: 0
- 0x58: # Lock_Queue
- 0xD0: Zone 1 Vol+
- 0x90: Zone 2 Vol+
- 0xC0: Zone 3 Vol+
- 0x50: Zone 1 Vol-
- 0x10: Zone 2 Vol-
- 0x40: Zone 3 Vol-
- Command: Pin 000 - On/Off
- Literal Symbols (HEX): ffff00 a2888a2 aaaa 8888aa2aa2220 (PREAMBLE SYNC PIN COMMAND TAIL)
- Literal Symbols (BIN): 11111111111111110000 10 1000 10 1000 1000 1000 10 1000 10 10 10 10 10 10 10 10 10 1000 1000 1000 1000 10 10 10 1000 10 10 10 10 1000 1000 1000 100000
Note
The wiki is incomplete. Please add content and collaborate.
Important
- This is a public wiki. Everything is visible to everyone. Don't use it for personal notes.
- Avoid linking to external tutorials/articles; they may become outdated or contain false information.
How to collaborate
How to ask questions correctly
- First steps
- Usage cautions
- Intended use and Legality
- Features
- PortaPack Versions (which one to buy)
- HackRF Versions
- Firmware update procedure
- Description of the hardware
- User interface
- Powering the PortaPack
- Troubleshooting
- Applications
-
Compilation of the firmware
- Compile on WSL with ninja
- How to compile on Windows faster with WSL 2
- Using Docker and Kitematic
- Docker command-line reference
- Using Buddyworks and other CI platforms
- Notes for Buddy.Works (and other CI platforms)
- Using ARM on Debian host
- All in one script for ARM on Debian host
- Compile on Arch based distro (exclude Asahi)
- Dev build versions
- Notes About ccache
- Create a custom map
- Code formatting
- PR process
- Description of the Structure
- Software Dev Guides
- Tools
- Research
- UI Screenshots
- Maintaining
- Creating a prod/stable release (Maintainers only)
- Maintaining rules
- Development States Notes