Go Down

Topic: JDY-08 Bluetooth LE Module - Datasheet, Fritzing part (Read 1 time) previous topic - next topic

1saac_k

I'd like to share some stuff about JDY-08 BLE module.

I made Fritzing part and translate datasheet using google translation and refine format.

- fritzing part -> refer attachment
- datasheet -> https://docs.google.com/document/d/14mHWT3GhELCj-6yxsam0k5bjzazq8nnPoz4B_gYh04k

If you ever heard about JDY-08, let me a summary about Bluetooth modules for Arduino.

I think HC-05 and HC-06 are the most popular Bluetooth module.
But these are Bluetooth 2.0 + EDR.

In BLE (Bluetooth Low Energy) domain, HM-10 is popular. And there are many clone models like AT-09.
These modules can be found at Aliexpress or any Chinese market.

These module using same Bluetooth LE chipset that is Ti CC2541.
And circuit is very similar. But, be careful about  the difference of firmware. AT command also different.
(Some alternatives of CC2541 are Nordic nRf51822, Dialog DA14580)

Another BLE module, HM-11 has small form factor. And maybe JDY-08 is clone of it.

So, the main pros of JDY-08 are the price. It's just $1.64 and really works.
When Aug. 13, the lowest price of JDY-08 was about $2.1 and after a month it dropped to $1.73 and now $1.64. And maybe will..?

The cons are,
- has no baseboard that logic level converter (3.3v<->5v)
- the pitch is smaller than 2.54 but can be soldering
- document hardly found



BMWS1000RR

Thank you so much for providing all the details. I don't have bare ATTiny85 but do have the DigiSpark USB board as well as the Arduino UNO. Do you have any sample Arduino code for the same which I can use to test this module? To be specific, I want to Send/Receive small data from my Phone (Android/iOS) to this BLE module. So any code close to the same application would really be helpful!

A bit about me, I ordered HM-11 from China and the seller sent me something similar with CC2541 (after hours of hunt online, I realized it's JDY-08) and now after reading your post, I know a little bit more.

I am a starter in Arduino and wanted to work with BLE. After looking into all the online forums and all, I figured out CC2541/CC2650 are the modules extensively used for its low power and reliable performance.

Anyways, thanks again for sharing the details. It really helped me and I am sure would do the same for many others.

Waiting for your reply.

Thanks.
Vicky

1saac_k

Writing in English is painful for me  :smiley-evil:
um.. (deep sigh)

I strongly doubt that there are some bugs in the official firmware of JDY-08 (version 2.1).
BLE connection and AT-command (serial using UART) works.
But serial pass-through using BLE does not works (serial Rx of JDY-08 is working but Tx does not work)
To be clear, If I connect between RasberryPi and JDY-08, I can send data to JDY-08. But I can't receive data.

Another problem is that pin code (passkey) configuration does not work. I set a password using AT+PASS and then set AT+ISCEN1 (authentication enable).
When I connect to JDY-08, there was no pop-up to input pin code but disconnected after a few seconds.

I googling very hard and found a datasheet for version 2.63. I didn't translate it but here is update log.
------
V2.6 version update:
The functionality of the module is exactly the same as the old version, and the update is only to accommodate more customer requirements
1: The number of feature UUIDs is reduced. Currently, only two feature UUIDs are reserved
2: Added IO disconnect function
3: updated password connection, the new version of the Bluetooth default password connection
4: changed the AT + HOSTEN0 only for the APP transparent transmission mode, WeChat function for the individual mode AT + HOSTEN4
-----
I think patch #2 and #4 are the culprits of my problems.
I can not found v2.63 firmware but found better firmware that is the official firmware of HM-10!

I updated google docs, please check 'Quick start' part. Then you can move to HM-10 v540. After that, you can update to v544 using the official tool of HM-10 (HMSoft).

Hey.. I just moved to v540 yesterday :)
(not updated to v544 yet)

What I tested,
- BLE connection is successful with default configuration
- AT-command is successful (uart serial)
- serial pass-through using BLE is OK
- system LED is OK

What I'm testing now,
- passkey (pin code) authentication
 (successful on LightBlue app, needs more test for linux gatt-tool)
- PIO in and out
 (tested on both AT-command and BLE. PIO2 PWM, PIO3 is OK. PIO 4~11 not work as HM-11 rather than HM-10. strange.. need more investigation)

