My original code from 2006 has been used by others, and after 20 years I revisited using a Casio FX-9750 as a datalogger. Experiments proved it is possible to pause the calculator in the middle of a RECEIVE() request WITHOUT generating a COM error. This likely works with FX-9860 and FX-CG50 3-pin ports.

Quick history: I did the original Picaxe Forum post nearly 20 years ago of classroom use of a Casio FX-9750G connected to a Picaxe for data logging in Physics classes. Forum member Anobium then did a version later in 2011/2012. Clearing out my home lab recently I found my old class set I had made for an education research project (published) when I recalled an idea I had at the time but never tested until now.

For the last 20 years the wider community documentation interpreted the Casio FX-9750 and FX-9860 link mode as synchronous and blocking: once a transfer begins, both connected devices must complete it.

This prohibited real-time interval sampling because Casio BASIC lacks timing functions like PAUSE, WAIT, or a real-time clock. The calculator alone cannot manage precise time-based data collection. Instead, data acquisition units like the EA-100, EA-200 and CLAB handled timed interval sampling independently of the FX-9750 and FX-9860. However they cost $400 - $900.

The innovation: This post shares that I have invented and tested a new Picaxe BASIC algorithm that uses a previously undocumented and unknown exploit that permits pausing the RECEIVE() transmission without generating a COM timeout error.

I have completed a single universal Picaxe Basic program for 08M2 and 14M2 chips. For simple sensor units for younger learners the 08M2 chip connected to a single analog sensor (e.g. Temperature, light, sound, heartbeat) and/or a single digital input. For rates of change or more complex experiments in chemistry, physics or biology, a 14M2 which permits logging up to 3 sensors simultaneously.

The innovation is that both loggers now ALSO RECORD ELAPSED TIME STAMPS with the sensor readings!
The simple 3-pin serial protocol likely works with FX-9860 and FX-CG50 calculators.

This saves $$$$ having to purchase EA-200 or CLAB data acquisition units to enable data logging on the calculators.

The Casio BASIC program is also universal: It works with any connected microcontroller or board; Picaxe, ESP8266, ESP32 and others.

As a proof of concept, I have a working Wemos D1 mini running my new RECEIVE() algorithm.

More details here:

https://mikefentonnz.github.io/projects/casio-calculator-data-logger-hack.html
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement