![Intermation](/img/default-banner.jpg)
- 186
- 1 576 241
Intermation
United States
Приєднався 11 лют 2018
Installation and Use of the Visual Studio Code ESP-IDF Extension
Since I use VS Code with the ESP32 hardware development kit to demonstrate some of the theory explained in this channel, I thought it might be a good idea to describe how my environment is set up. This includes the installation of the ESP-IDF extension and a demonstration of the compiling, flashing, and execution of a sample program. Visual Studio Code can be downloaded from
code.visualstudio.com/download
Timestamps
00:00 | Intro
00:35 | Finding and installing ESP-IDF extension
01:16 | Configuring the ESP-IDF extension
02:07 | Note about administrative privileges
03:26 | Opening an ESP-IDF sample project
04:18 | Examining the components of the sample program
08:11 | The purpose of fflush()
08:48 | Compiling the sample program
09:22 | Flashing the sample program binary to the ESP32
10:45 | Opening a terminal to view ESP32 output
Hashtags
#espidf #vscode #installation
code.visualstudio.com/download
Timestamps
00:00 | Intro
00:35 | Finding and installing ESP-IDF extension
01:16 | Configuring the ESP-IDF extension
02:07 | Note about administrative privileges
03:26 | Opening an ESP-IDF sample project
04:18 | Examining the components of the sample program
08:11 | The purpose of fflush()
08:48 | Compiling the sample program
09:22 | Flashing the sample program binary to the ESP32
10:45 | Opening a terminal to view ESP32 output
Hashtags
#espidf #vscode #installation
Переглядів: 39 478
Відео
USB to UART Bridges and Their Use in Embedded Systems and IoT
Переглядів 8 тис.Рік тому
The complexity of a USB interface makes the old school asynchronous serial UART interface attractive to embedded system development. In this video, we show how the USB to UART bridge works, how to install a Windows driver for one of these bridges, and demonstrate a connection to an ESP32 evaluation board using the CP2102 bridge. We also demonstrate the operation of a watchdog timer trying to re...
Intro to Hardware Development Kits and Evaluation Boards
Переглядів 3,5 тис.Рік тому
Computing professionals are familiar with the software development kit (SDK or devkit) to support the creation of applications. When it comes to physical computing, we can use a hardware development kit or HDK. In this video, we present a brief history of HDKs along with some of their common features. Timestamps 00:00 | Intro 02:17 | Hardware development in the old days 04:23 | Advances that ma...
Figuring Out Your Computing Personality
Переглядів 2,8 тис.Рік тому
Many of my students know they want to be in computing but aren't sure which sub-discipline to go into: computer science, computer engineering, software engineering, information technology, information science, data science, or cybersecurity. This video may not answer that question, but it offers a resource that might help. Using the problem space presented in one of the ACM/IEEE-CS Computing Cu...
Single-Bit Error Correction using CRCs
Переглядів 2,1 тис.Рік тому
It turns out that the check bits calculated using cyclic redundancy check hardware can also be used for single error correction if the data length is within certain requirements. This video demonstrates how it works using a four-bit CRC circuit built from an internal linear feedback register (LFSR). Timestamps 00:00 | Intro 00:25 | Review of the steps to building CRC hardware 02:06 | 4-Bit CRC ...
Building CRC Hardware using Internal Linear Feedback Shift Registers
Переглядів 3,5 тис.Рік тому
A cyclic redundancy check is easily implemented using an internal linear feedback register. In this video, we begin with a review of the CRC, show how it is implemented mathematically, and present the hardware with which it can be done. Timestamps 00:00 | Intro 00:18 | The problem with datasum-based checksums 01:41 | Quick CRC review 02:59 | Demo of how CRC and modulo are related 08:22 | Append...
Internal Linear Feedback Shift Registers
Переглядів 2,2 тис.Рік тому
The internal linear feedback shift register is an alternative to the external LFSR. These devices are capable of many functions including error detection and error correction using very little hardware and outperforming anything possible with software. Timestamps 00:00 | Intro 00:33 | Review of ring counters 02:04 | Review of external LFSRs 03:14 | Intro to internal LFSRs 04:12 | Demo of intern...
Pseudo Random Number Generator Implemented in JavaScript
Переглядів 1,3 тис.Рік тому
The beauty of a linear feedback shift register is that their hardware implementation is fast and simple. So why implement an LFSR in code? Well, mostly to get familiar with their operation. Timestamps 00:00 | Intro 01:09 | Review of Organization of a Linear Feedback Shift Register 02:27 | Review of XOR Operation 03:01 | Mapping LFSR Components to the Code 04:00 | Review of Bitwise Shift Operati...
Pseudo Random Numbers from a Linear Feedback Shift Register
Переглядів 3 тис.Рік тому
If we had an infinitely long list of random ones and zeros, we could generate a random number by jumping to an arbitrary spot on that list and reading as many bits as we need. We can't store an infinitely long list of ones and zeros or even one that's long enough to seem infinite. What we can do is generate an incredibly long list using a linear feedback shift register. Timestamps 00:00 | Intro...
Designing Binary Sequence Generators with Shift Registers
Переглядів 3,1 тис.2 роки тому
There are many applications for binary sequences including the Ethernet start of frame delimiter, frequency dividers, and pseudo random number generators. In this video, we present the steps used to design the feedback function for a shift register to create one of these sequences. Timestamps 00:17 | Intro 01:46 | Divide by 5 Circuit Design 04:07 | Determining Number of Required Flip-Flops 05:5...
Designing Integer Sequence Generators with D Flip-Flops
Переглядів 3 тис.2 роки тому
In this episode, we design two simple state machines (one 2-bit and one 3-bit) that generate simple integer sequences. It helps if you have seen the use of D flip-flops and Karnaugh maps, but it's not necessary. Timestamps 00:04 | Intro 01:52 | Design of a 2-Bit Sequence Generator 02:38 | Determining Number of Bits Required for 4 Integer Sequence 02:58 | Basic Configuration of 2-Bit Sequence Ge...
Intro to Linear Feedback Shift Registers and Sequence Generators
Переглядів 8 тис.2 роки тому
Linear Feedback Shift Registers (LFSR) have many applications in computing including clock frequency dividers, pseudo-random number generators, or simple generators of binary sequences. The steps required for their design may be a bit confusing, so this video is offered as foundation to LFSRs and their use in generating binary sequences. Timestamps 00:00 | Intro 00:44 | Properties decimal integ...
Converting a Moore Machine to Mealy with Simplification
Переглядів 2,3 тис.2 роки тому
Mealy finite state machines typically have fewer states than the corresponding Moore machine, but this comes at a cost. They are more difficult to design. In this video, we convert two different Moore machines to Mealy machines and perform the necessary simplifications. Timestamps 00:00 | Intro 00:32 | Intro to 1st Moore machine example - (H v T)*TT 02:01 | Moore machine transition table for (H...
Finite State Machine Output - Mealy vs. Moore
Переглядів 10 тис.2 роки тому
Finite State Machine Output - Mealy vs. Moore
Coding a Finite State Machine - A Second Look
Переглядів 2,8 тис.2 роки тому
Coding a Finite State Machine - A Second Look
Finite State Automata - From Theory to Code
Переглядів 6 тис.2 роки тому
Finite State Automata - From Theory to Code
A Quick Non-Deterministic to Deterministic Finite Automata Conversion
Переглядів 17 тис.2 роки тому
A Quick Non-Deterministic to Deterministic Finite Automata Conversion
Converting Non-Deterministic Finite Automata to Deterministic Finite Automata
Переглядів 4,4 тис.2 роки тому
Converting Non-Deterministic Finite Automata to Deterministic Finite Automata
Introduction to Finite State Machine Theory
Переглядів 10 тис.2 роки тому
Introduction to Finite State Machine Theory
Minimum Spanning Trees with Prim's and Kruskal's Algorithms
Переглядів 2 тис.2 роки тому
Minimum Spanning Trees with Prim's and Kruskal's Algorithms
Traversing Ordered Rooted Trees in Discrete Math
Переглядів 2,7 тис.2 роки тому
Traversing Ordered Rooted Trees in Discrete Math
Properties of Relations in Discrete Math (Reflexive, Symmetric, Transitive, and Equivalence)
Переглядів 37 тис.2 роки тому
Properties of Relations in Discrete Math (Reflexive, Symmetric, Transitive, and Equivalence)
Intro to Relations in Discrete Math (and Ways to Represent Them)
Переглядів 2 тис.2 роки тому
Intro to Relations in Discrete Math (and Ways to Represent Them)
The Probability of Winning (a Game of Tennis)
Переглядів 2,8 тис.2 роки тому
The Probability of Winning (a Game of Tennis)
Probability Examples with Multiple-Choice Quiz & Lottery
Переглядів 3 тис.2 роки тому
Probability Examples with Multiple-Choice Quiz & Lottery
Combinations with Repetitions in Discrete Math
Переглядів 13 тис.2 роки тому
Combinations with Repetitions in Discrete Math
Combinations in Discrete Mathematics with Examples
Переглядів 1,5 тис.2 роки тому
Combinations in Discrete Mathematics with Examples
Derivation and Application of Permutation Formula in Counting
Переглядів 1,4 тис.2 роки тому
Derivation and Application of Permutation Formula in Counting
You just make complicated things easy to understand and with a lot of examples. Thank your sir.
Hi! Thanks for sharing your knowledge about CRC. In real life, parallel CRC is more practical than serial CRC, which can only process one bit of data at a time. So, can you talk about parallel CRC, like CRC32, with an 8-bit input data width? Additionally, I’ve heard about "magic numbers" in CRC. Normally, at the receiving end, the redundant data is zero, which indicates no error in a typical CRC. However, there are other "magic numbers" like 0xc704dd7b in CRC32. I’m having trouble understanding these different "magic numbers." Can you explain more about the concept of CRC "magic numbers"? Again, thanks a lot for sharing. You made the basics of CRC clear to me :)
Brilliant! Thank-you!
I don't know why this channel isn't more popular. It's definitely high quality content, some of the best on the topic.
You are a good man
How's he writing like that 😢
instant like. Thanks for the explanation sir
This is so helpful. MILES better than my uni lecturer.
Why isn't the star (where lambda is the empty string and a in this example a character from the alpabet) -> (lambda | a)+? Like a+ means match at least one time and (lambda | a)+ means match at least one time (where the empty string is matched once for example). So wouldn't a* be equal to (lambda | a)+? Is star redundant to the grammar? Is it just a shorthand or are there other reasons for it? Thanks for your great videos, they are awesome.
you are a great teacher
This is the only thing that worked, you explained everything, step by step, thank you!
Awesome
You are the best! Congratulations
When I was earning my master's degree, I heard a lot about finite state machines (FSMs), but it was all theory - like clouds in the sky: there's a lot of water, but you can't drink it. I toiled for three months after graduating until I implemented my first FSM in code in 1981. Now, there is a programming methodology based on this concept - v-agent oriented programming (VAOP) - with many examples of its implementation. It's best to start learning about VAOP with this article on Medium: "Bagels and Muffins of Programming or How Easy It Is to Convert a Bagel into a Black Hole".
Seems like he stopped making videos
Nope, we just had a really bad family crisis that has taken a while to get through. I plan to get back to making videos this summer. Thanks!
aweosme video! however, i would like to see the epsilon transition being tackled
Great video. Love your clarity and presentation. Thanks
20:17
impressive teacher.I wish i can have a teacher like this... i like low level stuff and he is good at it
good job. I got error of idf.py not recognized. how to fix? Thanks.
We are the ones thanking you!
Cybersecurity is all over the map, and has its own specialties. Low-level hardware and software is an important component of it. Think RF, onsite electronic security, reverse engineering malware and ROM auditing (requiring assembly language), exploit and shellcode writing.
Im absolute going to binge watch the entire playlist hahaha. Very great teacher!
Thank you for realy high quality video and very clear explanation. Do you know maybe if it is possible to convert USB keyboard to uart with this bridge? I have small keyboard that has only 4 buttons (arrow keys) and I want to detect which one is pressed on my esp32
Very nice thank you so much
would be awesome if you could teach us how to use the amazon common software with the esp32, i've found very little information on it
we in India have computer engg ..no software engg ... i took a mean course known as BCA which is like software + low level.. But i am into low level
Ça ne peut être expliqué plus clairement. Bravo.
Thank you for sharing this content! Maybe my thoughts are really a non sense topic, but I wonder what would happen if you try to plug a USB keyboard DIRECTLY to a USB-TTL converter. Why nothing happens and if there's a way to create a hardware (a bridge that doesn't need a PC to interface) that initializes the keyboard (you said the host need to start the USB peripheral) and then starts converting the input.
Hey i had a question. Sometimes this method doesnt work and we need to use an epsilon transition method instead. How do we know if an NFA can be solved in the way described in this video and when we need to use the epsilon method?
Coming from a 64 yo guy who has never been a techy. You are THE BEST.. I've watched a lot of yt vids, and have learned a lot in the past year. And I've beat my head against the brick wall with ESP32's.. Till I watched your video 'intro' ... And it worked, considering I was using a low value amazon dev board. Thanks, I'll keep watching, You keep instructing..
Heisenberg-Breaking Bad-Walter White
Good Work thanks a lot❤
Thank you ❤❤❤❤
Excellent videos thank you
I would be great if you can comment on how these packets being sent/received are organized
Hi! Thanks for the video. I have a question about the flow: For an N- bit message and an M-bit divisor. 1. The N- bit message is being sent over the course of N clock cycles. Simultaneously the reminder is being calculated in the TX and in the RX. 2. After the first N clocks the TX trasmits the M-bit reminder. At this point in time, the LFSR in the RX should have the same reminder as was calculated in the TX. What happens on the RX side at that moment? If we stop shifting the LFSR and capture the next M bits of the reminder we will be able to compare them at the end of transmission (N+M cycles) to validate the correctness of the TX/RX. I didn't understand your comment at the end about how to verify/use the reminder that is being sent after the message. Thanks!
Very good explanation of the theory and implementation . I have a question that you would be happy to answer with :D. Which taps to select for creating a certain "pseudo random sequences"?
Every software and computer engineer should watch your lectures. Amazing.
great explanation. thanks
Incredibly easy thanks to you!
Really love your explanations
Hey Tarnov. Where have you been at?
Thanks a lot!
very grateful to have found your channel , you explain everything very well.
I generally read comments before watching a video, so, to help others find this amazing video, here's my review - 5⭐
Hi Im not able to configure cmake file, It shows an error with include path. is there a way i can solve it?
Your videos are proving to be instrumental for me. My professor isn't of much help right now and you're filling in the blanks. Thank you.
I think it should be a crime to teach computer theory without following up with some code