It's interesting that JDY-08 and HM-11 have similar size but the pinout is more similar to HM-10. So updating to HM-10's firmware is better than HM-11's.
Here is a small gift, I made a pin-map cheat sheet for JDY-08 on HM-10 firmware.


1saac_k

experimental result.

- PIO in and out (successful)
 * PIO3~11 out, PIO3 PWM out
 * PIO5 ADC in, I tested using LDR(a.k.a CDS)

Tested on both AT-command and BLE on the v544 firmware.
I failed before because I set AT+MODE to 1. We need to set 0 or 2 to output PIO3~11.

- passkey (pin code) authentication
 * successful on LightBlue app
 * needs more test for Linux environment

The passkey problem could be subject of BlueZ rather than JDY-08.
I'm using BlueZ v5.43, (latest now, 12/7/2016)

I compared genuine HM-11 and firmed-up JDY-08.
Result is little bit different but both are fail.

I think 'gatttool' does not support passkey pairing.
'bluetoothctl' ask passkey after 'agent on' and 'default-agent' but fail to authentication.

Here is some log snippet of HM-11.
(I'll try to use HM-11 first)

<configuration>

AT+PASS?
>> OK+Get:001111
AT+TYPE?
>> OK+Get:3

<bluetoothctl log>

[bluetooth]# pair 5C:F8:21:8F:E1:BB
Attempting to pair with 5C:F8:21:8F:E1:BB
[CHG] Device 5C:F8:21:8F:E1:BB Connected: yes
Failed to pair: org.bluez.Error.AuthenticationFailed
[CHG] Device 5C:F8:21:8F:E1:BB Connected: no

################

[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# pair 5C:F8:21:8F:E1:BB
Attempting to pair with 5C:F8:21:8F:E1:BB
[CHG] Device 5C:F8:21:8F:E1:BB Connected: yes
Request passkey
[NEW] Primary Service
        /org/bluez/hci0/dev_5C_F8_21_8F_E1_BB/service000c
        00001801-0000-1000-8000-00805f9b34fb
        Generic Attribute Profile
[NEW] Characteristic
        /org/bluez/hci0/dev_5C_F8_21_8F_E1_BB/service000c/char000d
        00002a05-0000-1000-8000-00805f9b34fb
        Service Changed
[NEW] Descriptor
        /org/bluez/hci0/dev_5C_F8_21_8F_E1_BB/service000c/char000d/desc000f
        00002902-0000-1000-8000-00805f9b34fb
        Client Characteristic Configuration
[NEW] Primary Service
        /org/bluez/hci0/dev_5C_F8_21_8F_E1_BB/service0010
        0000ffe0-0000-1000-8000-00805f9b34fb
        Unknown
[NEW] Characteristic
        /org/bluez/hci0/dev_5C_F8_21_8F_E1_BB/service0010/char0011
        0000ffe1-0000-1000-8000-00805f9b34fb
        Unknown
[NEW] Descriptor
        /org/bluez/hci0/dev_5C_F8_21_8F_E1_BB/service0010/char0011/desc0013
        00002902-0000-1000-8000-00805f9b34fb
        Client Characteristic Configuration
[NEW] Descriptor
        /org/bluez/hci0/dev_5C_F8_21_8F_E1_BB/service0010/char0011/desc0014
        00002901-0000-1000-8000-00805f9b34fb
        Characteristic User Description
[CHG] Device 5C:F8:21:8F:E1:BB UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[CHG] Device 5C:F8:21:8F:E1:BB UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Device 5C:F8:21:8F:E1:BB UUIDs: 0000ffe0-0000-1000-8000-00805f9b34fb
[CHG] Device 5C:F8:21:8F:E1:BB ServicesResolved: yes
[agent] Enter passkey (number in 0-999999): 001111      <-------------- asking...
Failed to pair: org.bluez.Error.AuthenticationFailed            <-------------- failed
[CHG] Device 5C:F8:21:8F:E1:BB ServicesResolved: no
[CHG] Device 5C:F8:21:8F:E1:BB Connected: no
[bluetooth]#


<btmon log>
# after enter passkey

< ACL Data... flags 0x00 dlen 21  [hci0] 5714.284480
      SMP: Pairing Confirm (0x03) len 16
        Confim value: 6541825c5b9a5f6381919483d89594b1
> HCI Event: Num.. (0x13) plen 5  [hci0] 5714.292082
        Num handles: 1
        Handle: 69
        Count: 1
> ACL Data... flags 0x02 dlen 21  [hci0] 5714.331585
      SMP: Pairing Confirm (0x03) len 16
        Confim value: ab17c3c10789bfa67236f580dc62e56a
< ACL Data... flags 0x00 dlen 21  [hci0] 5714.331867
      SMP: Pairing Random (0x04) len 16
        Random value: 8c8ec790640b3b5e8ca7bc9d2220de92
> HCI Event: Num.. (0x13) plen 5  [hci0] 5714.372072
        Num handles: 1
        Handle: 69
        Count: 1
> ACL Data R.. flags 0x02 dlen 6  [hci0] 5714.411724
      SMP: Pairing Failed (0x05) len 1
        Reason: Confirm value failed (0x04)
< HCI Com..nd (0x01|0x0006) plen 3  [hci0] 5714.412026
        Handle: 69
        Reason: Authentication Failure (0x05)
@ Authentication Failed: 5C:F8:21:8F:E1:BB (1) status 0x05
> HCI Event: Com.. (0x0f) plen 4  [hci0] 5714.416117
      Disconnect (0x01|0x0006) ncmd 1
        Status: Success (0x00)
> HCI Event: Dis.. (0x05) plen 4  [hci0] 5714.492088
        Status: Success (0x00)
        Handle: 69
        Reason: Connection Terminated By Local Host (0x16)
@ Device Disconnected: 5C:F8:21:8F:E1:BB (1) reason 2

##############

1saac_k

I success to passkey!

In short, don't use 'pair' command in 'bluetoothctl', use 'connect' directly.
I think 'pair' command is for ordinary Bluetooth only (not for LE).

<configuration>
AT+PASS?
>> OK+Get:123123
AT+TYPE?
>> OK+Get:3

<genuine HM-11 results>

[bluetooth]# agent on                                                    <----------------        
Agent is already registered                                                      
[bluetooth]# default-agent                                              <----------------        
Default agent request successful                                                
[bluetooth]# connect 5C:F8:21:8F:E1:BB                           <----------------                
Attempting to connect to 5C:F8:21:8F:E1:BB                                      
[CHG] Device 5C:F8:21:8F:E1:BB Connected: yes                                    
Connection successful                                                            
Request passkey                                                                  
[NEW] Primary Service                                                            
       /org/bluez/hci0/dev_5C_F8_21_8F_E1_BB/service000c                        
       00001801-0000-1000-8000-00805f9b34fb                                    
       Generic Attribute Profile                                                
....skip....                                      
[NEW] Descriptor                                                                
       /org/bluez/hci0/dev_5C_F8_21_8F_E1_BB/service0010/char0011/desc0014      
       00002901-0000-1000-8000-00805f9b34fb                                    
       Characteristic User Description                                          
[CHG] Device 5C:F8:21:8F:E1:BB UUIDs: 00001800-0000-1000-8000-00805f9b34fb      
[CHG] Device 5C:F8:21:8F:E1:BB UUIDs: 00001801-0000-1000-8000-00805f9b34fb      
[CHG] Device 5C:F8:21:8F:E1:BB UUIDs: 0000ffe0-0000-1000-8000-00805f9b34fb      
[CHG] Device 5C:F8:21:8F:E1:BB ServicesResolved: yes                            
3agent] Enter passkey (number in 0-999999): 12312                        <-------------
[CHG] Device 5C:F8:21:8F:E1:BB Paired: yes                                  <-------------
[DEL] Device 00:15:83:00:73:9C BT05                                          
[DEL] Device 00:15:83:00:6E:F7 BT05                                              
[DEL] Device 00:19:86:00:00:38 WIN-KAMUIA0O9GF                                  
[HMSoft]#                                                                        



<results of JDY-08 on HM-10 firmware>
(already set 'agent on' and 'default-agent')

[bluetooth]# scan on                                                               <----------
Discovery started                                                                  
[CHG] Controller 00:1A:7D:DA:71:0A Discovering: yes                                
[CHG] Device 00:15:83:00:5B:44 RSSI: -77                                          
[CHG] Device 00:15:83:00:43:88 RSSI: -72                                          
[CHG] Device 00:15:83:00:6E:F7 RSSI: -67                                          
[NEW] Device 88:4A:EA:45:A7:B2 HMSoft                                              
[bluetooth]# scan off                                                                 <----------
[CHG] Device 00:15:83:00:73:9C RSSI: -75                                          
[CHG] Device 00:15:83:00:6E:F7 RSSI is nil                                        
[NEW] Device 00:19:86:00:00:38 WIN-KAMUIA0O9GF                                    
[CHG] Device 00:15:83:00:73:9C RSSI is nil                                        
[CHG] Device 88:4A:EA:45:A7:B2 TxPower is nil                                      
[CHG] Device 88:4A:EA:45:A7:B2 RSSI is nil                                        
[CHG] Device 00:15:83:00:43:88 RSSI is nil                                        
[CHG] Device 00:15:83:00:5B:44 RSSI is nil                                        
Discovery stopped                                                                  
[CHG] Controller 00:1A:7D:DA:71:0A Discovering: no                                
[bluetooth]# connect 88:4A:EA:45:A7:B2                                   <-----------      
Attempting to connect to 88:4A:EA:45:A7:B2                                    
[CHG] Device 88:4A:EA:45:A7:B2 Connected: yes                                  
Connection successful                                                          
Request passkey                                                                
[NEW] Primary Service                                                          
       /org/bluez/hci0/dev_88_4A_EA_45_A7_B2/service000c                      
       00001801-0000-1000-8000-00805f9b34fb                                  
       Generic Attribute Profile                                              
... skip ...                               
[NEW] Descriptor                                                              
       /org/bluez/hci0/dev_88_4A_EA_45_A7_B2/service0010/char0011/desc0014    
       00002901-0000-1000-8000-00805f9b34fb                                  
       Characteristic User Description                                        
[CHG] Device 88:4A:EA:45:A7:B2 UUIDs: 00001800-0000-1000-8000-00805f9b34fb    
[CHG] Device 88:4A:EA:45:A7:B2 UUIDs: 00001801-0000-1000-8000-00805f9b34fb    
[CHG] Device 88:4A:EA:45:A7:B2 UUIDs: 0000ffe0-0000-1000-8000-00805f9b34fb    
[CHG] Device 88:4A:EA:45:A7:B2 ServicesResolved: yes                          
3agent] Enter passkey (number in 0-999999): 12312                            <-----------  
[CHG] Device 88:4A:EA:45:A7:B2 Paired: yes                                     <-----------

jameschen0125


asd234

Thanks,
it is very useful post.

Is can "JDY-08" module works with Bluetooth v2.0 or Bluetooth v1.2?

PS: I want use this module with Bluetooth v2.0 usb dongle(based on ht6630) or Android phone with Bluetooth v4.0 pair.
Not sure which module I should choose  "JDY-08 BLE Bluetooth v4.0 based on CC2541" or "SPP Bluetooth V2.1+EDR based on bk3231".

kutysam

Now the price is $1.60USD haha
https://www.aliexpress.com/af/JDY%25252d08.html

Btw, just curious, you managed to flash it to hm10 firmware right?
Shouldn't it be a hm11 instead?

And in addition to this, after flashing, are you able to run AT+SLEEP ?

Thank you!

moisesmagno

#8
Feb 02, 2017, 09:39 pm Last Edit: Feb 02, 2017, 09:44 pm by moisesmagno
After proceed with a firmware update on JDY-08 to the HM-10 official one (following 1saac_k guides) and a lot of time unsuccessfully spent trying to send AT commands to the module, I've figured out that the following must be done:

System KEY function (PIO0):
    Long press system KEY >=1000 ms.
    After wake up module, you can send and receive AT commands.

(ref. http://eezone.co.uk/blog/wireless/hm-10-cc2541-4-0-ble-bluetooth-to-uart-transceiver-module.html)

According to 1saac_k (again) after the firmware update the System KEY pin on the JDY-08 board is mapped as the pin 09.

That way to send AT commands to the module through UART interface, the pin 09 (or the PIO0 on the HM-10) must be pulled down (GND) for at least 1 second after the board power on and after every bluetooth connection established.

Best,

Luisk87

HI,  someone has the PINMAP of the JDY-10 Bluetooth LE Module, I need to locate the PIN RESET?

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy