Author Topic: Looking for a way forward with Microcontrollers/Microprocessors  (Read 21212 times)

0 Members and 1 Guest are viewing this topic.

Offline pmurray4Topic starter

  • Contributor
  • Posts: 25
Looking for a way forward with Microcontrollers/Microprocessors
« on: January 19, 2015, 04:54:49 am »
I've been programming PIC16/18 for quite a few years now (going on at least a decade using the CCS compiler) and finding that I would like to move onto something with a bit more power.
I'm interested in eventually learning how to use Ethernet/USB and well running graphical displays.

My first consideration is moving to PIC32 since I have the ICD3 programmer and I'm familiar with microchip, but I would like to know what else is available.
I have a very small budget so I would like to get into an architecture that doesn't require a multi-hundred dollar development system purchase just to learn how to flash a LED.

I considered ARM but I can't figure out a good place to start with that either.

any suggestions?
 

Offline mtdoc

  • Super Contributor
  • ***
  • Posts: 3575
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #1 on: January 19, 2015, 05:47:48 am »

I considered ARM but I can't figure out a good place to start with that either.

any suggestions?

Start HERE. It's free! (well, except for the $20 for the Tiva C board).
« Last Edit: January 19, 2015, 05:50:40 am by mtdoc »
 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2803
  • Country: nz
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #2 on: January 19, 2015, 07:47:29 am »
Although I know a little about embedded systems I've signed up to see what the courses are like. It helps that I have a Launchpad sitting on the shelf, begging me to use it for something!
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #3 on: January 19, 2015, 07:51:40 am »
I considered ARM but I can't figure out a good place to start with that either.

any suggestions?

Yes, the ARM PRO MINI.  An excellent and inexpensive introduction to the ARM architecture, and if you will pass the challenge I may send you one for free ;-) 
 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2803
  • Country: nz
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #4 on: January 19, 2015, 08:19:06 am »
If you want USB, HDMI for a display and networking, you might consider springing US$35 for a Odriod-c1, and running Linux on it.

http://www.hardkernel.com/main/products/prdt_info.php?g_code=G141578608433

1GB RAM, Quad core, Gigabit networking, RTC....

Or follow the path of least resistance (and most documentation on the web) and get a Raspberry Pi, with it's single core, 100Mb/s Ethernet and no RTC.

It might be a sledgehammer compared to a smaller controller, but it sounds like you've done your time on small, lightweight, power-sipping microcontrollers :-)
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline picandmix

  • Frequent Contributor
  • **
  • Posts: 395
  • Country: gb
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #5 on: January 19, 2015, 10:10:08 am »
Why not utilize what you have got ?

A pic18F4550 is the cheapest way to get going with USB ; Microchip have a full program suite for free.

Graphic displays, many use SPI communications  so almost any Pic will run them, memory size allowing.

Ethernet can be again added on to most Pics.

If you want something ready made then microchip offer both a USB and a Ethernet Pic32 dev board for around  GB £35 - £45 each.


 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26682
  • Country: nl
    • NCT Developments
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #6 on: January 19, 2015, 12:31:01 pm »
I've been programming PIC16/18 for quite a few years now (going on at least a decade using the CCS compiler) and finding that I would like to move onto something with a bit more power.
I'm interested in eventually learning how to use Ethernet/USB and well running graphical displays.

My first consideration is moving to PIC32 since I have the ICD3 programmer and I'm familiar with microchip, but I would like to know what else is available.
I have a very small budget so I would like to get into an architecture that doesn't require a multi-hundred dollar development system purchase just to learn how to flash a LED.

I considered ARM but I can't figure out a good place to start with that either.
Look at Zapta's small ARM board in this section of the forum ( https://www.eevblog.com/forum/microcontrollers/introducing-the-arm-pro-mini-board-arm-made-eazy/ ) . It doesn't get any easier.
« Last Edit: January 19, 2015, 12:51:53 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #7 on: January 19, 2015, 01:09:07 pm »
Quote
I considered ARM

You may consider PIC24: they are much nicer to program, and offer good performance + code density. Mhz for Mhz, they are comparable to lower end ARM chips, yet allow you to retain the environment + programmer.

Having said that, those ARM chips from ST are nice as well, but more difficult to learn for a newbie.

I wouldn't invest anything in PIC32.
================================
https://dannyelectronics.wordpress.com/
 

Offline tszaboo

  • Super Contributor
  • ***
  • Posts: 7281
  • Country: nl
  • Current job: ATEX product design
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #8 on: January 19, 2015, 01:12:33 pm »
isn't very good for low power devices.
Most newer ARM are made on a smaller node, and in fact are quite comparabe with microchip's and atmel's low power mode. Example:
Microchip nanoWatt XLP 830nA Real Time Clock & Calendar operation in Sleep modes
STM32L100 Ultra-low-power mode + RTC: 900 nA with backup registers

I think if you are familiar with Microchip, I would try the MX version of the PIC32 (NOT THE MZ). I had very good experience with them, setting up and using the development environment is easier. If you dont pay for ARM development, you have to work with frankeinstein IDEs, write make files, GCC, and all this bullshit which drives people away from ARM.
I would skip the 16 bit MCUs. There isnt anything interesting there, most of them are replaceable by a 8 or a 32 bit MCU.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #9 on: January 19, 2015, 01:19:36 pm »
Quote
I can't figure out a good place to start with that either.

Specifically, I would suggest that you try the Nucleo or Discovery boards: they are sub $20, and all-in-one boards - with a hardware debugger / programmer embedded. The Nucleo boards have Arduino styled headers allowing them access to cheap accessories; Some Discovery boards have lcds or other peripherals onboard as well.

I am a big fan of CoIDE for its simplicity. It has good support for the ST chips.

Beyond that, you can buy a st-link programmer / debugger ($20 from ST or $5 from ebay) and 3 - 4 wires later, you have a board to go. Lots of cheap boards on ebay, or you can make your own - there is a long thread on making those boards with minimum components (the "ghetto" thread). With less than a $, you can get a STM32F030F running on a pcb adapter.

If you ever want to make a living from this, go with ARM.
================================
https://dannyelectronics.wordpress.com/
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #10 on: January 19, 2015, 04:01:44 pm »
I considered ARM but I can't figure out a good place to start with that either.

any suggestions?

Pmurray4, I was in exactly same situation a few months ago. I used AVR 328p with Arduino IDE for a few custom PCB projects but wanted switch to ARM.  The numbers of vendors and options was overwhelming and many of the sample boards that vendors were too complex and not a good starting point for my own custom designs. Initially I got a ST board (digikey 497-14098-ND) but then realized that the software aspects (toolchain, IDE, libraries, etc) should be an important aspect of selecting a vendor. After additional research and experimentation I settled on NXP. They provide an excellent IDE (LPCXpresso/Eclipse) that is easy to install (no 'tool chain' headache), run on all major OSs and is free for the MCUs I plan to use. Then I picked an MCU (LPC11U35, M0, USB, 48Mhz, 64K, down to 5x5mm package) that comes with build in serial and USB/HD bootloaders (the USB/HD bootloader allows to update the firmware with a standard file drag and drop, no special software needed, excellent for field upgrade).  And then it can be also used also with an optional $20 debugger and is compatible with mbed which is an Arduino like (though not as popular) ARM eco system and a free online IDE.

I recognized that different people have different needs and preferences so the above is not 'the only truth' but a description of my way into the ARM architecture which resulted in the ARM PRO MINI board https://github.com/zapta/arm/tree/master/pro-mini#arm-pro-mini

The diversity of the ARM market is one of the main obstacle for new comers.
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5313
  • Country: gb
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #11 on: January 19, 2015, 06:30:25 pm »
The PIC24 series is a nice upgrade from the 16s and 18s, without changing too much. Making the switch to PIC32 is a bigger leap, and to ARM is huge. Depends how adventurous you are feeling, and what your goal is. ARM has lots of processing power, but isn't very good for low power devices. For typical microcontroller stuff like controlling things and replacing logic the PIC24 series is probably best.

Generally agreed. If you want to stay with Microchip, for Ethernet you'll need to go PIC32 if you want it integrated. There are options for smaller PICs if you're OK with reduced throughput using their ENC28J60/ENC624J600 devices which have integrated PHY. With most devices including all PICs with integrated Ethernet be aware you will need to add an additional PHY chip. Some TI TM4C ARM devices have integrated PHY, there may be others.

Regarding power consumption, it largely depends what core you're talking about, and how careful you are with clocking not just the core but also all the peripherals. In my experience between PIC32 and ARM M4 at the same clock speeds, the PIC32 has better consumption, however ARM devices tend to have more clocking domains and options (which can also seriously further complicate things!).

Be aware that Microchip are pushing very hard for folk to use their new Harmony framework with PIC32, making the old MAL libraries "legacy". While the MAL is/was rather a hotch potch of APIs, it did work, whereas Harmony, despite being out for over a year, is a real mess in terms both of being buggy, and lacking decent training and documentation. It also does not perform anywhere near as well as the old MAL in many situations mostly due to the unnecessary levels of abstraction. The PDF for Harmony is currently a 5,300 page semi-computer generated PDF.

I would also steer well clear of the PIC32MZ for now which not only forces you into the Harmony framework, but is heavily bug-ridden silicon at the current time with some serious shortcomings in the errata, and even a year later they're finding more and more quite fundamental stuff wrong with them. I can't imagine they characterised much of that chip before releasing it. Stick with the PIC32MX and MAL for now if you go the Microchip 32 bit way.

IMHO, the big plus point about Microchip is the peripherals and their relative simplicity and consistency across all devices. While they're certainly not identical across the board, there's sufficient similarity that going from one device to another doesn't give you too many surprises.

One of the worst things about ARM is knowing where to start when it comes to picking a device from the gazillions of options. What doesn't help is that not only do ARM have a non-obvious naming convention for their cores which their marketing has seen fit to change confusing things further, but the various licensees don't always make it easy to differentiate either.

Having said that, I'd agree regarding the Tiva C launchpads, they're a reasonable enough way to get started. Their EK-TM4C1294XL includes both Ethernet and USB, and has a debugger onboard, all for $20. They also support a system of add on boards like Arduino shields called Booster Packs. TI generally has the best documentation both in terms of written and video: however there's just so much of it, so knowing where to start makes it very intimidating.
 

Offline BloodyCactus

  • Frequent Contributor
  • **
  • Posts: 482
  • Country: us
    • Kråketær
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #12 on: January 19, 2015, 06:44:48 pm »
I'd second pic32mx + plib! the stm f4 discovery board is nice for arm, but if you have the icd3/pickit3 already, and are familiar with mplabx, pic32mx is real nice. plib will be familiar as well.
-- Aussie living in the USA --
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #13 on: January 19, 2015, 09:17:24 pm »
I'd second pic32mx + plib! the stm f4 discovery board is nice for arm, but if you have the icd3/pickit3 already, and are familiar with mplabx, pic32mx is real nice. plib will be familiar as well.

Unless if the OP's goal is to learn something new ;-)
 

Offline ralphd

  • Frequent Contributor
  • **
  • Posts: 445
  • Country: ca
    • Nerd Ralph
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #14 on: January 19, 2015, 10:14:43 pm »
I think it's hard to beat the Cypres 4200 development board at only $4.
http://www.cypress.com/?rID=92146

I think the shipping might even be free now.
Unthinking respect for authority is the greatest enemy of truth. Einstein
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #15 on: January 19, 2015, 10:33:49 pm »
Quote
I'd agree regarding the Tiva C launchpads

The good thing about those TI chips is that they are incredibly feature rich: lots of peripherals. I would also mention the rom library to be a life saver (more like a flash saver).

A few things to know, however.

- they are fairly buggy, particularly on the adc - those chips had their origin in Luminary. Read the errata first before you decide to use them.
- TI has yet to lay out a roadmap for those chips and they haven't shown they intend to play in this market long-term.
- The IDE (eclipse) is quite bloated.

I would say that if you are comfortable with your debugging skills, or have a good working relationship with TI, they are a great chip.
================================
https://dannyelectronics.wordpress.com/
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #16 on: January 19, 2015, 10:34:46 pm »
Quote
it's hard to beat the Cypres 4200 development board at only $4.

Depending on how your perceive value.

To me, low price alone isn't a reason enough to use a chip.
================================
https://dannyelectronics.wordpress.com/
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5313
  • Country: gb
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #17 on: January 19, 2015, 10:51:00 pm »
Quote
I'd agree regarding the Tiva C launchpads

The good thing about those TI chips is that they are incredibly feature rich: lots of peripherals. I would also mention the rom library to be a life saver (more like a flash saver).

A few things to know, however.

- they are fairly buggy, particularly on the adc - those chips had their origin in Luminary. Read the errata first before you decide to use them.
- TI has yet to lay out a roadmap for those chips and they haven't shown they intend to play in this market long-term.
- The IDE (eclipse) is quite bloated.

I would say that if you are comfortable with your debugging skills, or have a good working relationship with TI, they are a great chip.

If you think TI's TM4Cs are buggy, try the PiC32MZ! I can't ever remember any silicon being as bad as that. A major selling point was its integrated 12 bit 28Msps ADC with 6 sample and holds. Gradually, it's been downgraded in successive errata since its release a year ago, first to 16 Msps, 1 S&H, 10 bit, and now 1Msps 1 S&H 8 bit. So worse than some of their existing devices.

Yes the TI IDE is bloated, but it's less buggy and more responsive than NXP's LPCxpresso, also an Eclipse IDE. Should I mention that it took nearly three years for Microchip to make their MPLAB X IDE what I would finally consider production strength? I still prefer their old MPLAB IDE, and I'm not alone, even within Microchip their consultants prefer it, but you're forced into using the new IDE as there's no support for the newer chips in the old IDE unless you hack the support yourself.
 

Offline pmurray4Topic starter

  • Contributor
  • Posts: 25
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #18 on: January 19, 2015, 11:52:37 pm »
Thanks all who have replied, sorry for the delay in responding.

mtdoc: I will have a look at that edx course this week, thanks for mentioning it

