nucleo-F401RE expansion boards


#1

Hello, 
I’m a python developer but completely new with “board” programming, I would like to make some experiments, the final goals of mine experiments will be to create a system that collect data and sent it to a central server  (some  sort of iot prototype) 
I’m able to connect my nucleo-f401re, viperize it and work with some exaples but I’m blocked while trying to  use some of the expansion boards I had microphone (MP34DT01-M) bluetooth ( IDB04A1)   proximity sensor (VL6180X ).
I started from the last one (proximity sensor) because is the only one with a display (so at least I can “see” something but after connected to the board it seems without power.
I think I’m missing some basic step (not finded on getting started and tutorials) 

There is some good tutorial for a  (really) beginner?
p.s. I work on macos but i had access to a win8 machine (I used for update the firmware of the nucleo board)


#2

hi @JcBobo 
I have a couple of that expansion boards but please, in order to be sure we are talking about the same products, post here the links to the specific product descriptions.

On viper documentation you will find only info related to the use of Viper and not to the powering and linking with external sensors and expansion boards.
however, we’ll be more than happy to help you in assembling your iot project
 


#3

my problem is exactly that one, I’m not able to find some really beginner tutorial about linking sensors and expansion board.
At the moment I have:
microphones  http://www.st.com/web/en/catalog/tools/PF261986
Proximity and ambient light  http://www.st.com/web/en/catalog/tools/PF261465
inertial http://www.st.com/web/catalog/tools/FM116/SC1248/PF261191
That are the first sensors i would like to use
 i suppose to need also some modules for connectivity but I have to decide if using wifi connection (maybe as first step) or some mobile network connectivity.


#4

very weird behavior.
This shields shouldn’t require any particular procedure to be powered when plugged onto a nucleo board.
 
Are you powering the nucleo board through USB?

let’s go step by step:

—ambient light:
this is the user guide http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00154104.pdf
it use the arduino connectors and shouldn’t require any particular power source. just plug on the nucleo and power the board through USB it should power on.
I don’t have this board but looking at the user guide i don’t see any power LED on it. this means that in order to see if it is really powered you need to communicate with it through I2C. i don’t know if the display is directly controlled by the board also without any setup or preliminary data initialization mediated by the Nucleo board.

here a code example from mbed that can help you getting started
https://developer.mbed.org/users/highroads/code/VL6180x/

—microphone
according to the user guide http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00187403.pdf

this board use morphos connectors and allow various configuration to be selected by soldering specific pins on the board.
to be honest i also tried to find some info on how to use this board and also some drivers or libraries for acquiring data through a Nucleo but i found only an expansion package for the XCube environment with no details or generic code  :’(
here a video from ST that maybe can help https://www.youtube.com/watch?v=D-o9dQCegiA
here a thread on the MBED forum where a user is asking the same https://developer.mbed.org/questions/61851/Disco-F746-how-to-read-microphone-input/

—inertial
the only useful material i found is a “Hello World” project on MBed where this sensor is used
https://developer.mbed.org/teams/ST/code/HelloWorld_IKS01A1/

here is possible to find details on the I2C data registry and parameters.
I have one of this board in my office, so if you want to start from this we can remotely support you.
The MBed code can help you in getting started.

—Viper I2C
The use of the I2C in Viper is well documented here http://doc.viperize.it/core.viper.stdlib/r0.3.1/i2c.html
a good example of sensors controlled through I2C is this https://rawgit.com/viper-dev/lib-melexis-mlx90615/r0.3.0/docs/html/index.html
you can add to the Viper IDE by using the Viper Package Manager
 
let me know
F


#5

Thanks you very much. I will try now.
Yes I’m powering the board directly from the usb port of my mac
 There is some operation I have to do for un-viperize the board and work with the mbed (online) ide? 


#6
 There is some operation I have to do for un-viperize the board and work with the mbed (online) ide? 
no, you can use it directly.
but you should stay on Viper  :p 

I can guarantee that using I2C in C for mbed isn't a child play...  B)

Let me know if you want to develop the Viper Python script for the inertial sensors on the basis of the MBed code i linked. On Monday I'll be back in my office and I can help you with remote debugging.
 

#7

since i’m a really beginner on such hw related development I was thinking to “work” in that way:
- use the mbed system (running some examples) in order to check that the boards and various expansion/sensors are working correclty (and to acquire a little more of knowledge)
- replicate examples using viper ( i really don’t want to learn c++ and use to use it for a single prototipe on a single board type)
- adding custom logic 

At least for using this two working day before the first of the year in some useful way

Again Thanks you very mutch


#8

that’s a good plan!
On monday i’ll also start some Viper tests with the expansion boards I have and I’ll let you know
keep me posted

@giacomo we need your help :slight_smile:


#9

I had run some examples with the expansion I had “seeing” some output :stuck_out_tongue: thanks you


floyd said:
that's a good plan!
On monday i'll also start some Viper tests with the expansion boards I have and I'll let you know
keep me posted

@giacomo we need your help :)
I will start working  with  Viper from that one do you have some examples from i can start?

#10

Not for the expansion boards.
You can try the i2c basics with:

The use of the I2C in Viper is well documented here http://doc.viperize.it/core.viper.stdlib/r0.3.1/i2c.html
a good example of sensors controlled through I2C is this https://rawgit.com/viper-dev/lib-melexis-mlx90615/r0.3.0/docs/html/index.html
you can add to the Viper IDE by using the Viper Package Manager



#11


Dear Floyd,
Could you please explain how we can use it directly ? I promise to stay with Viper :) 
I have started another discussion about the same issue here: https://community.zerynth.com/discussion/586/mbed-examples-on-zerynth-vm#latest
Thanks in advance.


#12

See your other discussion :wink: