element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino Projects
  • Products
  • Arduino
  • Arduino Projects
  • More
  • Cancel
Arduino Projects
Blog A simple DIY Oscilloscope with Arduino Uno and Mega
  • Blog
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • More
  • Cancel
  • New
Join Arduino Projects to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: e14 Contributor
  • Date Created: 26 Dec 2014 11:05 AM Date Created
  • Views 39359 views
  • Likes 20 likes
  • Comments 79 comments
  • mega
  • ardbeginner
  • tft
  • oscilloscope
  • uno
  • arduino
Related
Recommended

A simple DIY Oscilloscope with Arduino Uno and Mega

e14 Contributor
e14 Contributor
26 Dec 2014

My DIY Oscilloscope, how i got my signal image

 

Content :

- Description

- Screenshots

- Video

- Credits and links

 

Descriptions

 

I am experimenting with RF and IR signals in various frequencies and had some trouble with the receivers and needed to see what kind of signal i was receiving.

I cannot afford a real oscilloscope but i knew about the older Arduino oscilloscopes.

 

After trying many different versions of code and tutorials, I was unable to get a single one to work, and all the tutorials and guides around was 2-3 years old.
Not sure if it is the IDE or the actual hardware that has changed in such a way that it didn't work anymore.

 

I finally found a working oscilloscope from a Japanese website, (linked below) and a working TFT screen library,

meaning i could read the various signals received.

 

Clearly the limitations are 0-5v but that is fine, what i needed to know is either wave type and frequency, and this is sufficient.
It also gives me an indication of the amplitude which is just a nice bonus.

 

But what I'm most happy with, is the two channel feature, i often use the second channel as a reference point to be able to

differentiate the main channel on the screen.

 

 

Some screenshots..

This is the .96" OLD test, single wave test imageimage

 

 

 

imageimageimage

2.4" TFT screen on the Uno,    two right images same screen on a Mega.

 

 

A youTube vidoe i made on the experience.

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

 

 

Credits and Links :

 

My compilation of the Oscilloscope and TFT library  ( what you see on the video and images ) :

https://dl.dropboxusercontent.com/u/19761809/arduino/Vaupell-Oscilloscope.zip

 

 

Original Oscilloscope link (code by : Noriaki Mitsunaga ) :

http://n.mtng.org/ele/arduino/oscillo-j.html

 

 

Original TFT display link ( TFT shield library source ) :

http://www.smokeandwires.co.nz/blog/a-2-4-tft-touchscreen-shield-for-arduino/

 

TFT library :

Library : https://github.com/Smoke-And-Wires/TFT-Shield-Example-Code

Attachments:
Vaupell-Oscilloscope.zip
  • Sign in to reply

Top Comments

  • e14 Contributor
    e14 Contributor over 11 years ago in reply to 4ringfan +2
    True, I highly recomened if using ribbon cable, buy a roll, and add the ends yourself, much much cheaper. I usually buy them home in 10 meters at a time. But, I try to use cable as little as possible,…
  • 4ringfan
    4ringfan over 11 years ago +1
    I just received a LCD TFT shield that I had ordered for no particular reason. Now I'm going to have to play with it. Thanks for the incentive!
  • e14 Contributor
    e14 Contributor over 11 years ago in reply to e14 Contributor +1
    Nope just one of them. The problem was the Screen it took up all my pins on the arduino uno. You could do a messy workaround, either by soldering something onto the SD pins (since were not using them anyway…
  • e14 Contributor
    e14 Contributor over 10 years ago

    @Brian Welsby: Thank you, now I could download the sketch, but oszi won't work. Perhaps my 2.4 TFT shield is different. I will try it on an uno.

     

    Best regards

     

    Michael

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • bwelsby
    bwelsby over 10 years ago in reply to e14 Contributor

    Michael Hroch wrote:

     

    Has anybody an idea what is wrong (swap?) and how to fix it.

     

    Thank you and have a nice weekend.

     

    Michael

    A quick google search and I found this here https://github.com/Smoke-And-Wires/TFT-Shield-Example-Code/issues/7 

    hope that helps.

     

    Brian

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • e14 Contributor
    e14 Contributor over 10 years ago

    Has anybody an idea what is wrong (swap?) and how to fix it.

     

    Thank you and have a nice weekend.

     

    Michael

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • e14 Contributor
    e14 Contributor over 10 years ago in reply to Nate1616

    @Nate1616

     

    here is the error code: Exit status 1 (I have tried other sketches to download in the mega and they work):

     

    Thanks for support!

     

    Michael

     

    _________________

     

    Arduino: 1.6.7 (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega

    2560)"

     

     

    C:\Users\recycler\Documents\Arduino\libraries\SWTFT-Shield\SWTFT.cpp: In member function

    'void SWTFT::drawLine3Byte(int16_t, int16_t, int16_t, int16_t, uint8_t, uint8_t, uint8_t)':

     

     

    C:\Users\recycler\Documents\Arduino\libraries\SWTFT-Shield\SWTFT.cpp:630:16: error: 'swap'

    was not declared in this scope

     

     

         swap(x0, y0);

     

     

                    ^

     

     

    C:\Users\recycler\Documents\Arduino\libraries\SWTFT-Shield\SWTFT.cpp:635:16: error: 'swap'

    was not declared in this scope

     

     

         swap(x0, x1);

     

     

                    ^

     

     

    exit status 1

    Fehler beim Kompilieren.

     

     

      Dieser Report hätte mehr Informationen mit

      "Ausführliche Ausgabe während der Kompilierung"

      aktiviert in Datei > Einstellungen.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • balearicdynamics
    balearicdynamics over 10 years ago

    Hi Martin, my compliments.

    I have followed this project by when you started to publish it and I appreciate very much how you developed the idea. Last but not least the order. Not only it is well done but IMHO it is also well explained making it perfectly replicable. The only thing I had added is a video with some specific measurement, just to make it more attracting for the users.

     

    BTW I have also though to an alternative, seeing your development timeline; in past I have used Arduino (an AVR328p, so a less powerful and slower microcontroller) to create an oscilloscope but in this case the Arduino board was just acting as a terminale while the entire graphic interface was developed in processing and java working on a separate computer. Something following the same proof of concept of the association Bitscope micro and Raspberry PI (you can take a look to the article I recently published Essential Raspberry Pi Peripherals #5 The Pi-Scope lab tool ) As a matter of fact I have not evolved the original Arduino - PI "Skope" project just because I moved on this more complete alternative. But while a Raspberry PI3 + Bitscope Micro will cost about 150 Euro, your solution may cost less than half. I am just curios to know what do you think of this idea.

     

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube