Background:
Since the satellite positioning function of Xiaomi's new tablet 6 has been removed, the tablet cannot use maps for navigation. One of my needs for buying a tablet is to use it as a navigation device (rental car travel). So I had the idea of making an external satellite positioning device. I searched on Taobao and found a store selling an external Bluetooth GPS module, but the price was close to 100 RMB and it needed an external power supply. I found a production video of UP (Mianmian 666) on B Station University, which gave me inspiration, so I decided to DIY one myself.
Production plan:
Since it is not certain whether the work can achieve the design goal and time is tight, this production plan is made up of modules. I bought (the following links are for my own purchases, and are only for the convenience of the creators):
two 18650 battery boxes, priced at 5.2 yuan;
IP2312 lithium battery charging module, priced at 5.3 yuan;
single lithium battery protection board, priced at 1.55 yuan;
5V boost module, priced at 5 yuan;
3.3V buck module, priced at 3.8 yuan;
SS12D10 toggle switch, priced at 0.45 yuan;
lithium battery power indicator light board, priced at 5.8 yuan;
several wires, priced at 2.6 yuan.
HC-04 Bluetooth module (SMD), priced at 15.8 yuan;
BD-280ZF Beidou GPS dual-mode positioning module, priced at 28 yuan.
Two BAK 18650 lithium batteries 3000mAh, priced at 10 yuan.
Total: 93.5 yuan
Well... it seems that I didn't save money. If you don't need battery power and use the power bank, then you only need the red one above, total: 50.65 yuan, a direct reduction of half!
Software operation
requires downloading Bluetooth GPS 1.3.7 version, other versions cannot be used, I personally tested!
System and software settings
I used a certain Xiaomi Tablet 6Pro and Redmi K50 to test and use them. In Settings → All Parameters → Click MIUI version to enter the developer mode, pull down in the developer options to the end and see "Select simulated location information application" to enter, select Bluetooth GPS (if the small text below shows non-Bluetooth GPS after setting, uninstall the displayed software, and then perform the above operations. If it is still not, ignore it. In the Bluetooth GPS software, you can check the small square on the right or bottom of CONNECT (here is to enable virtual GPS sharing), and finally install the uninstalled software).

Bluetooth connection
Find the HC-04 connection in the Bluetooth interface. The key is usually 1234. After the connection is successful, it will not turn blue, but will only show that it is paired. Then enter the Bluetooth GPS software, select HC-04 in the dialog box on the left of CONNECT, and then click CONNECT. After a while, you can see that the positioning data in the interface is updated (if the system is normal, pure welding, no parameter configuration is required (except for high performance)).
In the location information column in the settings, you can see the following changes.


The measured navigation accuracy is acceptable and can be used normally. Compared with the mobile phone's built-in positioning, there is a certain delay, but it basically does not affect normal driving, and there is no impact on tunnels.
Chicken blood operation (software configuration)
Of course, the default baud rate of 9600 and the positioning refresh rate of 1Hz are definitely not what DIY pursues. The pursuit of extreme performance is also the greatest pleasure of DIY.
If the welding is completed, you need to unsolder the communication line and connect the module to be set to the serial communication module, and the other one can be left hanging.
Bluetooth configuration:
Short-circuit pin 12 with the ground and power on, enter the AT command mode, and change the Bluetooth baud rate to 115200 or 230400 according to the data sheet. I use 115200. Then modify the Bluetooth name or key as needed. The Bluetooth configuration is completed.
Positioning module configuration:
According to the manual and the host computer software, set the baud rate to the same as the Bluetooth baud rate, then change the refresh frequency to 10Hz, that is, change the refresh time interval to 100ms, then save the operation according to the manual, and then connect to the host computer to observe whether the number of updated data per second is 10. If it is less than 10, the baud rate may be too low.
Through the above operations, you can complete the chicken blood version of the device, that is, refresh 10 times per second, and the update speed is greatly improved, or you can buy a four-mode positioning module according to your needs, as long as you have enough money. There is no video
for the actual demonstration
, so I will just put a few pictures.