상세 컨텐츠

본문 제목

Cortex Command Serial Keygen Cracks

카테고리 없음

by laicusympfilt1987 2020. 2. 19. 00:43

본문

How to spot a serial killer: Criminologists reveal five key traits the most notorious murderers have in common. Experts from Real Crime magazine have revealed five key characteristics. These range from being egotistical to manipulative and charming.

Studies have found a link between damage to the brain’s frontal lobe and changes in the amygdala in criminal serial killers. Other psychologists link the behaviour to early childhood abuse or drugsByPublished: 11:55 BST, 21 July 2015 Updated: 00:00 BST, 28 July 2016.

Fred West (pictured above) appeared to be part an 'average Joe' but between 1967 and 1987 tortured and raped young women and girls‘However it’s a way of gaining trust, only to abuse it in the most appalling ways. This feature taken in part from Real Crime magazine, out nowHenry Lee Lucas, a serial killer convicted of 11 murders, was found to have extreme brain damage in these regions, for example.The brain study at the University of Wisconsin, Madison also noticed a drop in connectivity between the amygdala and the ventromedial prefrontal cortex (vmPFC).These regions process negative stimuli into negative emotions and responses.When connectivity is low, people have lower levels of empathy and aren’t easily ashamed by their actions. PSYCHOPATHY VERSUS PSYCHOSISSome serial killers have been diagnosed by psychologists as psychopaths, suffering from an antisocial personality disorder (APD).This makes them unlikely to conform to social norms, irritable and aggressive and lack of remorse.Brain scans of rapist and serial killer Brian Dugan showed a lack of activity in the regions associated with empathy and remorse, and Bundy once described himself as ‘the most cold-hearted son of a b.h you'll ever meet.’Others have been diagnosed as psychotic. Serial killers are typically classified in two ways - one based on motive, the other on organisational and social patterns.The motive method is called Holmes typology, for Ronald M.

And Stephen T. Holmes, authors of textbooks on serial murder and violent crime.The FBI explained that not every serial killer falls into a single type, and these classifications don’t explain what leads someone to become a serial killer.However, according to Holmes typology, serial killers can be act-focused, and kill quickly, or process-focused, and kill slowly.For act-focused killers, killing is about the act itself. Psychotic: Bodysnatcher Ed Gein (pictured) believed he needed the parts of the woman he killed in order to become a woman himselfBy comparison, psychosis is when a person loses sense of reality.The conditions share certain traits, but typically psychopaths are manipulative and know right from wrong, while psychotics suffer from delusions.Bodysnatcher Ed Gein believed he needed the parts of the woman he killed in order to become a woman himself.And last month, Nicholas Salvador, 25, was put on trial for beheading a woman he believed was ‘Hitler back from the dead’. He was suffering from paranoid schizophrenia at the time.

Although not a serial killer, this highlights the differences in the types of killers.However, all of these findings fail to reveal why other people with similar brain abnormalities or personality traits aren’t serial killers. Furthermore, the cause of this brain damage is also not known or confirmed.As the FBI concluded: ‘The relationship between psychopathy and serial killers is particularly interesting.‘All psychopaths do not become serial murderers. Rather, serial murderers may possess some or many of the traits consistent with psychopathy.‘Psychopaths who commit serial murder do not value human life and are extremely callous in their interactions with their victims.‘This is particularly evident in sexually motivated serial killers who repeatedly target, stalk, assault, and kill without a sense of remorse.

However, psychopathy alone does not explain the motivations of a serial killer.’.

Since I first posted about the HM-10 the firmware has been updated many times and some of the commands have changed. Therefore, I decided to redo the guide. For the main article I am using modules with firmware 5.49 (regular) except the one I am using for the firmware update guide which started with v5.40 and become 5.47.Please note that this new guide is starting to get old and if you have problems you should check the latest firmware.Updated 2019-08-25I thought it was time for a minor update.There are now 4 versions of the HM-10. The differences are usb pads and a crystal.1 – with usb pads and the additional crystal2 – with usb pads without the extra crystal3 – no usb pads but with the additional crystal4 – no usb pads, no extra crystal.Docs and data sheetThe docs zip file is available by clicking on one of the HM-10 images on the or downloadThe data sheet in the download shows v606/v701 and is not up-todate; it does not include the new AT+READOF command and has the old AT+CO command. It does include AT+PACK which was introduced in v702 though.

Huamao version control looks to be as good as mine.The readme in the archive is not up-to-date either, see the one that comes with the firmware download.FirmwareThe latest firmware is v705 and can be downloaded from Huamao Here are all the changes since v700. I have not used any of the 7xx firmwares.If you update from. Image taken from the Jinan Huamao website2017-09(bug fixes, no new commands)2017-10.xx Extended the CO command. Added AT+MPIO (multi PIO control).

See the readme file for details. The manual has not been updated at this time (Nov 2017).2017-07Firmware version 5.49 is now available from the Jinan Huamao website. There are 2 versions; regular and long name. The regular firmware does not have an updated read me so I don’t know what changes, if any, have been made. The long name firmware adds, you guessed it, long names. Device names can now be up to 29 characters.

At the same time the iBeacon function and the ANCS function have been removed. Unless you desperately need long names I suggest you stay with the regular firmware.(not fully working)IntroductionThe HM-10 is a small 3.3v SMD Bluetooth 4.0 BLE module based on the TI or CC2541 Bluetooth SOC (System On Chip). The HM-10 is made by and is one of many Bluetooth devices they produce including the HM-11 which is operationally the same as the HM-10 but has a smaller footprint with fewer pins broken out.There are 2 versions of the HM-10; the HM-10C and the HM-10SThe HM-10C does not have the pads along the bottom (the usb connections) and has 26 pads instead of 34 which makes it a little cheaper to produce. There may be other differences (such as the type of crystal used) due to the date of manufacture. Operationally the two are the same though. HM-10 Basic specs.

+2.5v to +3.3v. Requires up to 50mA. Uses around 9mA when in an active state. Use 50-200uA when asleep.

RF power: -23dbm, -6dbm, 0dbm, 6dbm. Bluetooth version 4.0 BLE.

Default baud rate pre firmware V700 is 9600. Default baud rate firmware V700 and up is 115200. Default PIN is 000000. Default name is HMSoft. Based on the CC2540 or the CC2541 chipThe latest HM-10s all appear to the the CC2541 chip. This is the same as the CC2540 except it is lower power and has a shorter range.

The CC254x is based on the 8051 and runs at 32MHz.The HM-10 is has become a very popular Bluetooth 4 BLE module for use with the Arduino. In part due to the standard UART serial connection that makes it fairly straight forward to connect to an Arduino. The UART layer is a good thing and a bad thing, it allows ease of use but it hides the BLE layer so you have no control over the actual BLE side of things. The HM-10 is Bluetooth version 4.0 only. This means it cannot connect to Bluetooth 2/2.1 modules such as the HC-06 and HC-05.The HM-10 is controlled via AT commands which are sent over the serial UART connection.

There are a host of commands, some simple, some more complex, and these are covered later.HM-10 on a breakout boardThe HM-10 is also available mounted to a breakout board that exposes the power and UART connections to breadboard friendly male pins. The breakout board includes a 3.3v power regulator that makes them 5V compatible. This makes them ideal for hobbyists like me.

You should note that the RX pin is is still 3.3v and when using a 5v Arduino you should covert the Arduino’s 5v TX to 3.3v for the HM-10 RX.PinDescriptionSTATEConnection statusLOW when not connected. HIGH when connectedVCCPower in. 3.6v to 6vGNDCommon groundTXDSerial UART transmitRXDSerial UART receiveBRKBreak pin. When there is an active connection, bringing the BRK pin LOW breaks the connectionOn board LEDThe on board LED blinks when waiting for connection. It blinks half a second on, half a second off.The LED becomes solid on when a connection is made and returns to blinking when the connection is broken.The LED changes to solid on when pairing. After pairing it returns to flashing. It basically makes a connection to pair and so turns on the LED to show the connection status.

After pairing is completed the connection is closed and the LED is turned off.The behavior of the LED can be changed using the PIO1 command.“AT+PIO10″ – Default setting. When not connected the LED blinks 500ms on, 500ms off. When connected the LED is solid on.“AT+PIO11″ – When not connected the LED is off. When connected the LED is solid on. STATE PinThe STATE pin is LOW when there is no connection and goes HIGH when a connections is established. BRK PinThe BRK pin allows you to cancel a connection. When there is an active connection, bringing the BRK pin momentarily LOW breaks the connection.

When there is no connection making the BRK HIGH or LOW has no effect. Although not strictly required, pulling the BRK pin HIGH for normal use will stop the pin floating.FakesThere are lots of comments on the internet about fake HM-10s and even Jinan Huamao includes information in the data sheets. I do not see the non-HM-10s as fakes, I see them as similar devices with different firmware.

To me if they were fakes they would copy the firmware.I think a lot of the problem comes from how the non-HM-10s are sold, especially on places like ebay and aliexpress. You will often see modules sold as HM-10s when they are in fact not. One of the easiest ways to spot the non-HM-10s was the lack of a crystal, unfortunately you can now buy actual HM-10s without the crystal so the confusion is likely to get worse.Bluetooth 4 BLEBLE is not an upgrade to Bluetooth Classic, it is a different system with different intended uses.

BLE works in a very different way to the earlier Bluetooth. BLE is designed for low energy applications and achieves this by using infrequent small packets of data. It is not really designed for continuous connections and large amounts of data. For this, Bluetooth Classic is a better choice. In essence, BLE achieves its low power consumption by not being connected very often, unlike Bluetooth Classic which maintains a constant connection.While you can create a classic style connection using 2 HM-10s, and I give an example below, they were not designed for this and if this is all you need then you would be better suited with Bluetooth Classic modules like the HC-05s or a HC-05 and a HC-06.There are 2 ways BLE devices can talk to each other; Broadcaster + Observer, and, Central + Peripheral. The HM-10 can use both methods.

With Broadcaster + Observer there isn’t a standard connection, the Broadcaster, usually some kind of sensor, sends out periodic signals (advertising packets) which the Observer listens for. The Broadcaster does not normally know if anything is listening or not. The Central + Peripheral scenario is more like (but not exactly the same) as the classic connection. When the Central (master) device finds a Peripheral (slave) device it wants to connect to it initiates a connection and takes on the master role managing the connection and timings.HM-10 Services and CharacteristicsBLE is all about services and characteristics and like all BLE devices, the HM-10 has a set of services and each service has a set of related characteristics. Characteristics are where the values are, some are READ, some are WRITE, and some are READ and WRITE.All the services on the HM-10 are predefined except one. This is a custom service that has one custom characteristic.

Predefined services and characteristics are ones where the UUID and the name are set by the Bluetooth governing body. For example, the characteristic 0x2A00 is the device name and when a device has this characteristic it should always be the device name.A full list of the predefined services can be found and a list of the characteristics isThe HM-10 uses the custom characteristic to send and receive the data it receives over the serial UART interface. It works by setting the value of the custom characteristic to the value of the data to be transmitted.

OK +DISCSOK +DIS0:A81B6AAE55E4OK +DISCEThe “OK+DISCE” statement shows that the scan has Ended.The results are stored in a list, the list starts at position 0, and can be used to make a connection using the “AT+CONNx” command rather than having to use the full address. The x is the index number or list position value. So, if the HM-10 only finds one module the result will be stored at index 0 and “AT+CONN0″ can be used to connect to it. When more than one module is found the addresses will be stored in the order they are discovered.After a connection is made the list is cleared. This means if you break the connection you need to use the “AT+DISC?” command again. For experimenting with AT commands using “AT+CONNx” is fine, but I suggest using the full address to make sketches more robust and easier to write.Note: AT+DISC? Will only find HM-10s that are set to Peripheral mode.

You cannot scan for modules set to Central mode.Arduino to Arduino using HM-10sConnecting 2 Arduinos using 2 HM-10s is fairly easy. It is straight forward to make a connection and once the connection is established the HM-10s UART layer does all the work for you. The UART layer does mean you have no control over the actual BLE details though.

To make a connection, all we need to do is set the main module to manual connection, set to Central mode, and then use the connection command AT+CON. Once connected the HM-10 transfers data by setting the value of a custom characteristic to the data you are sending. The receiving device then reads the value.For this example I have 2 Arduinos and each Arduino is connected to a HM-10. Both are wired up exactly the same.and if you are wondering where the second HM-10 is getting power from; the connections are round the back.I am using 2 different Arduino IDEs. Version 1.82 as the main IDE and version 1.63 as the secondary IDE. This gives me 2 serial monitors. The Arduino on COM6 is #1 and the Arduino on COM9 is #2.HM-10 to HM-10 manual connectionTo make a connection we:Set the second module to Peripheral mode (the default setting),Set the main module to manual start mode using “AT+IMME1″.Then set the main module to Central mode with “AT+ROLE1″.Then use “AT+CON” to connect.

Of course you need to know the address of the second module which can be found using “AT+DISC?”.Now we have the address of the second HM-10 we can connect using the address or the list index. Here I am using the address and so the command is “AT+CONA81B6AAE5221″. You would need to change the address to suit the modules you are using.If the connection is successful we get “OK+CONNA” and the LEDs on the HM-10s stop flashing and become steady on.Now, everything entered in one serial monitor is transmitted to the other.HM-10 to HM-10 automatic connectionThe HM-10 can automatically connect on start up without using a connection command. When there are 2 or more modules and one is in Central mode it will search and connect to another HM-10.

This is fully automatic and you have no control over which module it connects to although it would normally pick the one with the strongest signal. Of course, if there are only 2 modules it does not matter.

When you have only 2 modules, set one to Peripheral mode and the other to Central mode. They should now connect automatically. Nothing else is required.If there has been a previous connection, the device last connected to will take priority over other modules. After you have made a manual connection, break the connection (cycle the power) and when ready enter “AT+IMME0″ (this turns on auto connect). Then reset the module by either cycling the power or using the “AT+RESET” command. The modules should now auto connect even when there are addition HM-10s in range.The “AT+IMME1″ command stops the auto connect happening. Remember that you cannot use AT commands while there is an active connection (the commands are treated as data) (except “AT” which breaks a connection) so to enter AT commands you need to turn of the remote module and reset the Central one.HM-10 to HM-10: Turning an LED on and offWe now try LED remote control.

This is a very simply example, when a button switch is pressed a remote LED comes on. When the button switch is released the LED goes out.On Arduino #1 we add a button switch to D2 and on Arduino #2 we add a LED to D4.The switch on Arduino #1 is pulled down with a 10K resistor. This means pressing the button switch makes the Arduino pin go LOW to HIGH.The LED on Arduino #2 is connected inline with a 220 ohm resistor (330 ohm is also OK).The sketch on the master Arduino uses 3 AT commands to set up the Central HM-10 and start the connection. These are the same commands we used in the manual connection example above. Print ( 'AT+IMME1' );delay ( 1000 );BTserial. Print ( 'AT+ROLE1' );delay ( 1000 );BTserial. Print ( 'AT+CONA81B6AAE5221' );delay ( 1000 );This is not really the best solution but it works and it keeps the example easy to understand.

Of course, if the HM-10 is already in Central mode and in manual start mode the first 2 commands are not required. The delays allow time for the replies. You could, if you wished, check for the correct reply before moving to the next command. Change the address to suit the modules you are using.If you are using an older firmware you will need to add a “AT+RESET” command after the “AT+ROLE1″.You could do away with these commands by using the auto-connect mode.After this, the sketch checks the status of the pin connected to the button switch and if it has changed sends out 1 of 2 commands.LOW to HIGH. The button switch has been pressed so we want to turn on the LED. This is done by sending a “1” to the remote module.HIGH to LOW. The button switch has been released so we want to turn off the LED.

This is done by sending a “0” to the remote module.Note that we are sending ascii “1” and ascii “0” not the value 1 and the value 0. Sent by contact form:I’ve been following your tutorials for the HM-10 module, thanks a lot – they are great! I’m working on a project of my own, where I got communication going between a ATTiny and UNO. Smooth:DBut now I’m concerned with power consumption and want to throw the HM-10 module connected to the ATTiny in sleep mode between transmissions. The problem I’m having is tat while power is on, its connected to the UNO. While connected I’m not able to send AT commands it seems. Have you looked at this?

Do you know how I can send AT commands to a HM-10 with a active connection when I want to sleep it to save power? I somehow missed your question.You can use the RSSI value to determine proximity but be aware the value is not standard throughout different manufacturers.I am presuming you are using a HM-10 as the master device.The AT+DISA? Command returns the advertising information from found devices and includes the RSSI value. Will find non HM-10 cc2540/1based modules like the AT09 and BT05.The returned information is hex not ascii.OK+DISA – Search startOK+DISE – Search endThe AT+DISA? Command requires fw 5.47 or above.I have been meaning to add this to the above guide but have not found the time yet. Hi Martyn:Great overview of the HM-10.

Thanks for all your hard work putting it together!Some random notes:AT+DISI? When HM-10 is in central role scans for beacons in the area and returns all their info in ascii. A nice command for scanning the area.AT+ROLE1: When you are switching the HM-10 to central role, I believe that you have to do an AT+RESET command afterwards in order to make the central role take effect.AT+SCAN: As of firmware version 543, there is new scan duration command that you can use to make central role scans faster.

Cortex Command Serial Keygen Cracks

The default is three seconds, which is quite slow, so it is nice to be able to change this to 1 second now.Cheers! Hi, great tutorial and I’m moments away from purchasing a couple of these things but do you happen to know what happens to any altered pin states should the central mode device lose power/connection with the peripheral device in a remote control situation – say I remotely set a normally low pin to high on the peripheral device to turn on an LED, will the remote device then set that pin low again immediately (or at least back to its confgured pre-connection state?) if the connection drops out? Thank you, this is where it gets challenging because my peripheral device is a Hexiwear (www.hexiwear.com) wearable and each 6 digit pin it sends back is random. I have attempted to hack the hexiwear to always return the same pin and configure the HM-10 to use the same pin but there isn’t a response from the Hexiwear.It seems that there needs to be some kind of command that lets the HM-10 send a pin code to the hexiwear when it asks for one.In the raspberry pi, the command line utility that lets the central device provide the pin is bluetoothctl. I am not sure if there’s an equal in Aruduino, or have I gone beyond what a HM-10 could do.

I was having some doubts about your suggestion to add a voltage divider to the RX pin, so I did some research. Hard to find a solid answer, but I did find an interesting discussion in the Arduino forums about a similar issue with another module. PaulB suggests that using a diode might work even better than resistors (but clearly you are correct that resistors will likely get the job done).The electronics details are beyond my understanding, but just for the record, here’s a link of the discussion:I have been connecting my arduino pins directly to the HM-10 breakout RX with no bad results to date, but as someone mentioned, that doesn’t prove that what I am doing is correct!:-). The spec for the CC254x chip used in the HM-10 clearly states it is a 3.3v device.Some time ago there were similar discussions about the HC-05 and HC-06. The specs stated the chips were 3.3v but people reported using 5V without problem. Other people report problems.

I did some TTFs on 3 HC-05s by connecting the RX pin directly to 5V and then ran a a serial send in a loop. The RX pin on all the HC-05s eventually died.

Cracks And Serials

Since then I have always advocated better to be safe than sorry.There are many ways to reduce the voltage, I use resistors because I have them and they are very common. I have used diodes and also power regulators but prefer resistors.Diodes will also work, and I believe they react quicker than resistors, as long as you know the voltage drop, the 4001/4007 are usually (but not always) about 0.7v so 2 in series works (5v – 1.4v = 3.6v. 3.6 is just about OK). At least with resistors you can calculate and achieve exact voltages and resistors tend to be far more common in a hobbyist parts bin. Hello,Thanks for making this big tutorial about hm10, It is helpfull.I’m currently struggling with a functionnality I don’t succeeded in doing with HM 10; I would like to read characteristics from a distant devices throught HM10 (a mi flora).Communication diagram:ESP8266 HM10 Mi floraCommunication between ESP8266 and HM 10 is OK and working well.I would like to read the temperature/moisture, the corresponding characteristics can be found on existing python scripts working with BLE dongles or integrated BLE chips:With HM 10 I’m not able to read the data from the xiaomi miflora.

Here what I have done:-Discover the Mi flora with the AT+DISI? Command and recover the adress–OK-connect to the Mi flora adress in master mode with AT+CON –OKI get an OK+CONNA and after 3 carriage return, nothing happens afterI tried after to question characteristic but it returns only the HM 10 characteristic.I tried to put the HM 10 in slave mode but the connection to the mi flora fail.I’m using HMSoft V545Do you think it is possible to recover data from the miflora, if yes do you have some infos to give me? Just found this as by-packed with the bluetooth41en.zip which partially answers one of my questionsactually it was part of the spec sheet, and i missed itHM-10/11 CC2540/1 V5381.

Add AT+COMI command, config Minimum Link Layer connection intervalpara1 value: 0 9; Default: 3(20ms);0: 7.5ms; 1: 10ms; 2: 15ms; 3: 20ms; 4: 25ms; 5: 30ms; 6: 35ms; 7: 40ms; 8: 45ms; 9: 4000ms2. Add AT+COMA command, config Maximum Link Layer connection intervalpara1 value: 0 9; Default: 7(40ms);0: 7.5ms; 1: 10ms; 2: 15ms; 3: 20ms; 4: 25ms; 5: 30ms; 6: 35ms; 7: 40ms; 8: 45ms; 9: 4000ms3.

Add AT+COLA command, config Link Layer connection slave latencypara1 value: 0 4; Default: 0;4. Add AT+COSU command, config Link Layer connection supervision timeoutpara1 value: 0 6; Default: 6(6000ms);0: 100ms; 1: 1000ms; 2: 2000ms; 3: 3000ms; 4: 4000ms; 5: 5000ms; 6: 6000ms;5. Add AT+COUP command, switch slave role update connection parameterpara1 value 0, 1; Default: 1(Update on);0: Update off; 1: Update on. For what its worth, I’d like to add a few observations which others may appreciate.I’ve been working with a couple of Chinese clones (I’d like to call imitations).They are sold as HM-10’s but we all know the story about this by now.In the terminal, I extracted the firmware versions to be Bolutek- VER 3.0.6Both my LG G5 and an older Samsung G4 would see the BLE, but were refused connections via bluetooth on the phones.And so I upgraded the firmware to ver. 540, and bingo!both phones can now connect.Going further, I tried upgrading the firmware as Martyn suggestsThe upgrades went well, however EVERY other version of firmware beyond 5.4 would not allow my phones to connect.And so, I went back to pins 7,8,and 11 via the arduino nano on the cmd prompt to downgrade back to 5.4All AT commands work and a connection can be made by both phones.Kudo’s to Martyn for an outstanding site and such well documented info on these little wonders.I’m anxiously waiting for the control panel app to be BLE compliantThat will indeed be the cats miou!Cheers,Perry. Hey Martyn!Thanks a lot for all the information on this post.

Really helped!One quick question:Is there any advantage on having the second write-only characteristic activated? For example, can you achieve a higher-speed or more robust data transfer?I’m sending packets of 100 bytes from my phone and some times it looks like HM-10 cannot keep pace (does not send the ACK message, at least I don’t see it from the app), so I was wondering if splitting the write and read in different services would help mitigate that.Thanks in advance!Cheers,Eric. Thanks Martyn! It had occurred to me that using the HMsensor configuration might make it easier I will flash the HMsensor firmware to the HM11 to see the difference.

It is not the battery level that I want to transmit, simply a variable voltage on the input pin (it seems only PIO3 can be set up for this on the HM11). Perhaps it is my lack of knowledge of how to read the sensed pin data from the transmitted characteristic, but I can’t seem to read a varying voltage input to the HM11 using any of the iOS apps (HM10Control, Bluetooth Serial Pro, Liteblue, BLE Scanner etc.). Hi Martyl, I have been reading the comments here and think this comment best suited my question. I am wanting to advertise the Battery level in the response data.

So that I can run AT+DISA? And then view MAC, RSSI, UUID and Battery level.

