Intermation
Intermation
  • Видео 186
  • Просмотров 1 585 827
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 | ...
Просмотров: 39 987

Видео

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,1 тыс.Год назад
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
Просмотров 18 тыс.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
Finite State Machines Revisited
Просмотров 2,6 тыс.2 года назад
Finite State Machines Revisited
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
Introduction to Basic Probability
Просмотров 1,1 тыс.2 года назад
Introduction to Basic Probability
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

Комментарии

  • @siosinv3851
    @siosinv3851 2 дня назад

    Great, talk. I'm looking forward to more!

  • @aymanal-dali364
    @aymanal-dali364 4 дня назад

    I just want to say I truly appreciate you and your channel. There is a wealth of information here and your teaching style is fantastic. Please know you are making a difference in other people's lives (mine for sure)

  • @MasterMathematicswithMatthias
    @MasterMathematicswithMatthias 6 дней назад

    You just make complicated things easy to understand and with a lot of examples. Thank your sir.

  • @ruoyuliu3526
    @ruoyuliu3526 10 дней назад

    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 :)

  • @WilhelmDrake
    @WilhelmDrake 14 дней назад

    Brilliant! Thank-you!

  • @WilhelmDrake
    @WilhelmDrake 14 дней назад

    I don't know why this channel isn't more popular. It's definitely high quality content, some of the best on the topic.

  • @pourya7294
    @pourya7294 16 дней назад

    You are a good man

  • @relaxationwithboama
    @relaxationwithboama 19 дней назад

    How's he writing like that 😢

  • @khalilchermiti6200
    @khalilchermiti6200 26 дней назад

    instant like. Thanks for the explanation sir

  • @BoredTAK5000
    @BoredTAK5000 29 дней назад

    This is so helpful. MILES better than my uni lecturer.

  • @dodsjanne
    @dodsjanne Месяц назад

    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.

  • @habibullah7425
    @habibullah7425 Месяц назад

    you are a great teacher

  • @whoozie
    @whoozie Месяц назад

    This is the only thing that worked, you explained everything, step by step, thank you!

  • @ziliscite
    @ziliscite 2 месяца назад

    Awesome

  • @aryafala949
    @aryafala949 2 месяца назад

    You are the best! Congratulations

  • @vrakitine
    @vrakitine 2 месяца назад

    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".

  • @leas9658
    @leas9658 3 месяца назад

    Seems like he stopped making videos

    • @Intermation
      @Intermation 3 месяца назад

      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!

  • @octavalexandru1830
    @octavalexandru1830 3 месяца назад

    aweosme video! however, i would like to see the epsilon transition being tackled

  • @MrVipulLal
    @MrVipulLal 3 месяца назад

    Great video. Love your clarity and presentation. Thanks

  • @forheuristiclifeksh7836
    @forheuristiclifeksh7836 3 месяца назад

    20:17

  • @skillradius9867
    @skillradius9867 3 месяца назад

    impressive teacher.I wish i can have a teacher like this... i like low level stuff and he is good at it

  • @saydiy1528
    @saydiy1528 3 месяца назад

    good job. I got error of idf.py not recognized. how to fix? Thanks.

  • @CheerfulBackpacker-hp1kn
    @CheerfulBackpacker-hp1kn 3 месяца назад

    We are the ones thanking you!

  • @IndianaJoenz
    @IndianaJoenz 3 месяца назад

    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.

  • @j-p-d-e-v
    @j-p-d-e-v 3 месяца назад

    Im absolute going to binge watch the entire playlist hahaha. Very great teacher!

  • @SzymonGroth
    @SzymonGroth 3 месяца назад

    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

  • @tiara7624
    @tiara7624 3 месяца назад

    Very nice thank you so much

  • @pacsmile
    @pacsmile 3 месяца назад

    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

  • @skillradius9867
    @skillradius9867 4 месяца назад

    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

  • @roccococolombo2044
    @roccococolombo2044 4 месяца назад

    Ça ne peut être expliqué plus clairement. Bravo.

  • @cpqd_viola
    @cpqd_viola 4 месяца назад

    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.

  • @cricketmaster7697
    @cricketmaster7697 4 месяца назад

    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?

  • @briancreekmore9312
    @briancreekmore9312 4 месяца назад

    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..

  • @charliesarath5770
    @charliesarath5770 4 месяца назад

    Heisenberg-Breaking Bad-Walter White

  • @khaledalsouleman8290
    @khaledalsouleman8290 4 месяца назад

    Good Work thanks a lot❤

  • @AdhamEmad-hd5pg
    @AdhamEmad-hd5pg 5 месяцев назад

    Thank you ❤❤❤❤

  • @MrBillady3
    @MrBillady3 5 месяцев назад

    Excellent videos thank you

  • @shloper
    @shloper 5 месяцев назад

    I would be great if you can comment on how these packets being sent/received are organized

  • @shloper
    @shloper 5 месяцев назад

    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!

  • @debasishkar761
    @debasishkar761 5 месяцев назад

    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"?

  • @bellybooma
    @bellybooma 5 месяцев назад

    Every software and computer engineer should watch your lectures. Amazing.

  • @user-df2gz8zg5o
    @user-df2gz8zg5o 5 месяцев назад

    great explanation. thanks

  • @jacobmonster8234
    @jacobmonster8234 6 месяцев назад

    Incredibly easy thanks to you!

  • @rohithkumarbandari
    @rohithkumarbandari 6 месяцев назад

    Really love your explanations

  • @JoyDavidson
    @JoyDavidson 6 месяцев назад

    Hey Tarnov. Where have you been at?

  • @driesvanranst3440
    @driesvanranst3440 6 месяцев назад

    Thanks a lot!

  • @solarion33
    @solarion33 6 месяцев назад

    very grateful to have found your channel , you explain everything very well.

  • @user-cb6kz1ll3l
    @user-cb6kz1ll3l 6 месяцев назад

    I generally read comments before watching a video, so, to help others find this amazing video, here's my review - 5⭐

  • @josiavarghese
    @josiavarghese 6 месяцев назад

    Hi Im not able to configure cmake file, It shows an error with include path. is there a way i can solve it?