Introduction: 1 ChaOs(c); a Very Primitive $10 1 Channel Oscilloscope

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

Step 1: Connect the Arduino Pro Mini to the TFT

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

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!

Comments

yoshie1997 (author)2014-12-15

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

jcduplessis (author)yoshie19972015-05-24

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

middelbh (author)2014-12-16

yoshie1997, please have a look at step 2 of the Instructable. There you'll find it!

Hans

ibenkos (author)2014-10-18

Smart idea! I really like this project. Thanks for shearig :)

Raphango (author)2014-09-22

Great project!! Definetelly gotta do myself one of these! xD

Banggood rlz! \o/

Psykeus (author)2014-09-11

Nice job for your first instructable!

2

Jan_Henrik (author)2014-09-01

very nice!

seamster (author)2014-09-01

Interesting.