Introduction: ESM - ExternalSerialMonitor

Sometimes I needed an external serial monitor like the Serial Monitor in the Arduino Editor, to see what is going on. So I made one.
The first picture shows an example how could be it designed.

For the ESM I used an Atmel Atmega328 (based on the Arduino-Board) because it have an internal SRAM with 2KBytes. It's necessary for the big data processing.
So you need more than 1KByte SRAM.

With the menu in the ESM you can do...
... setting the baud rate
... start and pause the reading

Step 1: Circuit

Step 2: Parts List


C1,C8,C10           100nF/50V
C2,C3                  22pF/50V
C4,C5,C6             1µF
C7,C9                  47µF/16V
D1,D2,D3,D4        LED-SMD OSRAM TOPLED, 9 mcd, green
Display1               EA_DOG-S102-6
IC1                       ATMEGA328(DIL28S)
IC3                       L7805 5V VOLTAGE CONVERTER
K1                        FEMALE CONNECTOR
Q1                        16MHz
R1,R2,R3,R4         100KOhm
R5,R6,R7,R8         100 Ohm
R9                        3,3KOhm
R10                      1KOhm
S2,S3,S4,S5         JTP-1230 BUTTON
S6                        SLIDE SWITCH
9V                        Battery

Step 3: Arduino Sketch

esm.ino
The main sketch.

vars.h
Global variables are defined here.

menu.h
The menu-functions.

buttons.h
The buttons are here defined.

programs.h
The functions behind the menu.
menu()
startSerial()
settings()
mode()

myDOG.h
Functions for the DOGS-102 display.
static void setChipSelectPin(PIN No. as const int)
static void writeByte(unsigned int)
static void Init()
static void begin()
static void drawPic(byte[8][102])
static void displayClear()
static void print(Text as char*)
static void print(Text as char*, Row as int)**
static void print(Text as char*, Col as int, Row as int)**
static void print(Number long, Col as int, Row as int)**

** Col = 0 to 102 pix, Row 0 - 7


myfont.h
Font definitions and functions.

myPic.h
The start image.

mySPI.h
The SPI function.

Step 4: Example

The left homemade Arduino board contains the following code:

/ *
sender.ino
Serial Test Program
* /

void setup () {
    Serial.begin (9600);
}

void loop () {
   for (int a = 0; a <1000; a + +) {
     Serial.print ("int a =");
     Serial.println (a);
     delay (100);
   }
}
This arduino sketch is what I created to test.
This program sends every 100 milliseconds a counter: "int a =" 0-1000.
The ESM (original Arduino board) is connected to the other Arduino via TX and RX (crossed).
Now you can press the play-button and it appears the transfer on the display.

Comments

author
dunk8888young (author)2017-09-18

Hi great project,would be nice to use a nokia 5110 lcd as its more easy to buy.thanks

author
DangerousTim (author)2015-02-25

Hey there, great i'ble! Is it possible to connect a keyboard in some way to the monitor? That would totally eliminate the need for a computer!

author
Machine (author)2014-04-14

I love the high quality images of the printed circuit board (PCB) with components. Did you use the Eagle Schematic editor to do those or, if not which software is it?

Voted because of the sheer quality of this instructable.

author
ARPix (author)Machine2014-04-15

Thank you.

I used Target3001 and Cinema4D.

author
agis68 (author)2014-04-13

voted

author
ARPix (author)agis682014-04-13

*thumb up* thank you

author
fabitencourt (author)2014-04-12

What about using a SD card to save the data you poke out ? Do you think it could be ease task ?

author
ARPix (author)fabitencourt2014-04-13

Thank you for your vote.

Yes, that's easy to integrate a datalogger. I think a atmega328 should be big enough for this. The Sketch for the ESM needs 7.832 Bytes and my datalogger Sketch needs 16.482 Bytes. I will try to cut down the size for the datalogger and i will create an another instructable with a compatible datalogger for the ESM.

author
fabitencourt (author)2014-04-12

You have my vote and I intend to make it. Good job.

author
wliu3 (author)2014-04-10

Oh yes so can this be modified to read from a computer serial port? I know there is a way to make a serial console for Linux.

author
ARPix (author)wliu32014-04-11

Yes, that's possible if you use as example a FTDI ft232rl Chip. Like on the Arduino Board.

author
wliu3 (author)2014-04-10

It would be more easier to make it you can use arduino (which is also based off atmel atmega328) so it is much easier for us AVR noobs to make one (though at the price of doubling the cost, I think it with that).

author
wliu3 (author)wliu32014-04-10

Oh sorry I haven't read it through. Next time if you want to say arduino based then just say that. Using "atmel ATMega328 based" will only confuse people.

author
ARPix (author)wliu32014-04-11

Oh yes, that's right. Thank you for your information. I will change this.

author
Build_it_Bob (author)2014-04-10

Very nice project and well done !

Build_it_Bob

author
sdcharle (author)2014-04-10

This is fantastic. Got my vote.

author
thegrendel (author)2014-04-10

Interesting project. I would be nice to use a cheap and readily available Nokia 5110 display, rather than the MMS-e DOG one.

author
billbillt (author)2014-04-10

cool

author
nataku (author)2014-04-10

I've been thinking about this but never really get there. Thanks for sharing.

author
Raphango (author)2014-04-09

Whoa! Great man!

author
zx lee (author)2014-04-07

Nice, love your great idea! Would try to make one for myself one day~

author
tronixstuff (author)2014-03-30

Awesome, well done :)

author
ARPix (author)tronixstuff2014-04-01

thank you

author
yair (author)2014-03-31

great project!
in what software did you use to render the PCB and parts?

author
ARPix (author)yair2014-03-31

The PCB and the schematic I created in target3001.
Then I imported this in Cinema4D.

author
unigamer (author)2014-03-28

Very nice, I like this idea! I couldn't find the LCD on ebay, does anyone have a link to buy it for a good price in the UK?

author
ARPix (author)unigamer2014-03-28

Thank you for your comment.

MMS Electronics Ltd. in Guiseley

http://www.mmselectronics.co.uk/lcdgraphicdog.htm

You have to send an email to the company to request a price.

author
unigamer (author)ARPix2014-03-28

Thanks for the link. That's an interesting website. I've added your project to the long list of things I want to make but I can definitely think of times when something like this would have been useful. I'll probably have it as a self contained unit with a power source so it can mimic an FTDI cable.

About This Instructable

33,020views

340favorites

License:

More by ARPix:ATMEGA168 TQFP32 smd programmer shieldIR Sensor ButtonESM - ExternalSerialMonitor
Add instructable to: