Skip to content

JDY_10 based board documentation

Michal Borowski edited this page Apr 1, 2021 · 12 revisions

board pics

List of contents

Concept

The board has 2 main parts:

  1. Atmega32U4 chip (the same chip found in boards like Arduino Pro Micro, CJMCU Beetle or Malduino). It is responsible for typing keystrokes.
  2. JDY-10 BLE module. It makes the communication between Atmega32U4 and mobile application possible.

In the previous designs of this board the antenna was positioned over metal pins like this:

That decreased the range of it so I decided to move the JDY-10 to the back (so the antenna is positioned "outside") which improved the range a lot. It doesn't look as compact and nice as before but the functionality is priority in this case.

Dimensions and range

PCB: 14x22.5mm
Whole device: 14x46mm
Range: Up to 14 meters in an open field.

Wiring

Full schematic is available at the EasyEDA project page. The wiring is equivalent to:

wiring_image

LEDs behaviour

The blue LED shows connection status of the JDY-10 module. (LED on = connected with app, LED off - not connected).

The green LED is the "builtin led" of Atmega32U4 and lights up for 100ms whenever message was received from the mobile application (e.g. creating constant light effect when mouse is being moved). It also flashes once when plugged in.

plug in gif

How to update

https://github.com/michalmonday/supremeDuck/wiki/How-to-update

Issues

Works only with Bluetooth 4.0

It doesn't work with Bluetooth 4.2. Make sure to check specification of your phone if you consider using it.

Lack of pairing password

I've had problem setting the password for pairing, for that reason it is not protected by password/pin. There is option to change the password through application which will activate the password authentication (disabled by default), you can try it yourself, if it works - it works, if it doesn't and you can't connect anymore with the module then it is necessary to use AT command (AT+ISCEN0) to disable password authentication. To input that command do the following:
-flip the switch towards "Prog" side and plug-in device
-open Arduino IDE and pick "Tools->Serial Monitor"
-in the right-bottom corner pick "115200" and "No line ending"
-type "AT+ISCEN0" into the textbox near the top of the window and press enter

If "OK" appears in the main serial monitor white field then it's all good

Let me know on discord (michalmonday#3687) in case of troubles and we'll most likely fix it.

Additional info

JDY-08 module does not expect \r\n (carriage return and new line bytes) at the end of AT commands.
JDY-10 does expect \r\n.
(It means that "No line ending" option has to be picked in serial monitor for JDY-08 and "Both NL & CR" option has to be picked for JDY-10)
The default baud rate of both modules is 115200 which is perfect for "Serial1" (RX,TX) of Arduino Pro Micro.

The MO, MI and SCK pins can be used as I/O pins on Arduino Pro Micro
MO = pin 16 of Arduino Pro Micro
MI = pin 14
SCK = pin 15

EasyEDA project

https://easyeda.com/michalmonday17/supremeduck_jdy-10
image easyeda design

Parts list

All parts are 0603.

I recommend using OSH Park, for around $3 (including shipping) it is possible to get 3 PCB copies.

It is the most expensive of the parts, you could as well buy CJMCU Beetle and desolder the chip, this way you'd also get some LEDs, 22-Ohm resistors, 1M resistor and oscillator.

  • Zener diodes (2x 3.6V 0.15W MM5Z3V6)
  • Resistors
    • 2x 22-Ohm (for USB data lines)
    • 3x 2k-Ohm (for LEDs and voltage divider)
    • 1x 4.7k-Ohm (for voltage divider)
    • 1x 1M-Ohm (for Oscillator)
  • Capacitors
    • 2x 1uF
    • 1x 0.1uf(100nF)
  • Oscillator (16MHZ CSTCE16M0V53-R0 3.2*1.3 SMD Crystal)
  • USB 2.0 Male connector (it has to go deep just as the one from the link)
  • LEDs (green - Atmega32U4 LED_BUILTIN, blue - JDY_10 connection status)
  • toothpick (for placing solder paste on the PCB)

Resources useful for making such boards

https://github.com/michalmonday/supremeDuck/wiki/Resources-useful-for-making-PCBs

Sale

My website - http://monday.pythonanywhere.com/
Tindie - https://www.tindie.com/products/michalmonday/ble-badusb-jdy-10/