This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Can I use an nRF52805 module like BC805M for a HID device? How?

Dear Sir/Madam,

While I did take a course in Bluetooth I am still a beginner.

I know some boards have HID "support" (RN42 for example) I find it hard to believe that it's not something that can be added to any module.

If so, what is the minimal/simplest path to use a BC805M  for sending Mouse/Keyboard commands from the UART/GPIO to a Bluetooth-connected phone or computer?

I mean what IDE do I need to use, programming pod, library, maybe example code.  Maybe evaluation board, although I believe I can connect the module myself to the rest of my device.

If the nRF52805/BC805M is not right for me (I need smallest, cheapest MODULE, not chip), can you please recommend another, again with IDE to use, etc.

Thanks and best,

Cat

Parents
  • Hi again

    I'm sorry that you're frustrated. SDK v17.0.0 was removed from our pages as there were some bugs that were necessary to fix. From the SDK v17.0.2 release notes

    This SDK release is a bug fix release replacing nRF5 SDK v17.0.0.
    This version contains the latest MDK (v8.35.0) with a bug fix that properly handles errata
    on future devices with unknown HW ID.
    If you are using v17.0.0 for development, it is strongly recommended to switch to v17.0.2.

    There shouldn't be any difference using newer SDK versions for nRF52805 development either, as long as you make sure you use MDK v8.35.0 or newer.

    Best regards,

    Simon

Reply
  • Hi again

    I'm sorry that you're frustrated. SDK v17.0.0 was removed from our pages as there were some bugs that were necessary to fix. From the SDK v17.0.2 release notes

    This SDK release is a bug fix release replacing nRF5 SDK v17.0.0.
    This version contains the latest MDK (v8.35.0) with a bug fix that properly handles errata
    on future devices with unknown HW ID.
    If you are using v17.0.0 for development, it is strongly recommended to switch to v17.0.2.

    There shouldn't be any difference using newer SDK versions for nRF52805 development either, as long as you make sure you use MDK v8.35.0 or newer.

    Best regards,

    Simon

Children
  • I didn't think you removed it without a good reason.

    But you should have updated pages that refer to it.

    There are pretty big differences.

    You or somebody should try it.

    Where does the MDK version come in?  Is it another thing I need to worry about? SDK, MDK, what else?

    I should just have to download one thing.  Atmel did things right. Why can't you?

  • That article also says to "Remap GPIOs used in your project to pins available on the nRF52805 wlCSP" but it doesn't say in what files?  There's many files in which this could need to be done; would it be hard to say where? Also, you should have made it easy. 

    It also seems BSP_SIMPLE may have something to do with it but I could find no explanation of it; just what I glean from code; #ifdef stuff.

    So the code should build if I define it.

    But IT DOESN'T!

  • I did make my own BC805M.h as a custom board file; it pretends there are 2 LEDs and 4 buttons.

    There are NO real LEDs or buttons. 

    If I understand correctly the board should start advertising without any buttols pushed and it shouldn't know it has no LEDs.

    That's what doesn't work: I load/Run the code on it and it does not appear in the list of Bluetooth devices my phone/laptop can connect to. It does NOT advertise.

    #ifndef BC805M_H
    #define BC805M_H
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    #include "nrf_gpio.h"
    
    #define LEDS_NUMBER    2
    
    #define LED_START      12
    #define LED_1          16
    #define LED_2          18
    #define LED_STOP       20
    
    #define LEDS_ACTIVE_STATE 0
    
    #define LEDS_INV_MASK  LEDS_MASK
    
    #define LEDS_LIST { LED_1, LED_2}
    
    #define BSP_LED_0      LED_1
    #define BSP_LED_1      LED_2
    
    #define BUTTONS_NUMBER 4
    
    #define BUTTON_START   0
    #define BUTTON_1       1
    #define BUTTON_2       4
    #define BUTTON_3       5
    #define BUTTON_4       14
    #define BUTTON_STOP    16
    #define BUTTON_PULL    NRF_GPIO_PIN_PULLUP
    
    #define BUTTONS_ACTIVE_STATE 0
    
    #define BUTTONS_LIST { BUTTON_1, BUTTON_2, BUTTON_3, BUTTON_4 }
    
    #define BSP_BUTTON_0   BUTTON_1
    #define BSP_BUTTON_1   BUTTON_2
    #define BSP_BUTTON_2   BUTTON_3
    #define BSP_BUTTON_3   BUTTON_4
    
    #ifdef __cplusplus
    }
    #endif
    
    #endif // BC805M_H
    

  • I don't know what LED_START and LED_STOP mean; your code is REALLY CRAPPILY COMMENTED!

    No descriptions of anything.

Related