Recently I found that little bluetooth audio module for a reasonable price.It was not very well documented but with a bit of patience and a lot of searching on the Internet I found a lot of cool stuff about this module.In this instructable we will learn about AT commands and how to configure on board eeprom settings without desoldering!
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Pinouts and Circuit
So I found the pinouts and simple circuit for powering it up and buttons control.
Here you can find some mods for less noisy sound.
Step 2: AT Commands
Cool now we can listen some music through our phone but where is the fun if you can't hack it?Attached file shows all AT commands that XS3868 supports.Some of the AT commands in the provided pdf are messed up, but hey they are at least there.
Step 3: Let's Hack!
Ok, we have AT commands which kinda works, let's go deeper!With attached configuration program we can change persistent store key settings in on board eeprom.
What is the procedure and what you need?
1. USB to Serial cable/adapter(you can use Arduino board)
2. Power supply for powering BT module it requires 3.3v - 4.2v
3. * TX/RX level shifter if needed
1. You must connect corresponding TX/RX pins on both boards
2. Connect your USB to serial adapter.
3. Change your newly usb serial port to be COM1.
4. This can be done under Device Manager->your usb to serial->Properties->Port Settings->Advanced
5. Open attached program.It will say "Not connected"
6. Restart or power off/on bluetooth module and voala you're in!
7. Change what ever you want (id, auto-off, auto-pair etc) but be careful, read provided datasheet before writing values!
Disable deep-sleep feature:
1.lowpow_clk: default: 0x1e
That translate to binary: 0001 1110
Change it to:0001 0010 -->HEX value -->12 (I'm disabling 2 and 3 bit see datasheet for clarification)
2.app_to_autooff default value: 0x05
To disable auto off feature change it to: 0x00
When you finish with editing your settings just close the program and restart the module.