Author Topic: Standardising on a single microcontroller or family  (Read 1021 times)

0 Members and 1 Guest are viewing this topic.

Offline Josebeeblebrox

  • Newbie
  • Posts: 3
  • Country: nz
  • I'm just this guy...
Standardising on a single microcontroller or family
« on: September 26, 2020, 11:38:35 pm »
Hi All! I am an old school Electrical Engineer in Aviation & Telecommunications who defected to IT 20+ years ago ($$$$...) and now has limited time to dedicate to my microcontroller hobby.
I want to maximise my learning efficiency and decided (after a couple of years of catching up with Arduinos and the like) to REALLY learn one powerful family of MCUs and associated tools that I can then use to have fun, change the world, help humanity and all those great things!  :)
The collective in this topic represents a huge repository of knowledge and experience; I am am really looking forward to your comments and guidance.
ESP32? SMT32? 8085?  :D (just kidding, that's how I started back in the early 80's)
Jose
 

Offline dmendesf

  • Regular Contributor
  • *
  • Posts: 161
  • Country: br
Re: Standardising on a single microcontroller or family
« Reply #1 on: September 27, 2020, 01:39:30 am »
If you want IOT stuff go for ESP32 (embedded wifi +bt, lots of communication libraries ready). If you want to do signal processing stuff go to STM32 (3 to 5 simultaneous sampling MSPS ADCs). That's my 2c advice.
 
The following users thanked this post: Josebeeblebrox

Online blueskull

  • Supporter
  • ****
  • Posts: 14209
  • Country: cn
  • Power Electronics Guy
Re: Standardising on a single microcontroller or family
« Reply #2 on: September 27, 2020, 01:42:48 am »
There is none. For CPU performance, there are Cortex A7 chips with copackaged RAM that you can run Linux on, and for analog performance, there are STM32 or PIC32 with combined over 10Msps of sample rate on ADCs, for versatility there is PSoC with built-in FPGA. Neither is replaceable with each other.
 
The following users thanked this post: Josebeeblebrox

Offline jnz

  • Frequent Contributor
  • **
  • Posts: 530
Re: Standardising on a single microcontroller or family
« Reply #3 on: September 27, 2020, 01:49:50 am »
If you want IOT stuff go for ESP32 (embedded wifi +bt, lots of communication libraries ready). If you want to do signal processing stuff go to STM32 (3 to 5 simultaneous sampling MSPS ADCs). That's my 2c advice.

For practical reasons this is fair. If I was a hobbyist, it would ESP32 and STM forever.

But... commonality is way oversold. Even in STM32 world, the F1 to H7 aren't really all that similar. And the hal still sucks so far as I know.



 

Offline Josebeeblebrox

  • Newbie
  • Posts: 3
  • Country: nz
  • I'm just this guy...
Re: Standardising on a single microcontroller or family
« Reply #4 on: September 27, 2020, 05:41:30 am »
Obrigado dmendesf! I guess I'll have to learn at least 2 families and as jnz says there is not much commonality even within the same family...
 

Offline GromBeestje

  • Regular Contributor
  • *
  • Posts: 158
  • Country: nl
  • AndrevS @ IRC
Re: Standardising on a single microcontroller or family
« Reply #5 on: September 27, 2020, 07:23:29 am »
In the generic case, I'd say STM32. It's a broad family, but the variants tend to be pin compatible.  (most of them, but not the G series)

However, this is not a definite answer. There is no one size fits all. If you're looking for doing something like Bluetooth Low Energy, then I would recommend the nRF52 series. If you're looking for WiFi, I suggest the ESP32.

So, yeah, I'd say, standardise on STM32, but don't de afraid to derive from that if your use case has specific requirements.
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 3323
  • Country: us