I can’t seem to get this working.I have set AT+BATC1, to allow BATT advertising in the response data, but yet it is not visiable via AT+DISA?Could you maybe point me in the right direction so that I can advertise the BATT info in the response data of AT+DISA?Any help would be appreciated. Has anyone had any luck connecting to these things on Android 8.1?I have a CC41-A clone, and my Pixel 2 nor my wife’s Pixel 1 (both on 8.1) won’t even find them in BLE scanning apps. I have been able to issue AT commands over the serial interface successfully via an Arduino, but no matter what I just can’t see it in Android. I’ve tried AT reset, changing the name, etc, but with no luck.I thought I may have a dud unit with a bad aerial or something, but I fired up my RPi 3 and can actually see it when I scan with hcitool there.

So it seems to be late version Android specific perhaps?There seems to be a tiny bit of discussion around this online, but I can’t find anything particularly useful – egAt this point I’m thinking I’ll just use an HC-05 or something and ditch BLE for my application, but it’s a bit of a pain as I’ll need to wait for more parts to arrive. This is a great writeup, thanks a lot. I have one question left though.

Is there a way for the bluetooth module to scan for smartphones it has been paired to before and auto connect to them the same way a bluetooth headset does? Somehow nobody was able to achieve it as far as my research shows.I do not need to communicate with the smartphone, just connect to them automatically as an authentication process for a switch I want to trigger afterwards. Is there a way without using an android app for that? This is not something I have done with 2 modules but not with a smartphone but I have some thoughts.The phone, by default, is the master device. This means it is the phone that scans for the BT modules and connects when it finds a BT module it has previously been paired with.

For the BT module to be the master device would require additional software on the phone.Headsets use the HID profile which has different connection methods (such as auto connect) and I am not sure auto connect works with the HM-10. I haven’t tried though. Great tutorial. I am using the HM-11 for a project and having terrible luck getting it working.

The firmware on the HM-11 is V546.I am trying to scan for BLE peripherals and iBeacons nearby but I am only able to find my devices if they are within about 1 foot. Once I move the device farther from that the HM-11 is unable to find it. I am using other HM-11’s and some nRF51822 boards for the peripherals/iBeacons.To scan for peripherals:AT+ROLE1 //set as masterAT+IMME1 //wait for commands after resetAT+RESET //resetAT+DISC? //start discoveringTo scan for iBeacons:AT+ROLE1 //set as masterAT+IMME1 //wait for commands after resetAT+RESET //resetAT+DISI? //start discoveringI have my power set at 6dbm (AT+POWE3) on the HM-11 central.

I am using a 100ms advertising interval for the peripherals/iBeacons. I am still unable to find my peripheral/iBeacons further than about 1 foot away which is quite a problem. I am pretty sure that my hardware is good because I have tried it on multiple HM-11’s which I bought from Digikey.Has anyone experienced this? Any help would be greatly appreciated. Comment from Alex:Thank you for your most informative posts, I have found them really useful and clear in my Arduino dabbling!I am interested in trying to connect a DS18b 20 to pin 34 (?) of the HM10 and henceforth being able to include the temperature information in the advertising data, to be read by another HM10, connected to an Arduino (Mega).Looking at your posts, it seems you know how this could be made to work, yet I haven’t seen exactly how to do this. Please could you point me in the right direction?I was sort of assuming that one would use AT commands to instruct the HM10 to read the one wire data from the DS18b 20 on pin 34, then attach that data to the advertising data, but can this be done once, or does this AT command have to be sent to the remote HM10 every time you want the temp data?I would be most grateful for any assistance you could provide.Kind RegardsAlex. Hi, thanks very much for this page as it has been incredibly useful, although i have managed to get a few knock-off ‘HM-10s’ and have got two working and connecting.

I have also managed to unknowingly purchase two MLT-BT05 chips, which look very similar to the HM-10s. I have ran your code and can get the serial monitor to display text i send through my phone to the MLT-BT05 however i can’t get the AT commands to work.Using the normal AT commands there is no response though after playing about with it I’ve noticed it will respond to “ATAT” with OK (this will not break an active connection) and other doubled up commands such as “AT+HELP?AT+HELP?” wit ERR.As far as i’m aware i have it set up correctly with 9600 BAUD and Both NL & CR (as the MLT-BT05 requires). Have you seen anything like this before or can you offer any advice. Any help is much appreciated.Cheers Ciaran. Great post, Thanks.I have been using hm-10 modules with firmware v540 for a long time with no problem. Recently I bought some modules with firmware v604 and all seem not to be able to wake through uart. Meaning, when I send a long text the module used to respond ok+wake and then I was able to send other at commands.

Now the long text does not seem to return anything and the module stays in sleep mode. I downgraded to firmware v540 successfully but then the module was not discoverable in role0 and did not discover any other devices in role1.Have you noticed this behaviour? Do you have any idea how to resolve this? I saw in a comment above that there is a 605 firmware.

Where can I find this? I did not see it in Jinan Huamao website.Thanks a lot! I think there are a couple of ways to get the RSSI value.1. Use AT+SHOW2 or AT+SHOW3 before the AT+DISC commandIf AT+SHOW1 is setup, you will receive then Name information as followRecv: OK+NAME: xxxAfter send Name value, will send two extra “rn” value ASCII byteIf AT+SHOW2 is setup, you will receive then RSSI information as followRecv: OK+RSSI: xxxrnIf AT+SHOW3 is setup, you will receive then RSSI information and Name informationRecv: OK+DISP0:23Recv: OK+NAME: xxx2. Use OK+DISCP0:P1:P2:P3:P4P0: Device MAC (6Byte)P1: Device Type(1Byte)P2: Device RSSI(1Byte)P3: Rest Data Length(1Byte)P4: Rest Data3. Use AT+RSSIThis only works when there is a connection.

Hey man!First off, thanks for writing up such a detailed article! It really helped me out connecting my two HM-10 modules to the uno and nano that I’m currently using.But I am having a slight problem with using one that has a button and sending a “1” to the other to light up an LEDSo far on both serial monitors are reading correctly, from the Master is sending a “1” and the slave is receiving the appropriate value. But for whatever reason, the LED isn’t lighting up when it gets the “1”For sanity sake, I double checked everything with the “Button” basic sketch that’s on the IDE and it works.Got any idea of what could be wrong?

Martyn,Thank you for such a wonderful introduction to HM-10 hardware.One question regarding the suitability of the HM-10 for my first project:I have an old salvaged instrument which collects data (temperature) and transmits via 1wire (Tx) and ground. The instrument is “dumb” and just spits out all of the collected data whenever a button is pressed.

The output rate is fixed at 19,200. It does not accept any commands via an Rx signal.I’ve read that the default factory baud rate is set at 9600, but it can be changed via AT+ commands via the serial port. QUESTION: Once the HM-10 baud rate has been changed – will it “remember” the new baud rate after the power is removed from the HW-10?Thank you for your efforts. Hello,Thank you for this document, it is of a great help for the understanding of Bluetooth LE.I need to connect a heart rate sensor (Polar OH1) to a Windows 10 PC. I tried the Universal Windows Platform (UWP) without success (problem of version, difficult connection,.).

On the other hand, the OH1 sensor works very well with an Android Smartphone (BLE scanner application).I am wondering about the possible operation of the OH1 sensor with an HM-10 module in master mode.In order for the OH1 sensor to send the heart rate value it must first be connected, then send 0x01 to the “Client Characteristic Configuration descriptor” according to the developer documentation:How to do with the OH1 module?Thank you for your reply. I had some issues getting the HM-10 fully working with other modules. It was fairly straight forward for the other module to read data from the HM-10 but not the other way around. Admittedly I didn’t put a lot of effort in to this. I believe (not sure) that is was an issue with notifications. At the time I was playing with other modules so it was easier for me to simply not use the HM-10.I have found Jinan responsive to emails so it would be worth while contacting them. If you do, please let me know how yo get on.

This is a great tutorial, thank you!A word of advice to people who can not follow instructions:): I tried to use 12k and 22k resistors to create the voltage divider. This does not work (although it worked with an HC05 and an AT09). On a genuine HM10, using 12k and 22k results in the RX pin staying at a higher voltage (3.35V) than what the divider provides (2.9V). I am guessing there is a pull up resistor, and with 10k+ resistors when the arduino TX pin goes LOW, the voltage on the HM10’s RX pin does not go low enough to reister as LOW.After switching to 1.2k and 2.2k (trying my best to follow instruction with what I have at hand;) ) the module works as expected. Hi Martyn, I had purchased ten HM-10 BLE modules which all have the same MAC address.

I thought the MAC address had to be unique. Is there anyway to change the MAC address?

Have you had any experience with modules having the same MAC, being on at the same time with multiple phones trying to connect and communicate at the same time? I had two modules with two Lenovo tablets running BT Serial Terminal and each connected to a module but when one disconnected, there was a GATT error when trying to connect. Then both tablets would not see the modules anymore when scanning. It killed both tablets and they needed to be rebooted.

Hi Martyn,Thanks for your fantastic article.I have been using the HC05 to communicate with the Arduino Mega from an Android phone, but now have swapped over to the HM10.Currently I have HM10 TX to Ard RX and vice versa, but no voltage divider and I find that the BLE scanner I am using ‘LightBlue’ can see all the data that the Arduino is generating. However, I would also like to be able to load new sketches to the Arduino over the air, using my PC’s bluetooth dongle. At the moment I don’t seem to be able to see any output to the serial monitor using the bluetooth COM port! When I successfully managed this with the HC06, I had to use the state pin with a 1uF capacitor to the reset pin on the Arduino to force a reset so that I could load a sketch over the air – could I use the state pin on the HM10 the same way? Or perhaps I have to use the programmeable pins? If you have any pointers on any of these issues, I would be most grateful, many thanks.

Hi MartynYou pages have been invaluable to me, but I have a problem I am unable to resolve. I have two CC2541 modules. I have flashed them with genuine HM-10 firmware and then updated the firmware to the latest version, V701.I have one as a Master and one as a peripheral. A discovery from the Master finds the peripheral. When connecting, using, for example, AT+CONN0, works fine.Using the mac address, for example, AT+CONAB fails.I get OK+CONNA, and then OK+CONNF.

I have confirmed that the address in the discovery matches the address reported by the peripheral. Any ideas?Thanks, Tony. Hi Martin,My thanks too for your tutorial. This is what makes internet such a great place!I have a ‘fake’ HM-10 as the middle module in this picture:I successfully flashed the HM-10 firmware CC2541hm10v540.bin and it now advertises as HMSoft V540. Attached it to an Arduno Uno with voltage divider and most AT commands work.

My smartphone (Wileyfox 2+ with LineageOS 14) detects the module and pairs with it.However, I can’t make the module detect my smartphone or other bluetooth devices. I faithfully executedAT+ROLE1AT+IMME1AT+RESETAT+ DISC?which returnsOK+DISCSOK+DISCE(same goes for variants as AT+INQ etc)and now I am stuck. Hey guysThank you Martyn for such an amazing resource you have here:)I just found out a potential valuable information in case you want to use the ADC in the HM-10. I tried to read voltage values coming from a potentiometer powered at 3.3v and it was all fine.But then I tried to read voltage values coming from a capacitive moisture sensor, such as the DFRobot one, and all that AT+ADCB?

Read was a big 0.It turns out that you NEED to condition the signal, with a proper opAmp configured as a voltage follower, for instance. Otherwise, you would always read 0v. It seems that HM-10 does not have its ADC buffered for you to use it out-of-the-box.You can measure the signal voltage coming from the sensor with your multimeter and the values you read will make sense. But connected to the ADC is a different story.When connected to the HM-10 the measured voltage from the moisture sensor was between 180mV (wet) and 300mV (dry). Our beloved HM-10 reads all those voltage values as 0.If you power your prototype with as little as 3v or 5v you will need a proper rail-to-rail opAmp. LM358 for example won’t make it.

I got a TLV2462 from adafruit and bingo! Configured as a buffer, now AT+ADCB? Returns meaningful values.Cheers. Forgot to thank Martyn for brilliant work he’s been on hm-10 subject as whole. A year ago I had no clue of possibilites which modern technology offers. Now I’m finalizing a little project that basicly allows me to control my home appliances via my mobile phone, thaks to Martyn and Danila Loginov’s great article on software side.For the Quote: I’ve been looking on this subject, since one of the main reasons for selecting the HM-10 over older HC-boards was an illusion of improved security along with new technology.

What I’ve found so far, seems that it’s up to manufacturer (jnhuamao in this case) to decide if encryption is really there and how securely it has been configured. Quite much the only way for the end-user of hm-10’s to affect security is setting pin-code and bonding devices in a secure location where’s no risk off eavesdropping nor MITM-attack.Communication with no pin-code set is quite easy to decrypt. Same thing if somebody is listening traffic during the pairing process. If these precautions have not been taken, device is as good as with no encyption at all.My process is at this stage for now, since I haven’t yet been able to connect device with pin-code set, so I’ll have to dig on that first (update firmware & test different combinations of devices).To make good and reliable estimate of security ble 4.0 offers, quite much only way is to think like a hacker and sniff the traffic by yourself. There’s dozens of links on the net how to do this with basic arduino electronics, so I won’t deeper on this subject – for now. After I get back to my lab I can share some data and better guess if hm-10 has any (meaningful) level of encryption applied.Securitywise, I would assume that moving to BLE 4.2/5 -devices would be best option with less effort.

Hello Martyn.first, than you for all this information. Great work.i have just one question. I followed your guide and everything work fine.My hm-10 as a slave is connected to my arduino and i use my iphone to connect to my hm-10.Before connecting, AT command works fine on my arduino serial terminal. But when i connect my iphone, AT command dont work anymore. Like your said, when a connection is established, the AT command on my arduino should disconnect the BT module. But the command is send to the terminal on my iphone as text.

But AT command send by my iphone work. Why the command AT dont cut the connection send by arduino directly to the slave module attach to it? Thanhs for any help.Martin Boucher.

Thanks for the very helpful page! I thought I would list a couple of issues and work arounds I had when working with hm-10 or variants.The main issue was that I understood that I needed to manually pair the ble module in android before I could connect to it in an app. I found that I do not need to pair when TYPE is set to 0 (not need pin code). The other issue I had was that I was not aware that most of the bluetooth terminal apps on android do not support ble and would fail to connect. I think that most users who use the Hm-10 or alternative parts come from using hc-05/06 devices which are used very differently to properly pair and connect to.Also I got a response for huamo about who they recommend for supplier. They suggest using:supplier: szhenghongtong on alibaba.Thanks again!