Post Reply 
Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
07-20-2022, 04:19 PM (This post was last modified: 07-21-2022 06:14 PM by Dan C.)
Post: #1
Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
As i have an Arduino Uno board, i was thinking of using it as an USB-TTL serial link to my FX-850P
to transfer programs and memo data between my PC and the FX-850P.
And then use a standard terminal program like Putty on the PC to transfer the stuff.

I was thinking wiring it up like this:
   

What do you think? Is it a possible way to do it?

edit: I added the RESET to GND connection.
Find all posts by this user
Quote this message in a reply
07-21-2022, 08:25 AM (This post was last modified: 07-21-2022 08:26 AM by blackjetrock.)
Post: #2
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
I don't think that will work as the TX and RX pins marked on the Arduino are the serial lines that go to the host PC. If you want to do this then you can use either a different hardware UART (on some Arduino boards there are multiple hardware UARTS) or a "software serial" library to create a second serial port on a pair of GPIO lines. If the data rate isn't too high you could also have code do the TX/RX functionality, if you aren't using the Arduino for any other tasks.

Arduino Serial info here:

https://www.arduino.cc/reference/en/lang...on/serial/

You also have to make sure that the Casio is Ok with 5V level signals and that it doesn't use 'proper' RS232 which requires positive and negative voltage levels.

Andrew
Find all posts by this user
Quote this message in a reply
07-21-2022, 10:12 AM
Post: #3
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
Hello,

(07-20-2022 04:19 PM)Dan C Wrote:  What do you think? Is it a possible way to do it?

There are very few things that have not been done before (with the exception of building your own gravitational wave detector maybe ;-) ) and it seems to be quite straightforward: http://retrowiki.es/viewtopic.php?t=100053601

Regards
Max
Find all posts by this user
Quote this message in a reply
07-21-2022, 03:09 PM
Post: #4
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
(07-20-2022 04:19 PM)Dan C Wrote:  As i have an Arduino Uno board, i was thinking of using it as an USB-TTL serial link to my FX-850P
to transfer programs and memo data between my PC and the FX-850P.
And then use a standard terminal program like Putty on the PC to transfer the stuff.

I was thinking wiring it up like this:


What do you think? Is it a possible way to do it?

Yes, it is possible. Upload an empty sketch to the Arduino (see below), and use the hardware TX and RX pins on the Arduino header. The empty sketch is to keep the ATmega chip from trying to also use the serial lines, freeing them up for your use.

As blackjetrock said, you should also verify the voltage level on the calculator. For example, my Casio fx-9750G PLUS uses 3.3V logic levels. Arduino Uno and most ATmega-based boards are 5V logic. The fx-850P port you pictured reminds me a lot of RS232, so you may need a MAX3232 or other RS232 converter.

Empty sketch (just to keep the ATmega busy):
Code:
void setup() {}
void loop() {}

What file transfer protocol does the 850P use? XModem?
Find all posts by this user
Quote this message in a reply
07-21-2022, 03:23 PM
Post: #5
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
(07-21-2022 03:09 PM)Liam Hays Wrote:  Yes, it is possible. Upload an empty sketch to the Arduino (see below), and use the hardware TX and RX pins on the Arduino header. The empty sketch is to keep the ATmega chip from trying to also use the serial lines, freeing them up for your use.

As blackjetrock said, you should also verify the voltage level on the calculator. For example, my Casio fx-9750G PLUS uses 3.3V logic levels. Arduino Uno and most ATmega-based boards are 5V logic. The fx-850P port you pictured reminds me a lot of RS232, so you may need a MAX3232 or other RS232 converter.

Empty sketch (just to keep the ATmega busy):
Code:
void setup() {}
void loop() {}

What file transfer protocol does the 850P use? XModem?

OK, great!! Maybe it will work as i want then!
Hmmm, 3.3V or 5V logic levels in the FX-850P; i have no idea, have to look more on this.
But RS232 levels i think it's not, arent they +-12V? And the FX-850P has only 2 3V cells, so its max 6V if i understands it?
Find all posts by this user
Quote this message in a reply
07-21-2022, 03:57 PM (This post was last modified: 07-21-2022 04:02 PM by Dan C.)
Post: #6
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
(07-21-2022 10:12 AM)Maximilian Hohmann Wrote:  Hello,

(07-20-2022 04:19 PM)Dan C Wrote:  What do you think? Is it a possible way to do it?

There are very few things that have not been done before (with the exception of building your own gravitational wave detector maybe ;-) ) and it seems to be quite straightforward: http://retrowiki.es/viewtopic.php?t=100053601

Regards
Max

Ahh, cool project! So now i have to learn Spanish also Smile
But this seems to be a little bit to fancy for my needs, i dont need to use the CPU on the Arduino, only the USB to TTL serial connection i think.

hmmm, but wait! They connect the Arduino I/O pins directly to the FX-850P port? Then i assume it's safe to use the 5V levels on the Arduino to the FX-850P?
Find all posts by this user
Quote this message in a reply
07-21-2022, 04:22 PM
Post: #7
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
(07-21-2022 03:23 PM)Dan C Wrote:  Hmmm, 3.3V or 5V logic levels in the FX-850P; i have no idea, have to look more on this.
But RS232 levels i think it's not, arent they +-12V? And the FX-850P has only 2 3V cells, so its max 6V if i understands it?

The RS-232 standard does call for the higher voltage but I've never had a problem at ±5V.

Tom L
Cui bono?
Find all posts by this user
Quote this message in a reply
07-21-2022, 04:55 PM
Post: #8
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
(07-21-2022 03:57 PM)Dan C Wrote:  But this seems to be a little bit to fancy for my needs, i dont need to use the CPU on the Arduino, only the USB to TTL serial connection i think.

That's what they do as well: Open two serial connections, one (called "Serial") at 9600 baud from the Arduino to the computer and the other ((called "Serial1")) at 600 baud from the Arduino to the Casio.

The program consists of nothing but an endless loop containing only these two lines:
int inByte = Serial1.read();
Serial.print(inByte, BYTE);

(07-21-2022 03:57 PM)Dan C Wrote:  hmmm, but wait! They connect the Arduino I/O pins directly to the FX-850P port? Then i assume it's safe to use the 5V levels on the Arduino to the FX-850P?

It seems so. No resistors, nothing. Just cables.

Regards
Max
Find all posts by this user
Quote this message in a reply
07-21-2022, 05:11 PM
Post: #9
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
(07-21-2022 04:55 PM)Maximilian Hohmann Wrote:  
(07-21-2022 03:57 PM)Dan C Wrote:  hmmm, but wait! They connect the Arduino I/O pins directly to the FX-850P port? Then i assume it's safe to use the 5V levels on the Arduino to the FX-850P?

It seems so. No resistors, nothing. Just cables.

Great! Now i must try out my schematic, i'l be back with the result if its workin or not!
Find all posts by this user
Quote this message in a reply
07-21-2022, 05:16 PM
Post: #10
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
I did some googling with all the great info i got here so far, and it seems you can connect RESET pin on the Arduino to GND, and then you even dont need to program the CPU with anything.
Find all posts by this user
Quote this message in a reply
07-21-2022, 05:37 PM (This post was last modified: 07-21-2022 05:43 PM by Dan C.)
Post: #11
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
(07-21-2022 03:09 PM)Liam Hays Wrote:  What file transfer protocol does the 850P use? XModem?

I found this after some googling:

The Serial Interface is asynchronous full-duplex that is configured as a set of parameters either on the “command line” of the calculator or in code that is executed at run time.

Parity : Even
Data bits : 8 bits
Stop bit : 1 bit
CS : not used
DS : not used
CD : not used
Busy : XON/XOFF
Code : SI/SO not used

Baud Rate: 150, 300, 600, 1200, 2400, 4800
Find all posts by this user
Quote this message in a reply
07-21-2022, 06:22 PM
Post: #12
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
OK, I see what is going on there, but really, why not just use a serial to USB adapter?

Andrew
Find all posts by this user
Quote this message in a reply
07-21-2022, 06:28 PM
Post: #13
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
(07-21-2022 06:22 PM)blackjetrock Wrote:  OK, I see what is going on there, but really, why not just use a serial to USB adapter?

Andrew

Very good question!!
But i think it's fun to use stuff you already have at hand, and to find new usage for it Smile
Find all posts by this user
Quote this message in a reply
07-23-2022, 07:53 AM (This post was last modified: 07-23-2022 07:54 AM by Dan C.)
Post: #14
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
Woho! It works! Smile

I connected it up as in my post #1, and it worked right away just as i wanted.
I tried both 2400 and 4800 baud, and there was no problem.

I used the Serial Monitor in Arduino IDE, and chose 2400 or 4800 baud there, then it works
like a charm.

Thanks all for the input and thoughts on this matter.
Find all posts by this user
Quote this message in a reply
02-07-2023, 08:07 AM
Post: #15
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
Hi,

What is the comand for the CASIO ?

Best reards

Georges
Find all posts by this user
Quote this message in a reply
03-07-2023, 03:56 PM
Post: #16
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
(02-07-2023 08:07 AM)georgestheking Wrote:  Hi,

What is the comand for the CASIO ?

Best reards

Georges

The manual says on page 86:
OPEN "COM0:6,N,8,1,N,N,N,N,N" AS #1
Thats max. speed (6=4800 baud), no parity, 8 Bit, 1 Stopbit and the rest "N".

Send data with PRINT #1, data
Receive data with INPUT #1, data

Best, rallerix
Find all posts by this user
Quote this message in a reply
10-11-2023, 09:12 AM
Post: #17
RE: Using Arduino Uno as a USB-TTL serial link to Casio FX-850P ?
To save or load Basic- Programs you can use
SAVE "COM0:6" or
LOAD "COM0:6" respectively on the fx-850p.

The outcome is your Basic- Program in clear ASCII, not the FSK- rubbish you gain with SAVE "CAS:" ;-)
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 2 Guest(s)