Re: Standardising on a single microcontroller or family
« Reply #6 on: September 27, 2020, 09:41:50 am »
Even a single manufacturer's product line (like "AVR") can have quite a lot of "non-standardization" issues.The new "mega0" style AVRs are programmed substantially differently that slightly older AVRs.  Ditto for ARMs, even from a single manufacturer.  SAMD vs SAM4 from Microchip are substantially different in spite of having nominally similar CPUs.

 :-(
 

Offline ebclr

  • Super Contributor
  • ***
  • Posts: 2199
  • Country: 00
Re: Standardising on a single microcontroller or family
« Reply #7 on: September 27, 2020, 09:53:08 am »
One woth every second of your time is  PSoC
 

Offline jnz

  • Frequent Contributor
  • **
  • Posts: 530
Re: Standardising on a single microcontroller or family
« Reply #8 on: September 27, 2020, 05:13:34 pm »
One woth every second of your time is  PSoC

I'd like to think so, but I have yet to ever need to fabric/FPGA peripheral, as much as I'd like to use it, just never had a need!  Although, to your point, if you had to lock down to at least one company, Cypress (now Infineon) with the PSoC isn't bad. When you do need a small amount of fabric you would have it.
 

Online radar_macgyver

  • Frequent Contributor
  • **
  • Posts: 452
  • Country: us
Re: Standardising on a single microcontroller or family
« Reply #9 on: September 27, 2020, 05:20:49 pm »
The fabric comes in handy when you need an oddball collection of peripherals (eg: six SPI ports). Even when you don't need the fabric, the ability to route special functions to almost any pin makes PCB layouts with PSoC a breeze. The downside is cost, and the requirement to use their IDE to configure the programmable logic and analog.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 7693
  • Country: us
Re: Standardising on a single microcontroller or family
« Reply #10 on: September 27, 2020, 05:28:33 pm »
One worth every second of your time is  PSoC

I haven't built anything with it but I'm a huge fan of the dual core PSoC 6.  There are a lot of videos...

Many times I want something with a 'stamp' form factor so I can plug it into a daughter card.  The mbed LPC1768 was a favorite but I think I'm getting really interested in the Teensy 4.1.  It's nearly 8 times as fast as the ESP32.  It can run at 600 MHz!  That's 300 times as fast as an Arduino Mega and 24 times as fast as an Arduino Due.  Just sayin'...

The iMXRT1062 chip used in the Teensy 4.1 has a concise 3,437 page User Manual - there will be a test later!

Look at the datasheet.  Is there enough information to program the device without the HAL?  Can you figure out how the DMA and Interrupt Controller work?  Can you figure out how to write an interrupt driver?  Can you figure out how to turn the UART clock and power on?  I always get the UART working first.  My experience with NXP datasheets and user manuals has always been positive.

If you plan to use the factory provided HAL, many of these things are simplified but you will probably never know how and why they work.
 

Offline Harjit

  • Regular Contributor
  • *
  • Posts: 109
  • Country: us
Re: Standardising on a single microcontroller or family
« Reply #11 on: September 27, 2020, 10:30:07 pm »
I think a lot depends on what you want to do and the level of abstraction.

I've seen a lot of work done with Raspberry PIs, Arduinos, etc.

These eco systems are great because they have a decent entry bar and there is a ton of stuff people have done with them.

The Teensy 4.1 is quite interesting for a few reasons:
1) Incredibly high performance level
2) Arduino port
3) Active community and support
4) Pretty decent internal architecture, if you want to ever go down the bare metal path.
I say pretty decent because they have some advanced peripherals that they have done a really good job of connecting together and then, out of left field, there are a few important ones that they don't interconnect. I'm guessing they had to get the part out and let it go.
Also, because of the Arduino port, you'll have a lot of code to look at and repurpose.
5) Dirt cheap

NOTE: I haven't used the Teensy 4.1 - just looked very closely at the chip (actually, I looked at the iMXRT1064 but it is close enough).

My experience has been with the STM32F1, and F4 family with a deep dive into the H7 and G4. I'll be doing a project soon with the STM32G474 instead of the iMXRT1064 because I can get the STM32G474 in an 8mm x 8mm package @ 0.8mm ball pitch VS 12mm x 12mm or 14mm x 14mm @ 0.8mm ball pitch for the iMXRT1064. How I wish I could use the iMXRT1064 - it is quite well thought out.
 

Offline Flump

  • Frequent Contributor
  • **
  • Posts: 518
  • Country: gb
Re: Standardising on a single microcontroller or family
« Reply #12 on: October 20, 2020, 06:17:32 am »
I have recently been considering this for myself as I started playing (totally new to microcontrollers) around with them about 2 months back
and so far I have tried-

Arduinos- Nano, Nano 33 IOT, Uno, Mega.
Stm32 F103C8T6, F401CCU6.
Seeeduino Xiao.
ESP32.

They are all different and shine in different areas but I have settled on the ESP32 for general use,
mostly because it has classic bluetooth so no need for an extra module.

one word of caution though to anyone getting into microcontrollers-
watch out for the clones/fakes as often they use different chipsets and pin layouts.

Which is why I have just put an order in for 5 genuine Espressif Systems ESP32's
ESP32-DevKitC-32E
https://www.mouser.co.uk/ProductDetail/356-ESP32-DEVKITC32E


 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf