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

  • 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!

  • Hi

    We're always working on updating our blog posts, and also working on new ones. Unfortunately we've not gotten around to this specific blog post yet, but it's on the list.

    The MDK (microcontroller development kit) is needed to interact with Nordic Semiconductor's SoCs and SIPs from a third party IDE, and needs to be added manually for IAR  for example. In Keil, the MDK is installed via the pack installer. In SEGGER Embedded Studios and most other IDEs, there is no need, as the projects just points to the MDK files within the SDK distribution.

    The GPIOs should be added to a custom_board.h board file, normally located in the <SDK_FOLDER>\components\boards path of your SDK. What error exactly are you running into when trying to build your nRF52805 project?

    Best regards,

    Simon

  • 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.

  • And there was no button to reply to your message until I replied to mine, so my reply to you is above your message. AAAARGH!

Related