I currently use the CCS compiler for the PIC18 family, so for me to switch to the 16/32 bit PIC I would have to learn to use the Microchip C compiler (or pay for an upgrade for CCS which I'm not going to do). I have been doing a lot with CANBus over the years (one example is shown in one of my videos) and feel that the PIC18's are not up to the task of handling all the data I'm potentially throwing at them.

I've got comfortable with the PIC18's but I'm finding that they are becoming less used in the industry and I also have been learning how to use an Altera cyclone II devboard and a Xilinx spartan 3 devboard, support for both chips have been dropped by the IDE's from each company not too long ago. This is telling me it is time to move on to something that will be still supported when I have a grasp of using it. I'm pretty much trying to future-proof myself and avoid the same reaction that I got when I went for a job 10 years ago and told them I did Z80 and 6502 assembly.

I found most of the replies are aimed at ARM variants, so this seems to be a good direction to go. so I will put my efforts into this for now.

zapta: I had a look at your ARM pro mini page, looks really good, how much do you sell those for? and would the stuff I could learn to use this board be applied to other ARM boards as well or is it specific to this devboard?

Many thanks
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4192
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #19 on: January 20, 2015, 12:42:24 am »
the TI Launchpad is also supported by Energia, an Ardunio-like ("painfully simplified") development environment.

The UTX EdX class is a pretty good intro to the TI ARM chips; although if you have previous embedded C experience, some of the other material, or reading the discussion forums. might be a frustrating eye-opener.
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1660
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #20 on: January 20, 2015, 01:09:26 am »
I wouldn't invest anything in PIC32.

Why not? The chips are certainly capable, there's a good free* development environment, and, given Microchip's track record, are likely to be around for a long long time.

ARM is certainly more ubiquitous, and offered by multiple vendors, but I don't see any significant advantages the architecture has over the PIC32.

*-the free compiler doesn't support optimization, but I haven't found that to be a serious constraint.
Complexity is the number-one enemy of high-quality code.
 

Offline pmurray4Topic starter

  • Contributor
  • Posts: 25
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #21 on: January 20, 2015, 01:20:29 am »
I still have a PIC32MX chip laying around somewhere that I sampled when I was still at college but I didn't have time to play with it much. I couldn't get to grips with MPLABX, they changed it so much in comparison to MPLAB 8, and I could never get the sample code to compile correctly.

westfw: My previous embedded C experience is with CCS which I find to be not quite the same as other C's (Namely Microchip C, Rabbit C) so I'll be basically taking the plunge and learning almost from scratch, as you say, this will definitely be a frustrating eye-opener. but I think it's the only way I can get myself up to industrial standards.

 

Offline BloodyCactus

  • Frequent Contributor
  • **
  • Posts: 482
  • Country: us
    • Kråketær
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #22 on: January 20, 2015, 02:58:00 am »
I still have a PIC32MX chip laying around somewhere that I sampled when I was still at college but I didn't have time to play with it much. I couldn't get to grips with MPLABX, they changed it so much in comparison to MPLAB 8, and I could never get the sample code to compile correctly.

westfw: My previous embedded C experience is with CCS which I find to be not quite the same as other C's (Namely Microchip C, Rabbit C) so I'll be basically taking the plunge and learning almost from scratch, as you say, this will definitely be a frustrating eye-opener. but I think it's the only way I can get myself up to industrial standards.

mplabx is just netbeans, quite simple to use. and pic32 c compiler is just gcc, which is good, not at all like the xc8/xc16 garbage. last time I used one of those it complained of too many case statements in a switch. pic32 is nice, a well understood mips core with a well understood mips compiler!

-- Aussie living in the USA --
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #23 on: January 20, 2015, 04:17:11 am »
zapta: I had a look at your ARM pro mini page, looks really good, how much do you sell those for? and would the stuff I could learn to use this board be applied to other ARM boards as well or is it specific to this devboard?

Hi pmurray4, I don't plan to sell them but still have a budget for a few free samples (including shipping). If interested, install the IDE, modify the hello_world.cpp program to print your name and mailing address, build the .bin file and email me. The ARM PRO MINI page should have all the documentation and if you need help let me know in the ARM PRO MINI thread or a PM.

For your second question, my understanding is that ARM product from different vendors differ in the I/O but the general architecture and possibly also basic I/O such as GPIO are similar. I don't really know, others can add more information.

I switched to it from Arduino/AVR (atmega328p) and find it to be simpler and more intuitive. For example, the large memory space allows have the flash mapped in the same memory space (useful for string literals and consts) and the GPIO is organized as a consistent array of ports and bits that can be accessed using standard pointer referencing. It works great for me.
 

Offline pmurray4Topic starter

  • Contributor
  • Posts: 25
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #24 on: January 20, 2015, 04:41:00 am »
Hi Zapta, I did the modifying of the hello_world program as you said, was quite easy. The hardest part was finding the platform from the list ;)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf