8-bit Teensy deprecated soon ?

Status
Not open for further replies.

Mika

Member
Dear all,

I teach the C langage in a university and I am searching for a simple, low cost microcontroler platform for my students, something that they could easily use by their own outside from the classroom. I don't want a platform with OS like linux on it, simple libraries containing basic things like malloc may be enougth, C++ support may be good too. I like the teensy devices for my students as flashing can be made simply with a usb cable (like arduino but I do not want arduino as it is too easily associated to already written code, thus it targets in my mind more hobbyists than teaching), and because the toolchain is open source, gcc based, and cross platform.

As I work in a university, I don't have a good perception of "the market" of microcontrolers, of what engeneers do or want. So I would appreciate a little help for choosing a platform for my students, that's the reason for my post.

I want a small microcontroler that is representative of what is used in the industry. I know this question can seem to make nonsenses as a microcontroler is chosen for a given application, but my question is more global. I speak about 8 bit or 32 bit processors. I thought that 8 bit microcontroller were much more used than 32 bit ones in most "simple" applications, as long as for example some real-time computation is not required. On the PJRC site, I guess that it is possible that 8-bit teensy could be deprecated in a few years and I guess it's because new projects use less and less 8 bit processors. I guess that the evolution of the price of 32 bit ARM is the main reason.

And so I have a question, which response may help me to choose a platform for my studends : Given the cost of 32 bit processors, can we guess that 8 bit processor will disappear or can be expected to be significantly less widespread in a near future ? Or are they now thought for specific applications ? (for example low power applications ? I am not sure).

Another question : I heard about Micropython for example. I guess it will not replace the C in a near future for microcontroler applications. But I you have an opinion about that I am interested too.

Thanks a lot,
Mike
 
I thought that 8 bit microcontroller were much more used than 32 bit ones in most "simple" applications

This certainly was true in the not too distant past and might still even be the case today given legacy designs manufactured at high volume. But the pretty clear trend is towards 32 bits.


Given the cost of 32 bit processors, can we guess that 8 bit processor will disappear or can be expected to be significantly less widespread in a near future ?

8 bit architectures like AVR, PIC and even 8051 have a lot of inertia. They'll probably be around in some form for a very long time. Most of the other 8 bit architectures that weren't the main ones have already died away.

But the overall trend is shrinking silicon feature sizes. If you follow tech news, you'll hear much about Apple using 5nm for their new M1 chip, AMD using 7nm, Intel using 10 or 14nm, nVidia using 8nm, etc. Today most 32 bit microcontrollers are made with much less advanced (and much less expensive) silicon ranging from 130nm to 40nm. The upcoming RT1170 chip is supposedly the first microcontroller using 28nm.

One thing that doesn't change (unless using wafer-scale flip chip packaging) is the large bond wire pads. It just isn't feasible to make a chip smaller than a couple square mm size, because the wires have to attach somehow. Once you've made a reasonably minimum size chip, there's little point to putting a low-capability 8 bit processor on it when a far more powerful 32 bit design can easily fit. Likewise for the on-chip peripherals, it just doesn't make sense to skimp on features as was done 20-some years ago.

Simply staying with the much older silicon process might seem more economical, but the other industry trend is towards larger wafer sizes. You need less silicon area to do the same thing because the transistors and wires are much smaller, which results in much less expensive chips because many more of a smaller size chips are made on the much larger wafer.

This is why parts with ARM 32 bit Cortex-M0 are selling at prices lower than old 8 bit chips. As this trend continues, it's easy to imagine even M4 and M7 may become very inexpensive. ARM is already making a M55 core that's expected to become the future as more advanced silicon is used.


I heard about Micropython for example. I guess it will not replace the C in a near future for microcontroler applications. But I you have an opinion about that I am interested too.

Software trends are so much harder to see, at least for me.

My gut feeling is most of the interest in Python is from the hobbyist & maker world.
 
Dear Paul,

thanks a lot for this awesome anwser. I guess my teaching will be made with a M0 processor or something like that. Are Cortex Teensies compatible with mbed environment ?

Thanks again,
Mikhaël
 
I believe you'd probably be better off going with M7. While all Cortex-M are pretty similar from a higher level programming point of view, if you do get into lower level details, M7 (and some M4) have caches and advanced bus structure which are already present on higher end parts and likely to become the normal at the low end over the next decade.

PJRC doesn't directly support use of mbed. I know some people have used their tools and software, so it certainly is possible, but I couldn't guide you on how to do that.
 
Dear Paul,
my teaching is an initiation and I guess too low level consideration will not be considered. I however will check about what you mention.
A last question : does the toolchain (including the software to flash the teensy) work under linux OS ?

Thanks again,
Mikhaël
 
I know Paul is better at answering this than I am, but...

Yes you can install Teensyduino on Linux. You can see more information about installing Teensduino on the download page: https://www.pjrc.com/teensy/td_download.html

I know the mainly supported on Ubuntu, and probably several others that are similar to Ubuntu.
If you look at the download page you will find downloads for 32 bit and 64 bit X86 builds, Arm 32 for RPI. Arm 64 for Jetson. Not sure if it is fully working yet for 64 bit RPI
 
Yes, definitely works on Linux. I personally use Linux as my primary desktop system.

But yeah, Linux support with the caveat that many Linux distros & architectures exist. It's not simple like MacOS and Windows where we can test against one system and know it should always work (though I do use 5 different Macs for testing against various versions of MacOS....)

We currently publish 4 copies of the software, for Intel X86 and ARM, supporting 32 and 64 bits on both.

PJRC tests on Ubuntu 18.04 x86-64, Raspbian running on Raspberry Pi 4 for ARM 32 bit, and Ubuntu on Jetson TX2 for ARM 64 bit. No testing is being done with x86 32 bit anymore. Most other distros work.

Testing ARM 64 on Raspberry Pi 4 with Ubuntu is on my to-do list.

When people have reported Linux incompatibility, it's almost always something messed up with Gentoo or Arch. I don't recommend using those 2 systems!
 
Ok very nice !
Ubuntu is my main linux distribution.
MacOs makes things more and more complicated I have similare problems in some of my projects.

Thanks a lot for these informations !
 
I have a very last question : If I need something like 30 to 100 models of a cortex-based board, is it easily available for you ? How long typically (your answer does not really engage you, it is to get an estimation) may it require to give such an amount of boards ?

Best regards,
Mike
 
Usually 100 can ship within 1 business day.

Many distributors also carry Teensy, usually with enough stock to ship this size order. List of distributors is on this page:

https://www.pjrc.com/store/

They're also stocked by Mouser and Digikey, via Sparkfun and Adafruit. Digikey usually has plenty and they ship very fast.
 
Is this a course for an electrical or computer engineering syllabus? Is it part of a computer science syllabus? As a senior engineer that is oft dragged (kicking and screaming) into interviews, my colleagues and myself have some concerns about the stuff being taught to university students where the instructor, materials, theories, and course material are ill suited for the professional practitioner.

For over 15 years, a group of cranky old engineers has taught an embedded design course at a private school. Most of them exit this course with more practical skills and knowledge than many university students after their senior 'project'.

We tend to use PJRC stuff for the more advance stuff during last two or three weeks; and use simple TI and AVR stuff during the initial phase. We de-emphasize IDEs and browser-based tools. We minimize set-up and configuration issues, but do focus on tool-chain config and set-up. The kids come into to the class with (at least) trig and algebra and concurrent calculus, and the basic electronic/electrical theory taught in high-school physics. We avoid pure computer science stuff, as they are provided CS theory in other courses.

Instructors may take this as nothing other the rant of a old and mean-spirited engineer (and I am). But in the hardware world, the old cranks are more likely to be part of the hiring process; as opposed to the software world where the graduate is seldom interviewed by someone with more than five years experience.
 
Dear BJB,
it is a first initiation to microcontrolers for targeting basic electrical engeneering. It follows a course concerning a more computer science oriented approach around the C language.
I agree IDE are not a good thing. However I don't want to spend a lot of time installing software on my students computers, I plan to make a video so that they can learn this by themselves. I plan to make them work on microcontroler interfaces using scopes or logic analysers for purpose of debugging. Also I want to show basic IRQs and very basic time sharing. I want to use GCC + an editor, nothing more, and external components that they should link to the microcontroler by themselves. I also want them to use the microcontroller at home by themselves if wanted, and so I prefer not to rely on external device to flash the ROM.
For that reason teensy seems to be nice to me : GCC, flash through USB, not very costy, does not contain many already wired components around, etc.
The previous teacher used Microchip PIC devices and ... I hate them, both IDE, approximative C conformity, dynamic registers (!!!). I like AVR and I wanted to use teensy 2++, but as discussed on the forum it seems 8 bit microcontrolers become more and more deprecated. And my students will go out of the university in 4 years, so the tendency should be more stronger. Moreover Atmel was bought by microchip and I am not sure I want to start a new course with that, noone can know what microchip will do with AVR chips. I never tried TI microcontrollers, I can have a look.
I cannot use two platforms I do not have enougth time with the students, I have to choose a single one.
 
I am sorry I again have a question : about teensy-LC : It is said it is not 5V tolerant. Does it mean that injecting 5V to an input destroys the chip or the input, or juste the input signal is not properly "understood" by the board ?

Thanks a lot again,
Mike
 
Status
Not open for further replies.
Back
Top