Introduction: 1 ChaOs(c); a Very Primitive $10 1 Channel Oscilloscope
I always wanted to have a simple oscilloscope, but like many colleague hackers the budget did not allow for it.
Finally (at Banggood) I found a 1.8" TFT display, and with an Arduino Pro Mini, 5 * 1kOhm resistors, some simple switches and some Arduino programming I now have a very, very basic 1 channel oscilloscope (hence 1 ChaOs(c)) for less than $10! I have to admit, it is very basic, but I hope with the help of others, a more expanded version can be made.
At present it will only show signals ranging from 0 Volt up to Vcc. The software is based upon Henningkarlsen's great UTFT library which I slightly optimised for the use of just this display. I renamed it to TFTLib in order to avoid terrible things happening to my computer....
Please forgive my amateuristic programming style, it is one of my first projects with Arduino!
This is also my first instructable....
Attachments
Step 1: Connect the Arduino Pro Mini to the TFT
In the UTFT library (renamed to TFTLib for this purpose) we can select the digital output pins that will be used to drive the display.
In order to make things simple to construct I used digital outputs as follows:
Arduino Pro Mini The TFT module
Digital pin 2 Input 1 (RST) connect with 1kOhm
Digital pin 3 Input 2 (CS) connect with 1kOhm
Digital pin 4 Input 3 (D/C) connect with 1kOhm
Digital pin 5 Input 4 (DIN) connect with 1kOhm
Digital pin 6 Input 5 (CLK) connect with 1kOhm
VCC Input 6 (VCC)
VCC Input 7 (BL)
GND Input 8 (GND)
A0 is the analog input that will be digitized and shown on the display....
Also Digital pin 7, 8 and 9 are in use in te program (not shown on the pictures!!)
pin 7 connected to Gnd increases the interval between the samples by 10 microseconds; connecting pin 8 to GND decreases the sample interval by 10 microseconds.
The sampling will start as soon as pin 9 is connected to GND (shortly, <500 milliseconds). It will then only scan once, 160 samples. Connecting pin 9 longer than 500 milliseconds the unit will scan continuously.
Attachments
Step 2: The Program...
Put the HW_AVR*.* and TFTLib*.* files in the TFTLib library and open _1chaosctest.ino in the Arduino IDE; compile and upload and you are done!
As I did not want to have to solder many pins to my contraption I used https://www.tindie.com/products/BBTech/5-pin-pin-h...
This makes life easy!

Participated in the
Microcontroller Contest
8 Comments
8 years ago on Introduction
Where do I find the TFTLib library? I searched in Documents where all new libraries are installed and in the installation folder. I couldn't find it.
I now just created all the files for the TFTLib library and copied them into the TFT folder in the libraries. I tried to compile but I get this error:
G:\Programme\Arduino\libraries\TFT\TFTLib.cpp:52:25: error: memorysaver.h: No such file or directory
Reply 7 years ago on Introduction
Thank you middelbh for this great instructable!
Hi yoshie1997,
I had the same problem. Here's what I did:
1. Create a folder in your Arduino\Libraries folder named "TFTLib"
2. Download the "UTFT" library zip file from HenningKarlsen's excellent website here:
http://www.rinkydinkelectronics.com/library.php?id...
3. Open the zip file and extract the following two files:
"memorysaver.h"
"DefaultFonts.c"
4. Copy the two files you extracted into the "TFTLib" folder you created in the Arduino\Libraries folder.
5. Download all the files from step 2 of this instructable.
6. Put the HW_AVR*.* and TFTLib*.* files in the "TFTLib" folder as well.
(My sketch didn't want to upload when named "1chaosctest.ino" so I removed the 1 in the name.
7. Remember to save the "1chaosctest.ino" sketch in a folder of the same name, otherwise the Arduino IDE won't upload it.
8. Open Arduino IDE, navigate to the sketch and compile and load as usual.
Kind regards!
JC
8 years ago on Introduction
yoshie1997, please have a look at step 2 of the Instructable. There you'll find it!
Hans
8 years ago
Smart idea! I really like this project. Thanks for shearig :)
8 years ago on Introduction
Great project!! Definetelly gotta do myself one of these! xD
Banggood rlz! \o/
8 years ago on Introduction
Nice job for your first instructable!
2
8 years ago on Introduction
very nice!
8 years ago on Introduction
Interesting.