How to start a beginner with a Nordic nRF52810 bluetooth 5.0 module - bluetooth-lowenergy

I need to use an STM32F4 MCU with Laird BL651 Bluetooth 5.0 module.
As I realized this module is not the regular simple AT Command module, but rather a Cortex-M microcontroller (Nordic nRF52810) with BT Stack. I have a 1.5 year experience with STM32 and the Cube firmware package, but have no experience either Bluetooth 5.0 nor Nordic products. So my question is basically, how to start the developement. I have found Nordic SDK but I am clueless, what information I will need hierinafter and where can I found sample codes.
Looking forward for the replies.
Thanks
Samu

As with most embedded development, your first step is to get any simple (prewritten) example to work, and then after that start either tailoring that example to your use case or creating a new one from scratch. For the BL651 you'll need to read up a bit on the Nordic SDK as well as Bluetooth Low Energy in general. Below are some useful references that will help you get started:-
Bluetooth Low Energy References
Bluetooth Low Energy: A Primer
Getting Started with Bluetooth Low Energy
Introduction to BLE
Nordic Development References
nRF5 Getting Started
nRF5 Series: Developing with SEGGER Embedded Studio
Introduction to Nordic SDK v16.0.0
I hope this helps.

Related

Using Arduino Uno for my hardware AI assistant Project

I would like to know if I can use a Arduino Uno R3 for my Project.
Project Details: An AI assitant in an embedded system.
The AI is already written in Python
I tried to get a Raspberry Pi 0 but it is quite scarce in my location.I will like to know if there is a way for me to embed my python code on my Arduino UNO R3,SD card module and speaker
No, there's no way that will all fit into an Arduino Uno (or any AVR-based Arduino). They all have not enough RAM. And there's (as far as I know) no python interpreter for the uno as well, for the same reason. You could try an ESP32 instead. Much more RAM, much more powerful CPU, micropython support (and typically even cheaper).

unable to use GPIO, UART, SPI etc in Freertos in Intel Galieo Gen 2

I am newbie in Freertos. I have just started working on Freertos, so forgive me if my question is silly. I have got Intel Galileo Gen 2 board, in which I successfully run a demo application of Freertos. Link for the tutorial is here.
Now I tried to make my own application. For this I study some Freertos tutorials. Link for the tutorial is here.. After reading this tutorial I have learned basics of Freertos but I can't figure out how to use use GPIO, UART, SPI etc of my board. There is nothing available on internet regarding my problem. Is there any library available which I can use for my GPIO, UART, SPI etc in Freertos in Intel Galelio Gen2 or there any other approach to use GPIO, UART, SPI etc?

Altera Arria V latest software for OpenCL

I recently bought a new Altera Arria V board 1. I am planning to use it to design a certain application using OpenCL.
Unfortunately, I didn't find so far the required software to get it work. I mean by that the Altera RTE for OpenCL and the required driver (aclsoc_drv.ko).
I would be grateful if you could help me how I can find the latest software!
Thank you all
You need to read the manual about how to install and what you need to install which you should be able to find here: Arria V SoC Development Kit and SoC Embedded Design Suite
OpenCL runtime environment and SDK you can find here: Altera SDK for OpenCL
Also Altera OpenCL guides will be helpful.
If I understand to your problem correctly, you are missing the required BSP and the base design to support OpenCL development for your Arria V board.
For this problem, please check with the board vendor (customer support) for the availability of the two items.
To be able to develop under Altera OpenCL framework, you need to load a basic design file on to the flash ROM / configuration device on the board. This is to provide some necessary IP support for the basic PCIe and memory access. It is usually provided with the BSP from the board vendor.
Along with the basic design file, drivers should be included as well for your host to recognise the OpenCL device.
Until you sort out the above missing parts, your OpenCL development environment should be up and running. Good luck!

Kinect + OpenCV + QtCreator

this is just kind of a broad question to get some starting points.
I am looking to purchase a Microsoft Kinect for the purposes of doing some programming with it.
I prefer programming in C++, and have typically made interfaces using QtCreator as opposed to VS. I see that there are a couple of Kinect's to buy - the normal gaming device, and "Kinect for Windows" which includes the SDK, it seems? Do i really need that, or can I buy the cheaper Kinect gaming device? I see that there is an openkinect project out there - I assume that is the FOSS equivalent of the "for Windows" version? I think I read somewhere the MS SDK is only going to work in Visual Studio (which I have), but if its that much better, I guess I could switch to VS for these projects.
Secondly, I am interested in doing some motion capture / 3d model projection onto the 3d objects I capture. Do I definitely need a depth camera to do this type of thing? (As in - map a "monster" to a human who's moving around in the scene). This is where I thought OpenCV might come in handy - and I am especially interested in OpenCV because of its GPU-enabled features.
Thanks for the discussion (in advance)
I am working on the kinect device for reaserch projects so I think I can anwser to some of your questions...
Some Open SDK to use with kinect :
If you like QT, you will like the : QT Kinect Widget. I never test this widget.
OpenNI : OpenNI. That is the official driver of the sensors like Kinect or Asus XTion pro (also called the RGBD sensors). This API can provide you either the raw point cloud or the skeleton if you want to make a smart HMI quickly.
The Point Cloud Library : PCL. You can use this library to acquire the point cloud, and then use all algorithm presents in this library to develop you own point cloud application !
And of course, the OpenCV Wrapper : OpenCV. This will provide you a depth map (not a point cloud).
All this SDK are usable with QtCreator both on linux and windows.
The Hardware :
If you buy a kinect in a video game store, you will not be able to plug it on your computer because the socket isn't standard. You will need to buy an adapter : KinectAdapter. This adapter is required because Kinect have a DC motors, and USB can't provide enough power for this motor.
If you buy an Asus XTION Pro live, you will not need any adapter. There is no DC motors on this device and i am quite sure that is exactly the same device than kinect. I think that Microsoft didn't "invent" the kinect, but OpenNI does ! Asus bought a licence to OpenNI for their XTION, and Microsoft bought openni for their kinect :)
Your application
I never done Motion capture and 3D model projection, but I can tell you that it will be easier to do it with a depth sensor. I think the best way to do it is to use PCL to acquire point cloud and RGB image. Thanks to the plane detectors in PCL you can compute the projection of your 3D model, and use OpenCV to display the RGB data and the projected model.

How to start developing with microcontrollers?

I want to be able to build my own small electronic device that just has a few buttons, and stores each keypress inside a memory.
I am a pretty experienced programmer but I have no idea where to start regarding hardware, or what to search for on google.
Please give me any info that can help me out.
Arduino boards are inexpensive and the platform is wildly popular. I buy stuff like that from sparkfun.com in the developer area down the left side of the page. At sparkfun you will also find many other similar eval boards from various vendors. I like the lillypad over the arduino pro mini only because it has the programming pins already soldered. You will want the ftdi usb serial board thing for power and programming. I am a fan of the armmite pro, which is arm based. the mbed2 is real easy when you plug it in it shows up like a thumb drive, you copy your .bin file to it and press the button and it loads the program and runs it. The blue leds give me migraines but that was solved by replacing with green leds. I have a number of the header style olimex boards, good stuff, have never used the ones with displays and buttons though. Going to other sites the ez430 msp430 is a good starting platform but no buttons which you are interested in using, the stellaris cortex-m3 based family is good I would skip the 811 board and go for maybe the 1978 or something in that range, the 811 is too easy to brick.
Most of the ones mentioned above (not the olimex boards) have sandboxes for you to play in safely (turn key development environments), but at the same time you are not locked into those environments, you can do your own thing if you like, use different toolchains, flash programmers, etc. I personally would avoid the lpcxpresso for that reason, painfully tied to both windows and their sandbox.
the sam7-h256 for example, an olimex board, is powered by the usb, and a program called sam-ba is used to load your programs into the chip. That particular board does not have buttons but boards in that family are also programmed the same way. basically one usb cable for power and programming. And like the AVR (arduino and avr butterfly are based on the avr micro) the at91sam7s is an atmel part. Atmel seems to have that edge over competitors for better documentation and support. At least my belief is that contributes to the popularity of the avr (the avrfreaks website existed before the avr butterfly and the arduino), and it certainly makes me like their arm based products.
short answer, start with http://www.sparkfun.com along the left side click on Development Tools, and there are many solutions. You want to find something like the arduino, armmite pro, mbed, that either standalone or with a ftdi based usb thing you both power the board, and have an interface for programming. There should be links on the page to websites with development tools, compilers, etc, and tools for actually doing the loading of the program on the board. I recommend trying the arm, avr, and msp430 micros, as well as different vendors (many different arm based solutions with their own pros and cons for example).
The arduino platform is a cheap and easy option.
search for arduino and netduino
What language do you program in?
Arduino uses a C like language.
Netduino uses C#.
You can get a NXT kit (yes, LEGO) and use RobotC.
I can only advice how I started:
Get a bread board and some ATMel microcontrollers (ATMega16 is perfect for beginners).
You can either buy an STK500 or you use the In-System-Programming feature, and ask someone that can build you a programmer (I recommend USBasp). When you use Linux, use AVRdude and the gccavr toolchain. Under windows, you can use the WinAVR studio.
And buy some components, like resistors, capacitors, probably a quartz crystal to make simple circuits.
That's how I started anyway.
Arduino is based on Atmel AVR, so the same Arduino or STK500 board can be programmed with AVR Studio + WinAVR combination, which is nice if you already have experience in GCC. For all additional info and tutorials take a look at http://www.avrfreaks.net

Resources