Welcome to Janky_BT.

Janky_BT is a small program to help you connect through
bluetooth to a phone or speaker using Bluez & Bluez-Alsa.
Bluetooth can be a bit hit and miss (janky) , so don't be surprised 
if things don't work straight away. 
The following instructions worked for me, tethering to my phone 
and using its network connection, and also connecting to a minirig 
bluetooth speaker.

GOOD LUCK!!

First off make sure your bluetooth is turned on or dongle plugged in,
and turn your devices bluetooth on making it discoverable.
Then click the 'Start Bluetooth' button.
This will restart the bluetooth daemon and launch 'bluetoothctl'
a command line program from the 'Bluez' package, and your
bluetooth controller (dongle etc) should be recognized.

The following sets up your bluetooth controller (dongle etc)
Only what is written after [bluetooth]#  needs to be entered.

[NEW] Controller 00:15:83:15:A3:10 BlueZ 5.38 [default]

[bluetooth]# agent KeyboardOnly
Agent registered

[bluetooth]# default-agent 
Default agent request successful

[bluetooth]# power on
Changing power on succeeded
[CHG] Controller 00:15:83:15:A3:10 Powered: yes

--------------------------------------------------------------------------------------------
The following is an example of connecting a speaker using 'bluetoothctl' 
this is after setting up the controller above

[bluetooth]# scan on
Discovery started
[CHG] Controller 00:15:83:15:A3:10 Discovering: yes
[NEW] Device 00:12:6F:AD:14:7C 00-12-6F-AD-14-7C
[CHG] Device 00:12:6F:AD:14:7C Name: MINIRIG
[CHG] Device 00:12:6F:AD:14:7C LegacyPairing: no

[bluetooth]# pair 00:12:6F:AD:14:7C
Attempting to pair with 00:12:6F:AD:14:7C
Pairing successful
[CHG] Device 00:12:6F:AD:14:7C Connected: no

[bluetooth]# trust 00:12:6F:AD:14:7C
[CHG] Device 00:12:6F:AD:14:7C Trusted: yes
Changing 00:12:6F:AD:14:7C trust succeeded
-----------------------------------------------------------------------------------
		At this point you'll need to add your device to a special
		asound.conf. In 'Janky_BT' click on 'Add Speaker' and
		add your device to line 17, and save.
		e.g   device "00:12:6F:AD:14:7C"
		
		Next in 'Janky_BT' click on 'Connect to Speaker'
		(this copies the asound.conf across and starts 'bluealsa')
		Now back to 'bluetoothctl'
-----------------------------------------------------------------------------------
[bluetooth]# connect 00:12:6F:AD:14:7C
Attempting to connect to 00:12:6F:AD:14:7C
[CHG] Device 00:12:6F:AD:14:7C Connected: yes
Connection successful

To get sound you'll need to launch applications from a new
terminal window with ALSAPCM=pcm.puppybt  e.g ......
ALSAPCM=pcm.puppybt palemoon
ALSAPCM=pcm.puppybt deadbeef
ALSAPCM=pcm.puppybt kodi

You'll need to 'Disconnect Speaker' when done to remove the asound.conf, 
put your original one back if you had one and stop 'bluealsa'
you may also need to run 'multiple soundcard wizard' if you have no sound
afterwards.
---------------------------------------------------------------------------------

The following is an example of connecting an android phone using 'bluetoothctl'
this is after setting up the controller above. 

[bluetooth]# scan on
Discovery started
[CHG] Controller 00:15:83:15:A3:10 Discovering: yes
[NEW] Device DC:F0:90:2F:01:C5 DC:F0:90:2F:01:C5
[CHG] Device DC:F0:90:2F:01:C5 Name: nubia M2
[CHG] Device DC:F0:90:2F:01:C5 LegacyPairing: yes
  
[bluetooth]# pair DC:F0:90:2F:01:C5
Attempting to pair with DC:F0:90:2F:01:C5
[CHG] Device DC:F0:90:2F:01:C5 Connected: yes
[CHG] Device DC:F0:90:2F:01:C5 Connected: no
[CHG] Device DC:F0:90:2F:01:C5 Connected: yes
Request PIN code
[agent] Enter PIN code: 1234
[CHG] Device DC:F0:90:2F:01:C5 Paired: yes
Pairing successful
[CHG] Device DC:F0:90:2F:01:C5 Connected: no
[bluetooth]# trust DC:F0:90:2F:01:C5
[CHG] Device DC:F0:90:2F:01:C5 Trusted: yes
Changing DC:F0:90:2F:01:C5 trust succeeded
-----------------------------------------------------------------------------------
		At this point make sure that 'Bluetooth Tethering' is turned on in your
		phones settings, then in 'Janky_BT' click on 'Add Phone' and add your
		phones device iD. Make sure to save then click 'Tether to Phone'
		You can then use 'frisbee' or 'network wizard' to connect to 'bnep0'
		Note that 'simple network setup' doesn't work with 'bnep0'
------------------------------------------------------------------------------------


Tips and trouble shooting

[bluetooth]#help
lists bluetoothctrl options

if a device won't pair try turning the device on & off
try initiating pairing from the device
if device pairs but doesn't connect try removing pair from both
device and in bluetoothctrl and start again

more reading 
https://wiki.archlinux.org/index.php/bluetooth
https://wiki.archlinux.org/index.php/bluetooth_keyboard
https://wiki.archlinux.org/index.php/bluetooth_mouse
https://wiki.gentoo.org/wiki/Bluetooth