How old is that pristine book -- you did buy tat and never opened/read? The writers have this kind of habits -- they always buy books and many of them are left unread!!
Bought some 55 years ago
Understanding microcontrollers in general is even more useful for understanding ESP32.
Moreover: You don't show a good understanding of the ATmega328 either.
I pity your students.
Ah. The good old days when a bistable appeared in the text books as a circuit featuring a pair of triode valves ( vacuum tubes ) and computer memory consisted of a lattice of ferrite beads with wires threaded through in all directions. I also have a stack of ancient books, albeit not quite that old, but not far off, and the only reason I keep them is to prevent my wife filling up the shelves with her old rubbish.
Block Diagram is not the only material that is delivered to the students. It is just a component (sub-section) of Ch-2. The students are offered the following chpaters in 1 semester course (42 x 50 Minutes) along with extensive Lab Experiments. I try to teach to the best level of my understanding.
Ch-1 Fundamentals
Ch-2 Architecture
Ch-3 Instruction Set
Ch-4 Digital IO Controller
Ch-5 Analog-to-Digital Converter
Ch-6 UART Port Based Serial Data Communication
Ch-7 I2C Bus Based Serial Data Communication
Ch-8 SPI Port Based Serial Data Communication
Ch-9 Interrupt Structure
Ch-10 Timer/Counter
Ch-11 PWM
Ch-12 Peripheral Controllers and Devices
Ch-13 Sensors Interfacing
Ch-14 Sytem Design (Taxi Meter/Digital Weighing Scale/Prepaid Energy Meter)
Ch-15 Selected Library Functions
Ch-16 C++ Language in MCU Programming and Interfacing
Ch-17 Introduction to 16-bit 8086 MPU using MicroTalk-806 Trainer
Ch–18 Introduction to 32-bit ESP32 Microcontroller using ESP32 Dev Kit
Ch–19: Introduction to 8-bit ATtiny85 MCU using ATtiny85 Dev Board
Ch–20: Introduction to Multi-tasking using ESP32 and Arduino UNO
ClassPlanFall-2024(22-6-25 to 30-9-25) (1).pdf (85.9 KB)
Here is a sample lecture material of Ch-2 on Architecture:
Ch-2 ArchitectureLec (1).pdf (738.0 KB)
Here is a sample lecture material of Ch-3 on Instruction Set:
Ch-3 InstructionSetLec.pdf (936.9 KB)
Here is a sample lecture material of Ch-6 on UART:
Ch-6UARTLecRevised.pdf (384.0 KB)
Here is a sample lecture material of Ch-15 on ATtiny85:
ATtiny85OLEDStopWatch.pdf (642.1 KB)
[bunch of explanations and justifications]
I'm not looking for explanations; I'm pretty happy with my understanding of AVRs. I was trying to make suggestions that I think will improve your students' understanding of things, particularly when they (eventually?) need to learn/use OTHER architectures.
I appreciate your efforts to put a more formal description on things that most of us "take for granted" these days, and of course you know your students and their background better than we do, and there may also be language issues interfering.
But I wish your efforts went more in the direction of matching my own understandings. In particular:
that is shown with 8085 MPU
I frequently feel like you're trying to map the functionality of modern microcontrollers to 45-year old architectures like the 8085. Things are different now, and the way that microcontrollers are explained have also been changed and refined. I don't think there is much reason to compare an AVR, ARM, or ESP32, to an ancient architecture that your students have never seen, and probably never will see. I'm not sure exactly where the differences are; clearly there is no longer a need to go into details of memory read/write cycles, and there's a far greater importance on the higher-level operation of the peripherals, but ... it's tough.
On the one hand, you want your students to receive information that will be useful in UNDERSTANDING how the microcontroller works, even if that isn't 100% correct. On the other hand, any pieces that are incorrect will result in someone complaining. (heh. If it's one of your students that complains, it shows an unusually deep understanding...)
The newest diagram looks better.
55 years ago was 1970 (!! Do you feel old yet?
) 45 years ago there were 16bit microprocessors (including the venerable 8086.)
there may also be language issues interfering.
Yes! We are non-native English speakers.
But I wish your efforts went more in the direction of matching my own understandings. In particular:
Thank you for the good words.
Block Diagram is not the only material that is delivered to the students. It is just a component (sub-section) of Ch-2. The students are offered the following chpaters in 1 semester course (42 x 50 Minutes) along with extensive Lab Experiments. I try to teach to the best level of my understanding. . . .
For a Microprocessor Interfacing and System Design module in an Electronic and Electrical Engineering course, the course structure and content looks fine to me, although it is decades since I was anywhere near academia. I guess there is an equivalent software/firmware module where C, C++, assembler languages etc. are taught.
Of course you can argue about the choice of microcontroller but at least the ATmega328P is well documented (above the electronics/micro instruction level) and cheap enough that there can be one per student that they can play with.
In any such course RISC-V should at least be mentioned since there is a lot of focus in that area at the moment.
I guess that the majority of students who complete that course will go on to find employment in a relevant sector/industry, some will want a complete change say going into catering, some of the women will become mothers, the cream may remain in the university environment and go into areas like quantum computing, artificial intelligence etc.
For each chapter, the students get only 2x50 minutes. First 10 minutes I spend to review the last class works, 10 minutes on motivation and last 30 minutes on the current topics. The students are given Lecture Notes the samples of which I have attached in #66.
We are non-native English spaekers and yet we have to discuss the topics in mother tounge (the Bangla) for good communication. The technical jargons are pronouned as they are.
In an 1-semester course, we don't have much time to cover the details of ESP32; instead, we offer some overview and a Lab on internet connectivity.
In real life we read and learn many things whether they are needed or not like Paranormal Science, Abnormal Pshychology, etc.
We are non-native English spaekers and yet we have to discuss the topics in mother tounge (the Bangla) for good communication. The technical jargons are pronouned as they are.
As per wikipedia, more than 200 Million people speak Bangla. It seems to be one of the most spoken languages in the world.
Just to put it in perspective.
As per wikipedia, more than 200 Million people speak Bangla. It seems to be one of the most spoken languages in the world.
Unfortunately, over the last 50 years we could not translate enough Text Books from English to Bangla. Our libraries are still filled up by English version books. The reasons are that the Faculty Members of our Universities are lazy.
The reasons [for not translating English textbooks] are that the Faculty Members of our Universities are lazy.
I imagine that translating textbooks is both technically and legally difficult ("no, I don't want to authorize a translation of MY textbook with MY name on it as author into a language I can't even read to check for errors!")
Hmm. Would you allow "translate one or more sections of of this datasheet" as a "final project" in your class? If it's a suitable activity for faculty, it ought to be for students as well, right?
I ... can't think of an English-language book (ie "textbook") that I'd recommend that covers a similar curriculum to what you're attempting. Although a problem that I've noticed is that one's level of expertise in a subject increases, it becomes increasingly difficult to "judge" beginner texts. Maybe there should have been a lot more coverage of number bases, boolean algebra, "just what can a computer DO, anyway", and "how fast is this thing, anyway?"
My university curriculum requires that at least one textbook has to be recommended by the the faculty for the course he is teaching. Accordingly, I recommend a book which covers most of the topics of the syllabus. For the rest of the materials, I consult different books, datasheet, app notes, Google, ChatGPT, and Arduino Forum to prapare additional lecture sheets for the students.
It is upheld that best education can be offered only by mother tounge. Thai/Japanese/Russian people receive their education even at varsity level in their native languages. I have heard from my friends who have studied in Russia that any engineering book published in USA is immediately translated into Russian Language having legal permission from the publisher/author.
Teaching ATmega328P is relatively easier to me due to the presence of Arduino UNO Learning Kit which I can comfortably program using C++ to demonstrate many of the working principles of the MCU.
On the other hand, the internal hardware of ESP32 is highly abstracted and are purposely kept hidden to the users by Espressif. I have tried to make few diagrams at conceptual level based on datasheet and my intuitive understanding. (I admit that some misconceptions do exist here.)
ch-18 ESP32Lec (6).pdf (1.2 MB)
The ESP32 document gives you an opportunity to mention RISC-V since some of the ESP32 devices are now based on this instruction set architecture, for example the ESP32-C3. Most microcontroller manufacturers have one or more RISC-V products in their portfolio.
As I understand and see that the Espressif's gadgets are meant for quick development of low cost IoT products and sale it.
Te effectiveness of these tools in teahcing MCU Fundamentals in eductional institutes are questionable due to high abstraction of internal architecture and the criptic nature of IDF instructions.
Thank you Sir for this detailed diagram