How to choose the right microcrontroller for this:

Thread Starter

PaulaCH

Joined Jan 21, 2017
6
Hello i'm new in this forum and also in microcrontrollers so i know im going to ask simple questions but i hope you can help me.
I have a project in mind where i send text data via bluethoot, so this device recives the data and finally, it displays it on a lcd tft 320x240 screen.
I know very little about microcontrollers altough i did a very intensive research on internet i couldn't completelly understand all specs and things to make it work with other peripherals.
I would like to get some information about which are the most suitable microcontrollers that can handle the screen and the bluethoot reciever and why.
i read that pic32 would do the job, but i don't understand this: https://www.microchip.com/design-centers/32-bit
Maybe you could lend me some material to study this.
 

djsfantasi

Joined Apr 11, 2010
9,163
You are new to microcontrollers. Are you also new to programming?

That's requirement one.

The other thing that I noticed, is that you did not understand the specs and how they interact. What is your electronics background? You don't need to have s degree in electronics, but you should be able to understand the specs. I am but s hobbyist, yet can build robots.

My recommendation for you is to start slow. Your goal is ambitious. So start the journey with a baby step. The typical first project is to use a microcontroller blink an LED. Then blink patterns...

Interfacing with an LCD can be tricky. Do that so it displays "Hello World". You will learn how to use it in your project.

Then, use Bluetooth to connect two microcontrollers, such that one tells the other when to turn on/off.

Each of these problems bring you closer to your goal.

Also, since you are new, don't be afraid to use s development board, such as an Arduino. They have many resources to help you. Not in the least on the programming side, there are libraries to simplify your coding. Such as having to write a single line to display a medsage on the LCD.

Lastly, welcome to the forum. You will find a bunch of great people and much assistance here.
 

Thread Starter

PaulaCH

Joined Jan 21, 2017
6
You are new to microcontrollers. Are you also new to programming?

That's requirement one.

The other thing that I noticed, is that you did not understand the specs and how they interact. What is your electronics background? You don't need to have s degree in electronics, but you should be able to understand the specs. I am but s hobbyist, yet can build robots.

My recommendation for you is to start slow. Your goal is ambitious. So start the journey with a baby step. The typical first project is to use a microcontroller blink an LED. Then blink patterns...

Interfacing with an LCD can be tricky. Do that so it displays "Hello World". You will learn how to use it in your project.

Then, use Bluetooth to connect two microcontrollers, such that one tells the other when to turn on/off.

Each of these problems bring you closer to your goal.

Also, since you are new, don't be afraid to use s development board, such as an Arduino. They have many resources to help you. Not in the least on the programming side, there are libraries to simplify your coding. Such as having to write a single line to display a medsage on the LCD.

Lastly, welcome to the forum. You will find a bunch of great people and much assistance here.

Thank you for replying my message!
Actually, i have advanced knowledge on java and c++ and i read that microcontrollers can be programmed in C or assembly, so i don't really think that part is going to be the most challenging one. Although i need to review some things in order to write code for the mc, i would like first to start from the basis. The hardware part.
I read a book about mc that it was pretty clear, anyway it was an old copy and i never finished, so maybe re-reading it to the end coud be a good way to start :)
If you know some webpage or book, can you write the link in the reply.
Thanks for your time!
 
Last edited:

spinnaker

Joined Oct 29, 2009
7,830
I am a pic man. what I like about the pic is you can pick (pun intended) pretty much any configuration that you might need. I like the 18f series. Perhaps it is just a sales gimmick but they are optimized for C. I prefer to work in C. Lots of people will tell you that is blasphemy and to only program in assembler. I am an assembler from way back in the days of the 6502. Back when all there was , was assembler. At least if you wanted anything above the glacier speed BASIC. Actually I started in machine code before there was an assembler for my computer. When assembler came along it was like a godsend. I worked in it for a number of years till I moved on to PCs. First back to BASIC, on to Pascal then finally C. Once I found C I never looked back. I continued on with C in micro controllers. I figured why get bogged down with assembler when I can have someone a whole lot smarter than me do it for me via the compiler.

Microchip has a really cool parametric search.

http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1004&mid=10&lang=en&pageId=74

Figure out what capabilities you need put them into the search.


But if you are just getting started the Arduino might be a quicker way to get your project done. They have all types of "shields" that simply plugin. For exampe there is an LCD shield. With a Pic you would have to wire then all up yourself then find a library to control the display. Arduino provides thatr all for you.
 

Thread Starter

PaulaCH

Joined Jan 21, 2017
6
So you got three blocks: uC, TFT LCD, bluetooth receiver.

I assume that the device will ONLY receive. It will not send anything out? Is that correct?

PIC32 is way way waaaaaay overkill.

Connecting Arduino board to LCD: http://playground.arduino.cc/Code/LCD

Connecting Arduino board to bluetooth module: http://playground.arduino.cc/Main/InterfacingWithHardware#bluetooth
Yes it will only recieve data.
But just for curiosity, it would be much different if it also sends data back?
I will look into arduino too, the only downside with arduino is there aren't many in Argentina, thats where i live, and they aren't as cheap as in the US.

Thanks for replying!
 

shteii01

Joined Feb 19, 2010
4,644
Yes it will only recieve data.
But just for curiosity, it would be much different if it also sends data back?
I will look into arduino too, the only downside with arduino is there aren't many in Argentina, thats where i live, and they aren't as cheap as in the US.

Thanks for replying!
I have not done any work with bluetooth. Generally speaking, I don't think sending data with bluetooth would be hard. But again. It is what I think, since I have not done any work, I don't know that for a fact.

You did not show where you are so I had no idea that you are in Argentina. The arduino links I provided can be used to just familiarize you with how to connect hardware together and what you need your code to do. PIC uC would work on similar principals, just details would be different. The reason I linked those arduino resources was because I knew where to find all the pieces that you wanted to use. I just don't know of similar PIC site. You have to keep in mind that hardware is only the start, you need software to make the hardware do things you want. If the software is already written and tested by other users, then this reduces your workload and expanse.
 

spinnaker

Joined Oct 29, 2009
7,830
I have not done any work with bluetooth. Generally speaking, I don't think sending data with bluetooth would be hard. But again. It is what I think, since I have not done any work, I don't know that for a fact.
With one of these:
http://www.ebay.com/itm/Wireless-RF...005747?hash=item1c5e3af273:g:V-EAAOSwp5JWbkor

it is not. Makes it very easy.



And I can't believe someone has the nerve to charge $21.30 to show you how to use the thing.
http://www.ebay.com/itm/Hc-05-Bluet...449591?hash=item2cb0a959b7:g:438AAOSwgZ1XqlcT
 
Actually, i have advanced knowledge on java and c++ and i read that microcontrollers can be programmed in C or assembly.
Based on that statement, I think it's probably would pointing out some fundamentals before you get confused by the details. You might have been led astray in your research. A microcontroller is just a microprocessor + some common peripherals (RAM, Flash, GPIO, Timers, ADC, etc). The microprocessor bit is just like the microprocessor in whatever you were programming Java and C++ on. So you can pick whatever language you like provided there's a compiler for it. The microcontroller doesn't even know what language you used, because it only sees the compiler output.

That said, because you're usually doing some pretty low level stuff on microcontrollers, C or assembly are sensible choices with lots of support. The Arduino language is a C++ dialect.

As for the microcontroller choice, any of about a bazillion choices will do the job. The suggestions for a 8 or 32 bit PIC are fine. The STM8 and STM32 are similarly capable. But do give some extra consideration to the Arduino if you can - not because it's an amazing microcontroller but because the community has done an enormous amount of work for you to give you a massive headstart. The big advantage is that the development environment, compiler, programmer and debugger are all rolled into a single application. With almost any other microcontroller, you have a steep learning curve ahead of you to get the development environment up and running before you flash your first LED. The second big advantage is that you are just about guaranteed to find a well documented, detailed tutorial on doing exactly what you want to do.

Regardless of which microcontroller you choose, make sure you find someone that has already used it to connect to the LCD you want to use. The path of good intentions is littered with folks that have failed to solve the LCD connection problem. In particular, Arduinos and some other small microcontrollers are ill-equipped to directly drive a 320x240 resolution. One option is to ensure the LCD comes with a SPI controller or similar.

On the Bluetooth front, I concur with Spinnaker - the HC-05 is just about the easiest way to get Bluetooth 2.1 up and running. It also happens to be dirt cheap. I wouldn't bother looking at Bluetooth 4.0 (BLE) for your purposes.
 

hp1729

Joined Nov 23, 2015
2,304
Hello i'm new in this forum and also in microcrontrollers so i know im going to ask simple questions but i hope you can help me.
I have a project in mind where i send text data via bluethoot, so this device recives the data and finally, it displays it on a lcd tft 320x240 screen.
I know very little about microcontrollers altough i did a very intensive research on internet i couldn't completelly understand all specs and things to make it work with other peripherals.
I would like to get some information about which are the most suitable microcontrollers that can handle the screen and the bluethoot reciever and why.
i read that pic32 would do the job, but i don't understand this: https://www.microchip.com/design-centers/32-bit
Maybe you could lend me some material to study this.
My Huawei cell phone does most of this.
 

MrSoftware

Joined Oct 29, 2013
2,202
I'm from a primarily software background myself and I can tell you that if you know coding and some basic electronics, the arduino is super easy to get started with. They've done a great job of keeping things simple for the beginner, and there are a ton of HowTo articles, libraries and what they call "shields" which are basically plug-on boards to add functionality. It's not the best solution for every problem, but for getting started they've really made things simple.
 
Hi PaulaCH, your question for the right controller I would like to change to what is the best envirement to make the first steps.
And this is a question of the final target. If you want to play to see the success of your programming than choose a popular
system like Arduino. It enables to by a lot of parts and you will find many program examples and wiring diagrams.
If you want to go deeper into HW it will need a lot more time and swet. The bestway is to look at old systems build from
several components: MPU, ROM, RAM and peripheral Interfaces connected throug a bus system (data- address and control
bus. I would recoment to read a good book from 1980. Siilar with the programming language, if you use "C" ist easier (unless
to find difficult errors) but if you use Assembler you really know how the machine is working.
 
Top