cancel
Showing results for 
Search instead for 
Did you mean: 

Where can I find a development board with clear instructions?

Jason Multin
Associate II
Posted on June 06, 2017 at 06:24

When I studied electrical engineering in college years ago, I worked on a development board with my school from Motorola.  I was able to do a lot of things with it because the teacher and my textbook explained to us how to use the board. They explained many of the various function of the board and we were given simple programs that showed how to use different functions of the boards, such as the inputs, output, the  ADC interfacing with an LCD. Then we altered the sample codes to do other things and combined code to make bigger project. However, when I started working on different microcontrollers like the ATMEGA ones from a small company called NERDKITS, I often got frustrated. That's because I wanted some instructions to come with my microcontrollers so that I know how to use it.

The microcontrollers always come with a datasheet, but it is hard to fully understand all the functions of the microcontroller just by reading the datasheet. The datasheet merely expains all the different registers in the microcontrollers. However, in order to truly understand the different functions of the microcontroller, the user must be given a tutorial with a type of bare bones sample code that demonstates how to use every function of the microcontroller such as the ADC,inputs, ouptuts, I2C, and others. It should also explain how to connect the microcontroller to different devices such as an LCD, touchsceen, or I2C EEPROM.

I  bought a  

STM32F103RBT6 development board + 2.8' TFT lcd module true color touch screen from Ebay and it uses official ST parts but  the development board itself was not created by ST.  I even used it for my Masters senior project and did quite well.  The board is actually nice because it comes with a color LCD and touchscreen. However, it didn't come with a tutorial on how to use it. It merely contained some sample codes but the comments were in Chinese and they were converted to random characters on my computer so I don't even know what most of the sample programs do.  

I am not saying, I can't do anything with these microcontrollers. I am saying that I might be able to eventually figure out how to do something but it is always frustrating because I often have to search all over the internet to figure out how to do something simple with these boards. I might also figure out what a sample code does but it is also frustrating to figure it out when the comments are converted to gibberish.

I understand that my board is not made by ST so there may not be instructions from the company but  I want to change that. I would like to purchase an offical board by ST but I also want something that actually comes with decent instructions as well. I want the instructions to explain how to do use every function of the microcontroller, and how to connect it with different devices? If there aren't clear and thorough instructions, then I am not interested.I would also like it if this board was one that could easily be connected to an LCD and a touchscreen. Does anybody have any suggestions of something like this? Thanks

16 REPLIES 16
John F.
Senior
Posted on June 08, 2017 at 09:16

Maybe also have a look at Geoff Brown's online book.

http://www.cs.indiana.edu/~geobrown/book.pdf

 

John F.

David SIORPAES
ST Employee
Posted on June 08, 2017 at 09:54

An excellent guide to STM32 Nucleo boards is

https://leanpub.com/mastering-stm32

by Carmine Noviello.

It's a huge work that describes step by step all what's needed to become proficient with the platform and goes into its inner details in a friendly way.

It's really worth the money.

David

Mike Burmeister
Associate II
Posted on June 08, 2017 at 15:23

I too purchase a Discovery board many years ago.  It was a very inexpensive board that had a lot of features.  But after some months of trying to figure out how to program it I gave up.

I then found Parallax and the Propeller chip.  This was a great product that has been around for 20+ years and just plan works.  You need to talk to serial device, done.  Need to read sensor using I2c, done.  Not only that there are a number of library functions already build that come complete with source code.  They even have a learning website with helpful examples that explain what it going on.  It's a simple product that is designed with education in mind.

I also recently purchase a Butterfly board form Tlera corporation that is an STM32L433 board that is designed to work with Arduino.  This guy had the same issues with the STM configuration and programming.  You run the CUBE software and get 50 programs that configure the hardware and you have no Idea what they just did or how to interface to them.  With the Arduino code the pins are well documented and sample code is readily available.  I was able to get it up and running with little changes from the code I used on the Propeller.

I am now onto the next project to debug on the STM platform so I can actually see my errors in action.  Using print statements to see errors isn't always helpful.  I end up writing test code on my desktop computer just so I can see that the code works before trying it out on the MCU.

Mike

jim23
Associate II
Posted on June 08, 2017 at 20:02

In the early 80's I built a kit computer with an Intel processor and peripheral  chips. I was able to obtain the Intel documentation on the processor and peripheral chips. The documentation on the motherboard was minimal but with the Intel documentation I was able to program, troubleshoot and extend the computer. The Intel books had almost no examples but the functions of the chips was so well documented that I thought that anyone should be able to read them and work effectively with the chips. Later I got a computer with a Zilog Z80. The Z80 documentation was ineffective. I realize now that the reason that Intel rose to be an enormous company. People could easily discover how their chips worked and how to use them.

I have been drawn to ST for the reason that the documentation for all microprocessor hardware and functions is explained in excellent detail That documentation is my map. I know where I want to go. That is all that I need. I do not need example maps with example routes.

Posted on June 08, 2017 at 21:57

I started in 80ties with Z80, Motorola 68000 then moved to MCUs like 8051, AVR. Finally I ended up with STM32 ARMs.

Where is the problem:

When you have simple MCU like AVR it's easy to understand every bit (literally) as the pheripherals are quite simple.

You simply take a compiler and datasheet (usually single pdf file) and you can play with it.

ARM is much more complex. There are complex pheripherals.

I would start to play with higher level abstraction (arduino library for example) which hides the complexity of the low level programming. HAL is of course more useful than pure arduino library for STM32 (

http://www.stm32duino.com

 ) but requires more study of the examples how to use the library. I guess your board (STM32F103) is supported by the arduino. It takes time especially if you play with STM32 as your hobby. Using arduino you can forget how to setup the pheripherals (the most complex part of the ARM). Using HAL and CubeMX you can easy setup the pheripherals (generate the drivers) but you have to spend more time on learning how to use these drivers. Try to follow any video related to CubeMX on you tube.

I assumed that you have basic understanding of MCU interfaces as UART/I2C/SPI.

There are other option for ARM where you can hide complexity of the pheripherals setup. Google 'espruino' for example to play with STM21 with javascript. It event based apporach - I used to tried it for some time. I worked fine.

Once you learn HAL you can switch to LL drivers. They required low level understanding of ARM pheripherals but you can have smaller code.

And always study ARM books like 'Definitive Guide to Cortex' to understand what is under the hood.

Posted on June 08, 2017 at 22:24

People aren't going to carry you up the mountain, if you want a career in this space you need to learn how to climb yourself, and which routes to take to get up. Sherpas and guides expect to get paid, and the good ones will be expensive.

The problem is, Sherpas don't mountaineer anymore. People started to demand reaching summit in less than 3 days, so they better dropped it and went to the insurance business. The guides... oh yes, they still do guiding, on a selection of very safe paths... around the mountain. They sometimes try talk you into taking the chopper tour.

There are several such chopper operators, which take you onto quite a couple of bella vista spots at around one third the mountains height. One ride does not take more than a couple of hours, and you have very pretty views from the cabin on the way up, unless nausea comes in. Some of the rides are free, the operators redeeming on the souvenirs. At times, the landing spot collapses under the chopper, but if you are not cheap and go for the premium service there are certified safe spots available, together with a comprehensive insurance pack (you are required to sign a waiver nevertheless). There's a tendency for the sporting types to go with the chopper as high as it takes them and then try to climb up on their own.

And then there's still a small group of desperate types who try to climb up all the way in the old fashioned way, except the rope is nylon these days rather than hemp. Some turn back early, injuries are common, and the mortality is at the expected rate. Weirdos.

:D

Jan

markr
Associate
Posted on January 11, 2018 at 16:37

Jason -

I partially agree with Bogdon's comments and partially disagree.

I prefer to build up slowly, just like I learned embedded originally. I started with the very simple micros of the '80s changed careers and ten years ago came back to micros starting from AVR to MSP430s then ARM and STM32s.

Get one of the old (simple) STM32 discovery boards, something in the F100 value line. They are great demo boards that are just the STM32, a couple LEDs and a button or two and _all_ the pins brought out to headers. There are 10-12 (badly documented) examples, each focusing on a single function. But the example are so simple you can easily work out what they are doing. The boards themselves didn't have a dozen different peripheral chips that just get in the way.

They are a great way way to do what you want: learning a function at a time.  I have built many projects starting with this board:

http://www.st.com/en/evaluation-tools/stm32vldiscovery.html?sc=stm32-discovery

Another board is the STM32F103 'blue pill' boards on ebay. Less support, but again a simple board with all the pins brought out.

For the discovery boards, use the old example code. ST will tell you it is old and you should use CubeMX; which IMHO, is a great way to get something running fast, but a horrible way to learn.

If you use one of their examples, new or old, single step through the code, watch the variables change. I find stepping and watching vars a useful way to see what is going on 'under the hood.'

The learning curve on any of the ARM processors is steep, because they pack so much into a single chip, but the rewards are worth it. You will build up your own repertoire of code and snippets, copying things you know work from one project to the next.

Good Luck - markr