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

Some GPIO pins show HIGH et al.

I just assembled my first nRF51822 board and I was able to program it using an IDAP-LINK and a blinky program compiled with the Eclipse/GCC toolchain flashed via SWDIO/SWDCLK. All good.

I noticed however, that the SWDIO and Pin 11 were both at 3V3 for no apparent reason I can detect. Is it expected that these or any other GPIO pins will show HIGH for no apparent reason?

Also, I soldered the nRF51822 chip to the thermal pad. I don't do this for the nRF24L01+, but i can't find anywhere the "proper" way to mount the nRF51822 wrt the thermal pad. Is soldering it recommended?

Lastly, will there ever be an Arduino IDE available for the nRF51/2 chips?

Thanks!

Thanks.

Parents
  • Thanks for the answers!

    I meant P0.11. For some reason this pin is also HIGH on my board. I noticed on another nRF51822 module I bought that RX was also HIGH. Maybe pin P0.11 defaults to RX? I don't really understand this.

    There are some ARM-based microcontrollers that have ported libraries such that an Arduino IDE can be used to program them. Most famously is the Teensy and RedBearLabs has a similar Arduino IDE for programming the nRF51822 nano board. Intel's Edison (an X86 "micrcontroller") also has an Arduino IDE that can be used for programming it in addition to the more traditional tool chain approach. I am simply asking if Nordic (or anyone else) has a plan to make the nRF5X SoCs programmable via an Arduino-like IDE?

    I'll try RedBear Labs Arduino IDE on my board to see if I can use it. I know the standard approach is to use mbed or a tool chain like Keil or Eclipse; I am using them, or trying to learn to use them. But the Arduino IDE is very easy to use and I already have dozens of Arduino C++ "sketches" that I wrote to control sensors and motors that I would like to be able to use without having to completely rewrite everything. At least this would be the benefit of an Arduino-like IDE to me and I suspect many others.

Reply
  • Thanks for the answers!

    I meant P0.11. For some reason this pin is also HIGH on my board. I noticed on another nRF51822 module I bought that RX was also HIGH. Maybe pin P0.11 defaults to RX? I don't really understand this.

    There are some ARM-based microcontrollers that have ported libraries such that an Arduino IDE can be used to program them. Most famously is the Teensy and RedBearLabs has a similar Arduino IDE for programming the nRF51822 nano board. Intel's Edison (an X86 "micrcontroller") also has an Arduino IDE that can be used for programming it in addition to the more traditional tool chain approach. I am simply asking if Nordic (or anyone else) has a plan to make the nRF5X SoCs programmable via an Arduino-like IDE?

    I'll try RedBear Labs Arduino IDE on my board to see if I can use it. I know the standard approach is to use mbed or a tool chain like Keil or Eclipse; I am using them, or trying to learn to use them. But the Arduino IDE is very easy to use and I already have dozens of Arduino C++ "sketches" that I wrote to control sensors and motors that I would like to be able to use without having to completely rewrite everything. At least this would be the benefit of an Arduino-like IDE to me and I suspect many others.

Children
  • @onehorse: Please put your comment in the comment box, instead of creating an answer ( you can split your comment to two if it's too long.

    Could you let me know what you meant by RX?

    Could you try to set the P0.11 to output and set to low to check if it get low ? This is to check if it's hardware connected to a pull up.

    Regarding the boards from 3rd party vendors, thanks for letting me know. I actually didn't know that they have integrated nRF51 in to Arduino IDE as a add-on. On the Redbearlab's board there is a FreeScale chip that does the programming on SWD interface. But I am not sure how much sketches you can reuse to program on the nRF51 board. I guess Redbearlab guys should know about this better than me. And I don't think we going to provide an official add-on for Arduino from Nordic in a near future.

  • Hi Hung Boi,

    Sorry about the breach in protocol; I'm new here!

    I think P0.11 is by default RX so it should be at 3V3, so everything seems to be right with my first nRF51822 assembly.

    Now the hard part is learning how to program it. I will likely use mbed and a Segger J-Link. But I just received my RedBearLab Nano board and will try their Arduino IDE, and I also have an IDAP-LINK but I have not been able to get mbed to work with it. Lastly, I tried to install Eclipse and ARM GCC but can't understand what I am doing well enough to make it work. I always seem to get to a step in the tutorial that doesn't work for me. In particular, when I looked at the embsysreg target set, there was no Nordic listed as a vendor for the Cortex M0 board. Maybe it will all make sense in the end but i find just installing Eclipse quite confusing.

  • @onehorse: I don't think you would need any programmer. I'm not very familiar with the Redbearlab kit but according to this tutorial, you just have to plug it in the USB port and it will appear as mbed device. You can drag and drop a hex into it to program. You can also use the Arduino IDE to program it via UART.

  • I received the RedBearLab nRF51822 BLE Nano today and was easily able to blink the on-board led using mbed as you say. The nano mounts on an MK20 programmer that plugs into the pc via a USB connector. I'm happy to report I was also able to use the MK20 programmer to upload an mbed hex file to my custom board. My nRF51822 is now polling an MPU9250 9 DoF motion sensor via I2C, performing sensor fusion on the scaled data at 400 Hz, and reporting quaternions and Euler angles through an FTDI link to Serial on my laptop every second. Next step is to use the BLE engine to replace the Serial wire. Looks like this method works well and is a whole lot easier to use than the traditional tool chains (at least for me).

  • @onehorse: I'm glad that it's not working for you. Hope you will have great time developing with the nRF51. Note that you can also use our SDK example for your mbed board. Follow this blog. (Keil evalution version is free)

    I would suggest we close the case here ( please lick accept answer). If you have further question, please create a new case.

Related