Tuesday, January 29, 2013

Demo: STM32F4 + OV7670 + qSerialTerm

Yup, that mess of wires actually works.

In this post I'll cover 3 basic demo programs for the STM32F4 to interface the OV7670. Additionally, I've use qSerialTerm to receive data from the uC and display it in a human readable form.

I assume you know how the OV7670 works and have some knowledge about common peripherals found in uC (GPIO, USART, DMA, etc).

The board used in this demo was the custom development board: F4Dev. The STM32F4DISCOVERY wasn't used and can't be used because the Digital Camera Interface (DCMI) peripheral pins are not fully available in that development board.

I've used bareCortexM, an Eclipse based IDE, and libstm32pp, a template peripheral library, to develop these demos for the STM32F4.

The following configuration applies to all the demos:
  • The STM32F4 operated at 42 MHz, the system clock, the AHB clock, the APB1 clock and the APB2 clock, all of them operated at this frequency.
  • This 42 MHz frequency was obtained from the uC High Speed Internal (HSI) oscillator, which runs at 16 MHz, after scaling up the frequency using the uC internal PLL.
  • The MCO1 pin was configured to output the HSI clock (16 MHz) and this output was used to drive the OV7670 XCLK.

Demo 1: Scanning the SCCB bus (Code)


In this first demo, the STM32F4 will interface the OV7670 using a bit bang implementation of the SCCB protocol.

The uC will wait until the letter 'S' is received on the USART1 interface. Upon receiving this signal, the uC will read all the internal registers of the OV7670 using the SCCB interface.

After scanning all the OV7670 registers. The uC will report the address and values of the registers via the USART1 in a human readable format.

Default values of the internal registers of the OV7670

You can find the log file of the uC output here.

Under the hood details: The formatting was done using the printf function.

Demo 2: Reading a frame and visualizing the data in hex format (Code)


In this second demo, the STM32F4 will interface the OV7670 using the Digital Camera Module Interface (DCMI) to grab a frame from the OV7670 and then display the data in hexadecimal format.

The uC will wait until the letter 'S' is received on the USART1 interface. Upon receiving this signal, the uC will use the DCMI in single shot mode to grab one frame from the OV7670.

After capturing the frame, the uC will send all the data via the USART1 interface in a human readable hexadecimal format.

Frame taken in a pitch black environment. Data in hex format.

You can get the full log file here.

Under the hood details: The DCMI peripheral works hand to hand with the DMA peripheral. The data that is captured by the DCMI is moved by the DMA to a predetermined memory address without intervention of the uP. The formatting was done using the printf function.

Demo 3: Reading a frame and visualizing the data as an image (Code)

The last demo is pretty similar to the second demo. The difference is that the uC reports the frame data in binary form. On the PC side, this binary data is parsed and displayed in qSerialTerm.

Frames captured by the OV7670. Left: A electrical tape. Right: Pitch black image.

Under the hood details: After capturing the frame, the data was sent through the USART interface using the DMA peripheral.

That's it. You have access to my full code, both the STM32F4 firmware and the qSerialTerm are fully available to you. I hope this information will help you in projects that involve the OV7670.

428 comments:

  1. Thank you!
    It's midnight so I'll check it out tomorrow but I've been looking for this :-)

    Cat

    ReplyDelete
  2. Dear Jorge!
    Do you think, I can use the same camera module, with STM32F103 microcontroller? It doesn't have DCMI.

    ReplyDelete
    Replies
    1. Yeah, it can be done. I did it with STM32F103. But you cannot get higher frame rates. then I moved to stm32F4 discovery board. It was success, now I can get images upto 30 fps.

      Delete
  3. hi

    you said in your tutorial that stm32f4discovery can not be used, but according to its datasheet it has dcmi so what is the problem with stm32f4discovery?

    i have both stm32f4discovery and linksprite jpeg camera and is it possible to capture frames with them and send pictures to PCs monitor?

    thanks for your answer that would be appreciated.

    ReplyDelete
    Replies
    1. Hi Tolga,

      I mentioned that, because on the STM32F4DISCOVERY board has the DCMI pins connected to other ICs in the board, and I think that might distort the OV7670 signals and corrupt image data or even stop the DCMI interface from working.

      However on the comments of my post 'Hacking the OV7670', Austin Ciambriello claims that he has managed to get the STM32F4DISCOVERY working with the OV7670.

      So, in the end, it might be possible, I can't assure you that because I haven't tried that combination (STM32F4DISCOVERY + OV7670)

      Regards

      Delete
    2. thank you jorge, i will try my linksprite cam with stm32f4discovery, hope it would work :)

      Delete
    3. Hi Tolga,

      did you manage to make that setup working ?

      Delete
  4. I need qSerial to display image. Can you give me it. It is very neccesary for me. Thanks! My email is tvden018@student.ctu.edu.vn

    ReplyDelete
    Replies
    1. Hi Den,

      The qSerialTerm code is among my github projects. Go look for it (hint: top right of this page), modify and build it to yours needs.

      And please don't spam post the same comment in other blog entries.

      Delete
  5. Hi yoman, yes you can interface ov7725 with stm32f1 , i've already tried , it works and im even processing 320x240 data.i suppose that this is also truth for ov7670
    Hi Jorge, i've just realized the existence of the DCMI on stm32f4, can you tell the advantages of DCMI, and overall advantages in image adquisition on stm32f4 over stm32f1

    ReplyDelete
  6. Hello,
    I currently have the problem of the camera (OV7670) via Ethernet (UDP) to stream.

    I currently use the demo software and a simple UDP connection (server) to build, now I want to send the camera data in JPEG format.

    Can you please help me? I uploaded the demo software on Dropbox ->
    ETH + DCMI Demo Project

    How can I read the data from the camera and send via UDP?

    I would be very happy if you can help me?

    Thank you very much

    ReplyDelete
    Replies
    1. Demo Projekt -> https://www.dropbox.com/sh/x74c963dkxyct74/3oCAFAA8dq?v=0mcn

      Delete
  7. Hi Jorge

    I'm trying to run first demo on STM32F4DISCOVERY, but in fuction readSlaveRegister, function getByte always return false and I don't know why. Have you got any idea? I will be very appreciate for help.

    Regards,
    Wojtek

    ReplyDelete
    Replies
    1. Did you manage STM32F4DISCOVERY working with the cam ?

      Delete
  8. This comment has been removed by the author.

    ReplyDelete
  9. Hi all,
    I'd like to ask you about DMA_BufferSize.
    DMA_InitStructure.DMA_BufferSize = picture_x * picture_y * 2 / 4;
    Why did you use "*2/4" here?

    ReplyDelete
  10. Why do you use bit bang i2c? I used the hardware i2c and it works just fine. The trick to getting it working is to use a 10k pullup resistor. It appears that using a resistor with too low of a resistance and it won't work.

    ReplyDelete
  11. Congrats about the post!
    Very Nice!
    I'm in a project with OV7670, I research a lot, but I don't know what is the black strip in the left of the images, you know?

    ReplyDelete
    Replies
    1. haii have you done that project

      Delete
    2. Hi
      can i use this type of camera with a cubsat to control the water of earth with an altittude of 500KM
      and thx.

      Delete
  12. will it work with hyper terminal or teraterm ???

    ReplyDelete
  13. Congratulations for getting it work and a brilliant walk-through post. I know its based on Qt, but is there any alternate utility for plotting images received over serial port on windows XP platform?

    Thanks,
    Prasad. (logging to gmail is banned in the company, so have to comment as anonymous user)

    ReplyDelete
  14. This blog explains the details of most popular technological details. This helps to learn about what are all the different method is there. And the working methods all of that are explained here. Informative blog
    PHP Training in Chennai

    ReplyDelete
  15. hi, I've just started started my project on this topic, mostly emage processing and i found useful info from your project.I am starting with arduino uno, do you have any guidline for me, i appreciate your help.

    ReplyDelete
  16. how to use it without DCMI. i am using STM32f30k6 M0 board.

    ReplyDelete
  17. Do you have an advice for using STM32 with a OV7670 with FIFO? Specially what settings I should use. (Now I am not getting a good image). The clock is set to 24MHz by an external oscillator

    ReplyDelete
  18. Pretty article! I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my
    vision, keep sharing..
    Android App Development Company

    ReplyDelete
  19. Thank you for taking the time and sharing this information with us. It was indeed very helpful and insightful while being straight forward and to the point.
    www.mcdonaldsgutscheine.net/ | www.startlr.com/ | www.saludlimpia.com/

    ReplyDelete
  20. You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...
    Texting API
    Text message marketing
    Digital Mobile Marketing
    Mobile Marketing Services
    Mobile marketing companies
    Fitness SMS

    ReplyDelete
  21. Hi
    can i use this type of camera with a cubsat to control the water of earth with an altittude of 500KM
    and thx.

    ReplyDelete

  22. Thanks for sharing helpful information, I really like your all post. I will bookmark your blog for future updates.
    Click Here : Crawler dozers for sale Cat D5KXL KWW00358

    ReplyDelete

  23. Hmm, it seems like your site ate my first comment (it was extremely long) so I guess I’ll just sum it up what I had written and say, I’m thoroughly enjoying your blog. I as well as an aspiring blog writer, but I’m still new to the whole thing. Do you have any recommendations for newbie blog writers? I’d appreciate it.
    Advanced AWS Interview Questions And Answers, Top 250+AWS Interviews Questions and Answers 2018
    Advanced AWS Interview questions and answers | Top 110 AWS Interview Question and Answers
    Advanced AWS Training in Bangalore | Best Amazon Web Services Training in Bangalore
    Advanced AWS Training in Pune | Best Amazon Web Services Training in Pune
    Advanced AWS Online Training | Best Online AWS Certification Course in india

    ReplyDelete
  24. I was recommended this web site by means of my cousin. I am now not certain whether this post is written through him as nobody else recognise such precise about my difficulty. You're amazing! Thank you!
    python training in chennai
    python course in chennai
    python training in bangalore

    ReplyDelete
  25. The blog was absolutely fantastic! Lot of great information which can be helpful in some or the other way. Keep updating the blog, looking forward for more content.
    Brand Development Company | Travel Portal Solution | Software Development Solution | Web Design Company in India | Mobile App Development Noida

    ReplyDelete
  26. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging.
    Best Devops training in sholinganallur
    Devops training in velachery
    Devops training in annanagar
    Devops training in tambaram

    ReplyDelete
  27. I found your blog while searching for the updates, I am happy to be here. Very useful content and also easily understandable providing.. Believe me I did wrote an post about tutorials for beginners with reference of your blog.

    rpa training in chennai |rpa course in chennai|
    rpa training in bangalore | best rpa training in bangalore | rpa course in bangalore | rpa training institute in bangalore | rpa training in bangalore | rpa online training

    ReplyDelete
  28. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.
    Best Devops training in sholinganallur
    Devops training in velachery
    Devops training in annanagar
    Devops training in tambaram

    ReplyDelete
  29. This comment has been removed by the author.

    ReplyDelete
  30. Greetings. I know this is somewhat off-topic, but I was wondering if you knew where I could get a captcha plugin for my comment form? I’m using the same blog platform like yours, and I’m having difficulty finding one? Thanks a lot.

    Best AWS Training in Chennai | Amazon Web Services Training Institute in Chennai Velachery, Tambaram, OMR
    Advanced AWS Training in Bangalore |Best AWS Training Institute in Bangalore BTMLA ,Marathahalli

    ReplyDelete
  31. Greetings. I know this is somewhat off-topic, but I was wondering if you knew where I could get a captcha plugin for my comment form? I’m using the same blog platform like yours, and I’m having difficulty finding one? Thanks a lot.

    Best AWS Training in Chennai | Amazon Web Services Training Institute in Chennai Velachery, Tambaram, OMR
    Advanced AWS Training in Bangalore |Best AWS Training Institute in Bangalore BTMLA ,Marathahalli

    ReplyDelete
  32. Whoa! I’m enjoying the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appeal. I must say you’ve done a very good job with this.

    AWS TRAINING IN BANGALORE|NO.1AWS TRAINING INSTITUTES IN BANGALORE

    ReplyDelete
  33. It seems you are so busy in last month. The detail you shared about your work and it is really impressive that's why i am waiting for your post because i get the new ideas over here and you really write so well.

    Selenium training in Chennai
    Selenium training in Bangalore
    Selenium training in Pune
    Selenium Online training
    Selenium training in bangalore


    ReplyDelete
  34. Wow!! Really a nice Article. Thank you so much for your efforts. Definitely, it will be helpful for others. I would like to follow your blog..Artificial Intelligence Training in Bangalore. Keep sharing your information regularly for my future reference. Thanks Again.

    ReplyDelete
  35. Great post. I was once checking constantly this weblog and I'm impressed! Extremely useful information specially the closing part. I maintain such information much. I was once seeking this specific information for a very long time. Many thanks and best of luck.
    mi service center in chennai
    redmi service center in chennai
    xiaomi service centre chennai
    redmi service center
    mi service center

    ReplyDelete
  36. This is the exact information I am been searching for, Thanks for sharing the required infos with the clear update and required points. To appreciate this I like to share some useful information regarding Microsoft Azure which is latest and newest,

    Regards,
    Ramya

    azure training in chennai
    azure training center in chennai
    best azure training in chennai
    azure devops training in chenna
    azure training institute in chennai

    ReplyDelete

  37. Thank you for such a sweet tutorial - all this time later, I've found it and love the end result. I appreciate the time you spent sharing your skills.
    Best Ice Fishing Gloves Best Ice Fishing Gloves Best Ice Fishing Gloves

    ReplyDelete
  38. Nice post. Thanks for sharing! I want people to know just how good this information is in your article. It’s interesting content and Great work.
    Thanks & Regards,
    VRIT Professionals,
    No.1 Leading Web Designing Training Institute In Chennai.

    And also those who are looking for
    Web Designing Training Institute in Chennai
    SEO Training Institute in Chennai
    Photoshop Training Institute in Chennai
    PHP & Mysql Training Institute in Chennai
    Android Training Institute in Chennai

    ReplyDelete
  39. Really Happy to say your post is very interesting. Keep sharing your information regularly for my future reference. Thanks Again.

    Check Out:
    big data training in chennai chennai tamil nadu
    big data training in velachery
    big data hadoop training in velachery

    ReplyDelete
  40. Any idea about how to use ov7670 without fifo for stm32f446re?

    ReplyDelete
  41. Ke u lakatsa beke e ncha e thabileng le e thabileng le lelapa la hau le baratuoa ba hau. Kea le leboha ka ho arolelana sehlooho sena

    Giảo cổ lam hòa bình

    hat methi

    hạt methi

    hạt methi ấn độ

    ReplyDelete
  42. Hey, would you mind if I share your blog with my twitter group? There’s a lot of folks that I think would enjoy your content. Please let me know. Thank you.
    blue prism training in chennai | blue prism course in chennai | best blue prism training institute in chennai | blue prism course in chennai | blue prism automation in chennai | blue prism certification in chennai

    ReplyDelete
  43. It is easy ( cemboard ) to win trust that is easy to destroy, it ( giá tấm cemboard )is not important to deceive the big ( báo giá tấm cemboard ) or the small, but the deception has been the problem.

    ReplyDelete
  44. I really appreciate your effort to write this blog. Keep sharing. lifts for home | Home elevators

    ReplyDelete
  45. Es fácil ganarse una confianza que( tam san be tong sieu nhe ) es fácil de destruir, es ( Sàn panel Đức Lâm ) importante no engañar a los grandes( tấm bê tông siêu nhẹ ) o pequeños, pero el engaño ha sido el problema

    ReplyDelete
  46. Download and install Vidmate App which is the best HD video downloader software available for Android. Get free latest HD movies, songs, and your favorite TV shows.

    ReplyDelete
  47. Great. It is good to constantly coming up with creative ideas. Provides much needed knowledge. goal oriented blog posts and always tried to find creative ways to meet goals.

    Thanks
    Online affiliates

    ReplyDelete
  48. Thanks for sharing informative information

    Thanks
    Cpa offers

    ReplyDelete

  49. Thanks for sharing such a wonderful blog on Mean Stack .This blog contains so much data about Mean Stack ,like if anyone who is searching for the Mean Stack data,They will easily grab the knowledge of from this.Requested you to please keep sharing these type of useful content so that other can get benefit from your shared content.
    Thanks and Regards,
    Mean Stack training in Chennai
    Best mean stack training in Chennai
    Top Mean stack raining in Chennai
    Course fees for Mean stack in Chennai
    Mean stack training fees in Velachery, Chennai

    ReplyDelete
  50. Thanks for provide great informatic and looking beautiful blog, really nice required information & the things i never imagined and i would request, wright more blog and blog post like that for us. Thanks you once agian

    special marriage act
    name add in birth certificate
    passport agent
    court marriage in delhi
    name change
    marriage registration
    birth certificate in gurgaon
    birth certificate in noida
    birth certificate in ghaziabad
    birth certificate in delhi

    ReplyDelete
  51. This comment has been removed by the author.

    ReplyDelete
  52. nice blog
    get best placement at VSIPL

    digital marketing services
    web development company
    seo network point

    ReplyDelete
  53. Such a wonderful blog on Mean Stack .Your blog having almost full information about
    Mean Stack ..Your content covered full topics of Mean Stack ,that it cover from basic to higher level content of Mean Stack .Requesting you to please keep updating the data about Mean Stack in upcoming time if there is some addition.
    Thanks and Regards,
    Best institute for mean stack training in chennai
    Mean stack training fees in Chennai
    Mean stack training institute in Chennai
    Mean stack developer training in chennai
    Mean stack training fees in OMR, Chennai

    ReplyDelete
  54. Soma pill is very effective as a painkiller that helps us to get effective relief from pain. This cannot cure pain. Yet when it is taken with proper rest, it can offer you effective relief from pain.
    This painkiller can offer you relief from any kind of pain. But Soma 350 mg is best in treating acute pain. Acute pain is a type of short-term pain which is sharp in nature. Buy Soma 350 mg online to get relief from your acute pain.

    https://globalonlinepills.com/product/soma-350-mg/


    Buy Soma 350 mg
    Soma Pill
    Buy Soma 350 mg online



    Buy Soma 350 mg online
    Soma Pill
    Buy Soma 350 mg

    ReplyDelete
  55. For IOT Training in Bangalore Visit: IOT Training in Bangalore

    ReplyDelete
  56. I am Here to Get Learn Good Stuff About Selenium Training, Thanks For Sharing Selenium Training.Selenium training in bangalore

    ReplyDelete
  57. I must appreciate you for providing such a valuable content for us. This is one amazing piece of article. Helped a lot in increasing my knowledge.SAS Training in Bangalore

    ReplyDelete
  58. Linking is very useful thing.you have really helped lots of people who visit blog and provide them use full information.Automation Anywhere Training in Bangalore

    ReplyDelete
  59. Being new to the blogging world I feel like there is still so much to learn. Your tips helped to clarify a few things for me as well as giving.uipath training in bangalore

    ReplyDelete
  60. Really it was an awesome article,very interesting to read.You have provided an nice article,Thanks for sharing.blue prism training in bangalore

    ReplyDelete
  61. This is really an awesome post, thanks for it. Keep adding more information to this.openspan training in bangalore

    ReplyDelete
  62. Really very happy to say, your post is very interesting to read. I never stop myself to say something about it.You’re doing a great job. Keep it up...

    Become an Expert In DBA Training in Bangalore! The most trusted and trending Programming Language. Learn from experienced Trainers and get the knowledge to crack a coding interview, @Bangalore Training Academy Located in BTM Layout.

    ReplyDelete
  63. I read this post your post so nice and very informative post thanks for sharing this post.

    Real Time Experts Training Center is one of the Best SAP PP Training Institutes in Bangalore with 100% placement support. SAP Production Planning training in Bangalore provided by sap pp certified experts and real-time working professionals with handful years of experience in real time sap pp projects.

    ReplyDelete
  64. I am happy for sharing on this blog its awesome blog I really impressed. thanks for sharing.

    Looking for Salesforce CRM Training in Bangalore, learn from eTechno Soft Solutions Salesforce CRM Training on online training and classroom training. Join today!

    ReplyDelete
  65. Really i appreciate the effort you made to share the knowledge. The topic here i found was really effective...

    Best SAP S4 HANA Training in Bangalore- eTechno Soft Solutions is a leading SAP S4 HANA Training Institute in Bangalore offering extensive SAP S4 HANA Training by Real-time Working Professionals along with 100% placement support, Booka Free Demo!

    ReplyDelete
  66. This is the exact information I am been searching for, Thanks for sharing the required infos with the clear update and required points. To appreciate this I like to share some useful information.

    mulesoft training in bangalore

    mulesoft courses in bangalore

    mulesoft classes in bangalore

    mulesoft training institute in bangalore

    mulesoft course syllabus

    best mulesoft training

    mulesoft training centers

    ReplyDelete
  67. Great post!I am actually getting ready to across this information,i am very happy to this commands.Also great blog here with all of the valuable information you have.Well done,its a great knowledge.

    sap abap training in bangalore

    sap abap courses in bangalore

    sap abap classes in bangalore

    sap abap course syllabus

    best sap abap training

    sap abap training center

    sap abap training institute in bangalore

    ReplyDelete
  68. Great post!I am actually getting ready to across this information,i am very happy to this commands.Also great blog here with all of the valuable information you have.Well done,its a great knowledge.

    sap hr courses in bangalore

    sap hr classes in bangalore

    sap hr training institute in bangalore

    sap hr course syllabus

    best sap hr training

    sap hr training centers

    sap hr training in bangalore


    ReplyDelete
  69. We as a team of real-time industrial experience with a lot of knowledge in developing applications in python programming (7+ years) will ensure that we will deliver our best in python training in vijayawada. , and we believe that no one matches us in this context.

    ReplyDelete
  70. This comment has been removed by the author.

    ReplyDelete
  71. Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
    servicenow online training
    best servicenow online training
    top servicenow online training

    ReplyDelete
  72. This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck.
    Digital marketing course mumbai

    ReplyDelete
  73. Thank you for this informative blog...
    AWS Training in Bangalore | AWS Cours | AWS Training Institutes - RIA Institute of Technology
    - Best AWS Training in Bangalore, Learn from best AWS Training Institutes in Bangalore with certified experts & get 100% assistance.

    ReplyDelete
  74. This is so elegant and logical and clearly explained. Brilliantly goes through what could be a complex process and makes it obvious.

    amazon web services training in bangalore
    amazon aws tutorial

    ReplyDelete
  75. Thanks for sharing it. I got very valuable information from your blog.your post is really very informative. I’m satisfied with the information that you provide for me. Nice post. By reading your blog, I get inspired and this provides some useful information.

    data science course in pune

    ReplyDelete
  76. This Was An Amazing ! I Haven't Seen This Type of Blog Ever ! Thankyou For Sharing, data science course in Hyderabad

    ReplyDelete
  77. Whatever we gathered information from the blogs, we should implement that in practically then only we can understand that exact thing clearly, but it’s no need to do it, because you have explained the concepts very well. It was crystal clear, keep sharing..

    oracle erp training

    ReplyDelete
  78. Hi, your article was of great help. I loved the way you shared the information, thanks.
    Amazing article, I highly appreciate your efforts, it was highly helpful. Thank you CEH Training ,CEH Certification, CEH Online Course, Ethicalhacking

    ReplyDelete
  79. Amazing post, Thank you for presenting a wide variety of information that is very interesting to see in this article
    Vacuum Elevators India

    ReplyDelete
  80. Attend The Artificial Intelligence course From ExcelR. Practical Artificial Intelligence course Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Artificial Intelligence course.
    Artificial Intelligence course

    ReplyDelete
  81. Card màn hình cũ là một trong những linh kiện không thể thiếu của một máy tính để bàn trọn bộ. Một màn hình máy tính có kèm theo bộ card màn hình cũ sẽ giúp cho máy tính để bàn cho ra hình ảnh sắc nét hơn. Tuy nhiên card màn hình cũ cũng giống như hầu hết các linh kiện máy tính chúng đều cần vệ sinh định kỳ và sử dụng đúng cách.

    Thông tin bài viết này chúng tôi sẽ chia sẻ tới bạn cách vệ sinh card màn hình cũ của máy tính để bàn. Mời bạn tham khảo để có thông tin cho mình nhé

    Hướng dẫn cách vệ sinh card màn hình cũ của máy tính để bàn

    ReplyDelete
  82. keep up the good work. this is an Ossam post. This is to helpful, i have read here all post. i am impressed. thank you. this is our data analytics course in mumbai
    data analytics course in mumbai | https://www.excelr.com/data-analytics-certification-training-course-in-mumbai

    ReplyDelete
  83. wonderful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries.
    Data science Interview Questions
    Data Science Course

    ReplyDelete
  84. Thank you for sharing such a wonderful articles. Keep sharing
    AWS Training In Hyderabad

    ReplyDelete
  85. Thank you for sharing such a wonderful articles. Keep sharing
    AWS Training In Hyderabad

    ReplyDelete
  86. Wow!! Really a nice Article about AWS. Thank you so much for your efforts. Definitely, it will be helpful for others. I would like to follow your blog. Share more like this. Thanks Again.
    Java training in chennai | Java training in annanagar | Java training in omr | Java training in porur | Java training in tambaram | Java training in velachery

    ReplyDelete
  87. The content that I normally see is nothing like what you have written. This is very well-thought out and well-planned. You are a unique thinker and bring up great individualized points. Please continue your work.
    Best Data Science training in Mumbai

    Data Science training in Mumbai

    ReplyDelete
  88. wonderful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries. keep it up.
    data analytics course in Bangalore

    ReplyDelete
  89. Good content. The explanation of content explained very neat.
    Data Science Training In Hyderabad

    ReplyDelete
  90. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance

    ReplyDelete


  91. hey if u looking best Current affair in hindi but before that what is current affair ? any thing that is coming about in earth political events. things that act on the meeting, if need this visit our website and get best Current affair in hindi

    ReplyDelete
  92. I thought I was strong with my ideas on this, but with your writing expertise you have managed to convert my beliefs your new ideas. Mallorca is fun
    SAP training in Kolkata
    SAP training Kolkata
    Best SAP training in Kolkata
    SAP course in Kolkata
    SAP training institute Kolkata

    ReplyDelete
  93. Van bướm gang đĩa inox tay quay là thiết bị, được sử dụng sử dụng để đóng mở hoặc điều tiết dòng chảy trong hệ thống đường ống, có đường kính lớn. Loại van này, tương tự như một van bi. Đĩa van được đặt chính giữa đường ống. Đĩa kết nối với thiết bị truyền động bên ngoài ( tay quay ) thông qua một thanh trục bằng kim loại. Khi xoay vô lăng ( tay quay ) thì đĩa van vận động tuy vậy song hoặc vuông góc với dòng chảy tương ứng với việc đóng mở đường ống.

    ReplyDelete
  94. I like your post. Everyone should do read this blog. Because this blog is important for all now I will share this post. Thank you so much for share with us.
    DevOps Training in Hyderabad
    DevOps Course in Hyderabad

    ReplyDelete
  95. This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck.

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  96. Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I am looking forward to reading new articles. Keep up the good work!
    data science course in indore

    ReplyDelete
  97. Thank you so much for this incredible guide. This has given me so much information
    AI Training in Hyderabad

    ReplyDelete
  98. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple linear regression
    data science interview questions

    ReplyDelete
  99. This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck.

    data science interview questions

    ReplyDelete
  100. I like your post. Everyone should do read this blog. Because this blog is important for all now I will share this post. Thank you so much for share with us.

    Data Science Training in Hyderabad

    ReplyDelete
  101. Very good points you wrote here..Great stuff...I think you've made some truly interesting points.Keep up the good work.
    360digitmg

    ReplyDelete
  102. I have to search sites with relevant information on given topic and provide them to teacher our opinion and the article.

    Simple Linear Regression

    Correlation vs covariance

    KNN Algorithm

    ReplyDelete
  103. Thanks for posting useful information.You have provided an nice article,

    DevOps Training in Hyderabad

    ReplyDelete
  104. Thanks for posting useful information.You have provided an nice article,

    DevOps Training in Hyderabad

    ReplyDelete
  105. Good Post! , it was so good to read and useful to improve my knowledge as an updated one, keep blogging.After seeing your article I want to say that also a well-written article with some very good information which is very useful for the readers....thanks for sharing it and do share more posts likethis. https://www.3ritechnologies.com/course/salesforce-training-in-pune/

    ReplyDelete
  106. We are an experienced team in one of the Best software company and product specialist for software development and implementation. Sovereign provides Website Design, Web Development and Mobile App Development, Digital marketing and SEO Services.
    Android Development

    ReplyDelete
  107. Hey, Wow all the posts are very informative for the people who visit this site. Good work! We also have a Blog.Please feel free to visit our site. Thank you for sharing.

    Data Science Training in Hyderabad

    ReplyDelete
  108. Good Post! , it was so good to read and useful to improve my knowledge as an updated one, keep blogging. After seeing your article I want to say that also a well-written article with some very good information which is very useful for the AWS Online Training

    ReplyDelete
  109. great tips At SynergisticIT we offer the best java bootcamp

    ReplyDelete