Intermation
Intermation
  • 186
  • 1 576 241
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
Переглядів: 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
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

КОМЕНТАРІ

  • @MasterMathematicswithMatthias
    @MasterMathematicswithMatthias 15 годин тому

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

  • @ruoyuliu3526
    @ruoyuliu3526 4 дні тому

    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 8 днів тому

    Brilliant! Thank-you!

  • @WilhelmDrake
    @WilhelmDrake 8 днів тому

    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 10 днів тому

    You are a good man

  • @relaxationwithboama
    @relaxationwithboama 13 днів тому

    How's he writing like that 😢

  • @khalilchermiti6200
    @khalilchermiti6200 20 днів тому

    instant like. Thanks for the explanation sir

  • @BoredTAK5000
    @BoredTAK5000 22 дні тому

    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 3 місяці тому

    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 3 місяці тому

    Ç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 4 місяці тому

    Thank you ❤❤❤❤

  • @MrBillady3
    @MrBillady3 4 місяці тому

    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 5 місяців тому

    Incredibly easy thanks to you!

  • @rohithkumarbandari
    @rohithkumarbandari 5 місяців тому

    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?

  • @nomad-1776
    @nomad-1776 6 місяців тому

    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.

  • @Peter-bg1ku
    @Peter-bg1ku 6 місяців тому

    I think it should be a crime to teach computer theory without following up with some code