Go Down

Topic: JDY-08 Bluetooth LE Module - Datasheet, Fritzing part (Read 9860 times) 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?

1saac_k

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".
Bluetooth LE (4.0~) is not compatible Bluetooth legacy(~3.0).
But the most of Bluetooth LE Dongles (master) support Dual mode (support both 'LE' and legacy).
In this case, you can not use it with a USB dongle but android phone.
You could buy Bluetooth 2.1 module or upgrade the USB dongle.

======================



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 ?
Because HM-11 is smaller than HM-10, has less IO ports.
In this matter, we would be better to use HM-10 firmware than HM-11.
Anyway you can use HM-10 firmware but there is no benefit.

And.. I didn't test SLEEP.


===============================

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.
hmm... strange. I'm configuring without pulling down System Key.
I'll take a look at whenever this problem reproduced. Thanks :)


=====================================

HI,  someone has the PINMAP of the JDY-10 Bluetooth LE Module, I need to locate the PIN RESET?
JDY-'10'..? Did you mean JDY-08 with HM-10 firmware?
Refer an attachment "JDY-08 + HM-10 firmware.png" (third post)

alex_olvt

#11
Mar 19, 2017, 08:35 am Last Edit: Mar 19, 2017, 09:36 am by alex_olvt
I tryed to starp PWM from BLE function. Use this document https://docs.google.com/document/d/14mHWT3GhELCj-6yxsam0k5bjzazq8nnPoz4B_gYh04k/edit#

I just found UUIDs:

Service UUID found: 0000ffe0-0000-1000-8000-00805f9b34fb
Characteristic found: 0000ffe1-0000-1000-8000-00805f9b34fb
Characteristic found: 0000ffe2-0000-1000-8000-00805f9b34fb
Service UUID found: 00001800-0000-1000-8000-00805f9b34fb
Characteristic found: 00002a00-0000-1000-8000-00805f9b34fb
Characteristic found: 00002a01-0000-1000-8000-00805f9b34fb
Characteristic found: 00002a02-0000-1000-8000-00805f9b34fb
Characteristic found: 00002a03-0000-1000-8000-00805f9b34fb
Characteristic found: 00002a04-0000-1000-8000-00805f9b34fb
Service UUID found: 00001801-0000-1000-8000-00805f9b34fb
Characteristic found: 00002a05-0000-1000-8000-00805f9b34fb

but UUID ffe9 for PWM not found.

How to start it?

arturx

Hi guys,

I've already bought JDY-8 and trying to figure out how to make it work with my project.
I wrote simple program that allows me to communicate with JDY-8 using serial in IDE.
That part works.
I can see also my bluetooth module both from Raspberry PI (hcitool lescan command) and my Android mobile.

But when I'm trying to connect to it, for example using Bluez or Python bluepy library, I'm getting strange errors, like "Host is down" etc.

Is here anyone who can provide me simple instruction or share your code, that allows to communicate with JDY-8 from remote linux system with BLE dongle?

What I want to achieve is just to set "0" or "1" to power off/on LED.

Thanks.

Luca12

Hi 1saac_k, I have found this rar file while clicking link in chinese in the serial client, there is an updated datasheet that could help better understand this module.

https://pan.baidu.com/s/1pLEzyfp  (click the second button)

However, I have the jdy-08 with me now and the TX doesn't work like you said, is there a way to make it works or it only works with the hm-10 firmware?

Thank you

samuelbles

hi, does anyone know about jdy-10 module? it's the same ic that use cc2541 from texas instrument. The only information about this module is datasheet .

There's just a couple AT-command working from the datasheet you guys share. I aware that the firmware is different from jdy-08. when i send AT+VER through at command the return is +JDY-10-V1.8 . I already succeed to make it work to  send data using at-command mode to the android app that i download called beacon simulator.

If someone have info about this module and willing to share with me thanks

Go Up