Getting a BTLE board to do something

For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
Plantguy65
 
Posts: 9
Joined: Mon Sep 21, 2020 3:15 pm

Getting a BTLE board to do something

Post by Plantguy65 »

I built a very successful audio processing project on a itsybitsy M4. Now I want to use bluetooth to connect the project with my phone.
I have purchased a couple of bluetooth boards to start learning with. nRF52832 Bluefruit Feather and a itsybitsy nRF52840.
I wanted to start with a simple working example then branch out.
I have had no luck. I have tried following all the instructions, several simple projects.
Most of the examples I've tried won't compile. The few that do won't download.
I am using Arduino 1.8.16 ide
Windows 10.

The screen shots in the instructions don't look the same as mine. Especially when it comes to the bootloader and programmer. I am particularly nervous about downloading and installing a programmer so I can burn a new bootloader. I seem to have an ability to brick processors.

Can someone suggest an example that will actually work? Or point me to some directions that I can follow?
I am clearly missing something. Getting the original M0 and M4 boards to work was a minor pain, but nothing like this.
I'd be happy to buy a different Bluetooth board if there was a version that was easier to work with.

I included the output from one attempt to compile.

Code: Select all

Arduino: 1.8.16 (Windows 10), Board: "Adafruit Feather nRF52832, S132 6.1.1, Level 0 (Release)"

In file included from C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/Adafruit_BLE.h:42,          from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\packetParser.cpp:8:

C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/utility/common_header.h:74:20: error: redefinition of 'bool is_within(uint32_t, uint32_t, uint32_t)'

   74 | static inline bool is_within(uint32_t lower, uint32_t value, uint32_t upper)

      |                    ^~~~~~~~~

In file included from C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/rtos.h:45,

                 from C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/Arduino.h:48,

                 from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\packetParser.cpp:2:

C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/common_func.h:317:20: note: 'bool is_within(uint32_t, uint32_t, uint32_t)' previously defined here

  317 | static inline bool is_within(uint32_t lower, uint32_t value, uint32_t upper)

      |                    ^~~~~~~~~

In file included from C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/Adafruit_BLE.h:43,

                 from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\packetParser.cpp:8:

C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/utility/errors.h:112:53: error: 'ERROR_NONE' conflicts with a previous declaration

  112 |     ERROR_NONE                                    = 0x0000,   ///< Successful command

      |                                                     ^~~~~~

In file included from C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/Adafruit_BLE.h:42,

                 from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\feather_bluefruit_neopixel_animation_controller.ino:22:

C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/utility/common_header.h:74:20: error: redefinition of 'bool is_within(uint32_t, uint32_t, uint32_t)'

   74 | static inline bool is_within(uint32_t lower, uint32_t value, uint32_t upper)

      |                    ^~~~~~~~~

In file included from C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/Arduino.h:26,

                 from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\packetParser.cpp:2:

C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/wiring_constants.h:75:3: note: previous declaration '<unnamed enum> ERROR_NONE'

   75 |   ERROR_NONE = 0

      |   ^~~~~~~~~~

In file included from C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/Adafruit_BLE.h:43,

                 from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\packetParser.cpp:8:

C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/utility/errors.h:196:3: error: conflicting declaration 'typedef enum err_t err_t'

  196 | } err_t;

      |   ^~~~~

In file included from C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/Arduino.h:26,

                 from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\packetParser.cpp:2:

C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/wiring_constants.h:71:18: note: previous declaration as 'typedef uint32_t err_t'

   71 | typedef uint32_t err_t;

      |                  ^~~~~

In file included from C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/rtos.h:45,

                 from C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/Arduino.h:48,

                 from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\feather_bluefruit_neopixel_animation_controller.ino:16:

C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/common_func.h:317:20: note: 'bool is_within(uint32_t, uint32_t, uint32_t)' previously defined here

  317 | static inline bool is_within(uint32_t lower, uint32_t value, uint32_t upper)

      |                    ^~~~~~~~~

In file included from C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/Adafruit_BLE.h:43,

                 from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\feather_bluefruit_neopixel_animation_controller.ino:22:

C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/utility/errors.h:112:53: error: 'ERROR_NONE' conflicts with a previous declaration

  112 |     ERROR_NONE                                    = 0x0000,   ///< Successful command

      |                                                     ^~~~~~

In file included from C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/Arduino.h:26,

                 from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\feather_bluefruit_neopixel_animation_controller.ino:16:

C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/wiring_constants.h:75:3: note: previous declaration '<unnamed enum> ERROR_NONE'

   75 |   ERROR_NONE = 0

      |   ^~~~~~~~~~

In file included from C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/Adafruit_BLE.h:43,

                 from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\feather_bluefruit_neopixel_animation_controller.ino:22:

C:\Users\Fred\Documents\Arduino\libraries\Adafruit_BluefruitLE_nRF51/utility/errors.h:196:3: error: conflicting declaration 'typedef enum err_t err_t'

  196 | } err_t;

      |   ^~~~~

In file included from C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/Arduino.h:26,

                 from C:\Users\Fred\Documents\Arduino\feather_bluefruit_neopixel_animation_controller\feather_bluefruit_neopixel_animation_controller.ino:16:

C:\Users\Fred\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52\1.1.0\cores\nRF5/wiring_constants.h:71:18: note: previous declaration as 'typedef uint32_t err_t'

   71 | typedef uint32_t err_t;

      |                  ^~~~~

exit status 1

Error compiling for board Adafruit Feather nRF52832.



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Getting a BTLE board to do something

Post by mikeysklar »

You can update the bootloader from with in the Arduino IDE. In most cases the worst that happens is you need to purchase a $20 jlink to unbrick it which is unlikely to happen.

https://learn.adafruit.com/bluefruit-nr ... bootloader
https://www.adafruit.com/product/3571

The compile error you provided looks like you are using an nRF51 library with a nRF52832 chip.

Have you tried compiling some of the examples in this guide?

https://learn.adafruit.com/bluefruit-nr ... e/examples

Locked
Please be positive and constructive with your questions and comments.

Return to “Wireless: WiFi and Bluetooth”