Discussion:
Arduino + MCP9600 + thermocouple help needed
(too old to reply)
Richard Smith
2024-03-18 21:55:30 UTC
Permalink
Hello all

If this is of any interest to anyone, would be very glad of help.

Sitation presented here - page on own website.

http://www.weldsmith.co.uk/computing/embeddev/240318_mcp9600_try1st.html
"Try 1st - Arduino + MCP9600 + thermocouple"

So that's
Arduino + MCP9600 thermocouple amplifier + thermocouple

The "breakout board" can be seen here
https://shop.pimoroni.com/products/mcp9600-thermocouple-amplifier-breakout?variant=21439215272019
"MCP9600 Thermocouple Amplifier Breakout"

Image of an Arduino
Loading Image...

So yes, for sure, guidance would be appreciated.

Best wishes,
Rich Smith
Jim Wilkins
2024-03-18 23:20:17 UTC
Permalink
"Richard Smith" wrote in message news:***@void.com...

Hello all

If this is of any interest to anyone, would be very glad of help.

Sitation presented here - page on own website.

http://www.weldsmith.co.uk/computing/embeddev/240318_mcp9600_try1st.html
"Try 1st - Arduino + MCP9600 + thermocouple"

So that's
Arduino + MCP9600 thermocouple amplifier + thermocouple

The "breakout board" can be seen here
https://shop.pimoroni.com/products/mcp9600-thermocouple-amplifier-breakout?variant=21439215272019
"MCP9600 Thermocouple Amplifier Breakout"

Image of an Arduino
https://upload.wikimedia.org/wikipedia/commons/3/38/Arduino_Uno_-_R3.jpg

So yes, for sure, guidance would be appreciated.

Best wishes,
Rich Smith
--------------------------------
Each I2C string begins with the address of the target, which you have to
know to communicate with it. Around 2000 I wrote a program that controlled a
Texas Instruments Power Over Ethernet applications board using the printer
port of a computer to generate the I2C address and SDA + SCL signals, so the
board and cable could plug into a customer's unmodified lab PC. A 2 channel
digital storage scope with a decent amount of waveform memory should let you
capture, view and analyze the command sequences. Don't ALTernate the SCL and
SDA channels, their phasing is critical. You can experiment with how
triggering and sweep mode work by turning a power supply on and off.

My thermocouple amplifiers have analog outputs that a PC-connected DVM can
read, some can read Type K directly. I haven't played with I2C since then
and don't remember the details. I understand structured programming but I'm
not all that familiar with the subtleties of C.

Like the lathe and mill, you won't get far in electronics without an
oscilloscope. My small portable one is a used Tenma that I took a chance on
at a flea market. It's somewhat noisy but good enough for hobby use. At
least one metered current-limited power supply is very useful, partly for
its fault detection and protection ability. I prefer 4-1/2 digit precision
on one multimeter for working on measurement circuits, otherwise 3-1/2
should be fine.
Jim Wilkins
2024-03-19 00:47:02 UTC
Permalink
"Jim Wilkins" wrote in message news:utai8d$e7ee$***@dont-email.me...

Each I2C string begins with the address of the target, which you have to
know to communicate with it.
----------------------------

Here's what it looks like:
https://learn.sparkfun.com/tutorials/i2c/all

If the sender doesn't see the receiver pull down the ACK bit after the
address you'll get the Not Found error.

"Once the first 8 bits of the frame are sent, the receiving device is given
control over SDA. If the receiving device does not pull the SDA line low
before the 9th clock pulse, it can be inferred that the receiving device
either did not receive the data or did not know how to parse the message.
[wrong address?] In that case, the exchange halts, and it's up to the
controller of the system to decide how to proceed."

https://ww1.microchip.com/downloads/en/DeviceDoc/MCP960X-Data-Sheet-20005426.pdf
See figure 6.4 for the voltage-dependent address coding scheme. VDD is +,
VSS is ground.
Also the address codes and lengths have to match. It's apparently 8 bits for
the MCP9600, with the least significant bit ignored.

In the sparkfun schematic the funny looking things in brown are MOSFETs,
electrically controlled on/off switches. A voltage on the unconnected
(insulated) vertical bar enables current flow between the blocks, in this
case shorting the signal line to ground while the resistor limits the
current to a milliAmp. The diode is an unavoidable part of the structure.

Understanding data sheets was a large part of my job. Some of it was
confirming that the device really did what the sheet said it would.
Richard Smith
2024-03-19 01:24:49 UTC
Permalink
Thanks very very much for that.
Found
MCP960X-Data-Sheet-20005426.pdf
and suspected it had value. Now I know "it's it" I will spend time on
it over time.

https://learn.sparkfun.com/tutorials/i2c/all
might have come up on searches - tenuous maybe - but I didn't register
at all this is a good one.

This is all so new to me. Before yesterday morning I didn't know of
"pull-up resistors", for example.
I altered a circuit to test this
http://www.weldsmith.co.uk/computing/embeddev/240318_button_learn_pullup.html
"Arduino / embedded-devices - the learning begins"
Didn't take a video, but the LED is indeterminately going on and off
when the button is not being touched. etc, etc.

Better try to get back to sleep for now.
Thanks.
Rich S.
David Billington
2024-03-19 02:39:33 UTC
Permalink
Post by Richard Smith
Thanks very very much for that.
Found
MCP960X-Data-Sheet-20005426.pdf
and suspected it had value. Now I know "it's it" I will spend time on
it over time.
https://learn.sparkfun.com/tutorials/i2c/all
might have come up on searches - tenuous maybe - but I didn't register
at all this is a good one.
This is all so new to me. Before yesterday morning I didn't know of
"pull-up resistors", for example.
I altered a circuit to test this
http://www.weldsmith.co.uk/computing/embeddev/240318_button_learn_pullup.html
"Arduino / embedded-devices - the learning begins"
Didn't take a video, but the LED is indeterminately going on and off
when the button is not being touched. etc, etc.
Better try to get back to sleep for now.
Thanks.
Rich S.
I saw that PDF earlier but didn't feel I could add anything to help at
the time. I recently did my first serious Arduino project doing a bit of
motor control with a Nano and using a counter to produce a periodic 4Hz
interrupt. I found some of the online tutorials vague and talking about
counter compare and counter overflow in the same article and not clear
about what examples were for but sorted it in the end after looking more
into the various register set-ups. Interrupts as well from rotary
encoder on digital 2 input. 30+ years of C coding in various
environments meant I was aware of issues with interrupts and the need
for certain variables to be declared 'volatile' and handled accordingly.

Make sure your IDE is up to date as mine wasn't and I had and issue with
'digitalPinToInterrupt' not being recognised so removed that IDE and
installed the latest and all good.

A classic MC68000 text mentioned some problems are best solved by
leaving them and having a beer and getting back to them the next day or
something like that, it definitely works for me pondering on a conundrum.
Richard Smith
2024-03-19 10:43:22 UTC
Permalink
Post by David Billington
A classic MC68000 text mentioned some problems are best solved by
leaving them and having a beer and getting back to them the next day
or something like that, it definitely works for me pondering on a
conundrum.
Yes... ... ...
And also what these days do to you - well certainly to me. If you can
relate to it - that was the point I was at - "you've grubbed-around,
have seen some of the concepts and learned some of the words - now look
up and outwards and step clear because you cannot do this to yourself".

I had some cider and watched some abandoned mine exploring videos.
Crazy that people do this. Must find a network and try it :-)
One which must be very near where I live had them wading through the
ochre stuff with reddish liquid looking like what gave the Rio Tinto its
name - if so the extremely acidic stuff. In vast mined-out galleries
(normally "our" lodes are narrow, nearly vertical and oriented
SW<=>NE). Looked to be sulphide ore area (?) -> (?) there were
"stalagtites" of what looked like the iron-y arsenopyrites we get in the
copper-mining areas (?) around here.
Jim Wilkins
2024-03-19 23:06:10 UTC
Permalink
Post by David Billington
A classic MC68000 text mentioned some problems are best solved by
leaving them and having a beer and getting back to them the next day
or something like that, it definitely works for me pondering on a
conundrum.
Yes... ... ...
And also what these days do to you - well certainly to me. If you can
relate to it - that was the point I was at - "you've grubbed-around,
have seen some of the concepts and learned some of the words - now look
up and outwards and step clear because you cannot do this to yourself".

---------------------------------

Have you ever studied a foreign language? At first it's totally unfamiliar
and mysterious but after two weeks or so of "drinking from the fire hose" it
starts to make sense and you have developed a mental filing system to
associate and store new words and concepts.

My first year French class was conducted entirely in French for the first
few weeks, the Total Immersion system, and it did work for us.
https://www.gviusa.com/blog/three-of-the-best-ways-to-experience-total-language-immersion/

Once you have learned one communications system picking up others will be
much easier, since you have seen the problems and a solution to them. Modern
tech is very much computers communicating with each other, as in a car, and
the Internet of Things.

https://en.wikipedia.org/wiki/Internet_of_things

Actually the Air Force began it in the early 60's with a network for parts
order control that soon grew into the secure global computer data network I
maintained in the early 1970s, when hard drives were the size of washing
machines. Teletypes had been interconnected much earlier but without
computers. The terminals themselves automatically exchanged information
about their status.

This is an unclassified description of an earlier system:
https://en.wikipedia.org/wiki/SIGSALY
The compression technique works quite well in a properly tuned system, and
gives a data rate below the upper frequency range of the transmitted voice.
Did you know that most of what you say is random white noise?

The DEW Line of the 1950's was the first big attempt to network computers,
to send radar data from remote northern stations over phone lines to
interception control centers. No single company understood radar and
computers and communications, and the non-profit civilian Mitre Corporation
was the result of several less successful attempts to define and manage the
large systems engineering. The academics who had contributed to defeating
the Nazis were less interested in fighting the Communists.
Richard Smith
2024-03-20 10:55:18 UTC
Permalink
I have learned a bit of other languages.
Problem is the one-to-many relationship, as a native English speaker.
It was amazing learning some Turkish when working in Turkey.
Never took any language that far.
Jim Wilkins
2024-03-20 13:04:47 UTC
Permalink
"Richard Smith" wrote in message news:***@void.com...

I have learned a bit of other languages.
Problem is the one-to-many relationship, as a native English speaker.
It was amazing learning some Turkish when working in Turkey.
Never took any language that far.

-----------------------------

Then I used a bad example. I'd heard that Europeans (or Continentals) tend
to learn more than one, unlike Americans. Urban Germans often knew English
while rural ones mostly didn't, and many spoke significantly different local
dialects which doubled my difficulty understanding them. It helped that some
of the differences were those by which Saxon German morphed into Old
English. For example Ein/Eine became Uh (a) and Der/Die/Das became Duh
(the).

Anyway learning computers becomes easier once you pass over the initial hump
of the seemingly unrelated basics. Programming is really just another
language, that fortunately you don't have to speak and understand in live
conversation. It's said the Romans' greatest accomplishment was being able
to speak their grammatically challenging language.
Jim Wilkins
2024-03-20 13:46:08 UTC
Permalink
"Richard Smith" wrote in message news:***@void.com...

I have learned a bit of other languages.
Problem is the one-to-many relationship, as a native English speaker.
--------------------------------

Although "dead", Latin clarified the grammar and vocabulary of many modern
European languages including English. German gave me entry to Dutch,
Scandinavian and Yiddish. French has been useful in neighboring Quebec and
some help with Spanish, in fact the two shade together across Provence and
Catalonia. I gave up on Russian when they turned inward and hostile, the
little I know is recognizable in other Slavic languages. I know the alphabet
and have some vocabulary in Greek because of its heavy use in science but
can't put a sentence together.
Clare Snyder
2024-03-20 21:27:49 UTC
Permalink
Post by Richard Smith
I have learned a bit of other languages.
Problem is the one-to-many relationship, as a native English speaker.
It was amazing learning some Turkish when working in Turkey.
Never took any language that far.
Took a bit of French in grade 9 - that's 60 years ago - and a
conversational Spanish course back in about '76. The 2 languages are
just close enough I managed to get out SOME "Spenchlish" for a couple
of years - - -
My eldest daughter (turnd 42 on Sunday) has worked predominantly in
French for about 12 years (in charge of programs in a large part of
French West Africa for a major NGO)
She's made good use of her French Immersion schooling.
Jim Wilkins
2024-03-20 00:05:13 UTC
Permalink
"Richard Smith" wrote in message news:***@void.com...

Yes... ... ...
And also what these days do to you - well certainly to me. If you can
relate to it - that was the point I was at - "you've grubbed-around,
have seen some of the concepts and learned some of the words - now look
up and outwards and step clear because you cannot do this to yourself".

-----------------------------------

For me the second exposure to a subject was easier. In night school in the
90's I aced the math and engineering courses I had struggled with in the
60's.

Partly that may have been due to the nature of university life in the 60's.
Jim Wilkins
2024-03-19 04:03:18 UTC
Permalink
"Richard Smith" wrote in message news:***@void.com...

"Second picture is where commented-out "pinMode(2, INPUT_PULLUP);".
Initially LED lighting randomly when button not pressed. Then added in the
circuit the "pull-up" resistor connected to on-board supply voltage and the
circuit behaved like the first circuit."

Unconnected inputs are sensitive antennas that pick up secret messages from
space, or noise from fluorescent lights and radio/TV transmitters. Some even
float to a middle level where they partly turn on both the input high and
input low circuits, causing oscillation or higher power consumption. They
are all best made high or low if not used. When you have an oscilloscope
touch the probe to your finger and see how much electric noise you carry
around.

The traditional initiation rite into electronics is releasing the magic
smoke. Hopefully it's one-time, like forgetting to lower your helmet
https://www.ntnoa.org/LucasSmoke.htm
Richard Smith
2024-03-19 10:50:57 UTC
Permalink
Post by Jim Wilkins
Post by Jim Wilkins
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to
on-board supply voltage and the circuit behaved like the first
circuit."
Unconnected inputs are sensitive antennas that pick up secret messages
from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn
on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. When you have an oscilloscope touch the probe to your finger and
see how much electric noise you carry around.
The traditional initiation rite into electronics is releasing the
magic smoke. Hopefully it's one-time, like forgetting to lower your
helmet
https://www.ntnoa.org/LucasSmoke.htm
I know of the demonstrable proof that electric circuits run on smoke,
and the smoke must be retained just like a boiler holds steam.

It is a bit of a thought that I would need an oscilloscope to proceed
much further.
I have seen videos of them used to diagnose even what is happening when
you push a push-button - all sorts of noise! With the oscilloscope
showing very clearly.
Jim Wilkins
2024-03-19 13:12:40 UTC
Permalink
"Richard Smith" wrote in message news:***@void.com...

It is a bit of a thought that I would need an oscilloscope to proceed
much further.
I have seen videos of them used to diagnose even what is happening when
you push a push-button - all sorts of noise! With the oscilloscope
showing very clearly.

------------------------------------
You don't absolutely require a digital storage scope unless you -must- solve
the problems you encounter, I've given you some hints, another below. They
are less expensive than a lathe or milling machine or electric welder of
useful size and won't keep hitting you up for accessories and consumables as
those will, except perhaps a non-contact current probe for motor starting
current.
As an example the specs on this look adequate for troubleshooting I2C
waveforms.
https://www.amazon.com/FNIRSI-1013D-Oscilloscope-Handheld-Bandwidth/dp/B0BB2GTM1J?source=ps-sl-shoppingads-lpcontext&ref_=fplfs&psc=1&smid=A33KEXAIEXH1NV

Models with an individual knobs to change each function are much more
convenient to operate, multistep touchscreen menus are tolerable for limited
use but distracting when you are concentrating on a problem, watching the
waveform for changes. This is mine, which has the knobs it needs most and
handles the less used functions in software with the F1-5 buttons, a
reasonable compromise.
https://www.amazon.co.uk/OSCILLOSCOPE-50MHZ-1GSPS-72-8705-TENMA/dp/B018CQ6ZCK

I'd rate it good enough for general hobby and troubleshooting, less than
fully adequate professionally. The seller had bought it to monitor one
function in a test setup and unloaded it at half price when done. I collect
test and measurement equipment, usually second-hand at flea markets and
auctions or their resellers.

The tag on that MCP photo gives the I2C address as 66 or 67. Those are
hexadecimal numbers, base 16 instead of 10, that handily represent blocks of
4 bits in more human readable form. 66 is 110 0110. The bit weights are 8 4
2 1 and the hex value is the sum of those that are 1, 4 + 2. A-F represent
10-15. Sometimes they are prefixed with 0x or such to indicate hex instead
of decimal.
Leon Fisk
2024-03-19 14:05:11 UTC
Permalink
On Tue, 19 Mar 2024 09:12:40 -0400
"Jim Wilkins" <***@gmail.com> wrote:

<snip>
Post by Jim Wilkins
As an example the specs on this look adequate for troubleshooting I2C
waveforms.
https://www.amazon.com/FNIRSI-1013D-Oscilloscope-Handheld-Bandwidth/dp/B0BB2GTM1J
I find the test equipment available nowadays truly amazing and
especially at that price... However my old stuff from ~30 years ago
still works (some pots and switches could use cleaning) and I wonder
how long these new items will last. Of course if they were to work for
another 20 years I'll not likely be around to complain about it😉
--
Leon Fisk
Grand Rapids MI
Jim Wilkins
2024-03-19 14:44:31 UTC
Permalink
"Leon Fisk" wrote in message news:utc62n$qsk5$***@dont-email.me...

On Tue, 19 Mar 2024 09:12:40 -0400
"Jim Wilkins" <***@gmail.com> wrote:

<snip>
Post by Jim Wilkins
As an example the specs on this look adequate for troubleshooting I2C
waveforms.
https://www.amazon.com/FNIRSI-1013D-Oscilloscope-Handheld-Bandwidth/dp/B0BB2GTM1J
I find the test equipment available nowadays truly amazing and
especially at that price... However my old stuff from ~30 years ago
still works (some pots and switches could use cleaning) and I wonder
how long these new items will last. Of course if they were to work for
another 20 years I'll not likely be around to complain about it😉
--
Leon Fisk
Grand Rapids MI

------------------------------------
It really is, although some of the older, better scopes had a lower noise
floor. I compared the 1970ish HP spectrum analyzer I was considering buying
to newer microprocessor ones at over twice the price and saw no difference
in sensitivity or noise.

A 5-1/2 digit Fluke 8800A bench multimeter from around 1980 that I bought
for $25 still matches a calibrated voltage standard to the last count.
Industry dumps equipment (and people) when age makes their reliability
questionable.

Later several shoppers and I were discussing the performance of an expensive
deep fringe TV antenna a dealer was selling, and I mentioned an RF spectrum
analyzer. The dealer couldn't believe that an individual would own one, but
we discovered we all did.
Leon Fisk
2024-03-19 15:31:57 UTC
Permalink
On Tue, 19 Mar 2024 10:44:31 -0400
"Jim Wilkins" <***@gmail.com> wrote:

<snip>
Post by Jim Wilkins
A 5-1/2 digit Fluke 8800A bench multimeter from around 1980 that I bought
for $25 still matches a calibrated voltage standard to the last count.
Industry dumps equipment (and people) when age makes their reliability
questionable.
I picked up (Ebay) a Fluke 8010A and a 37 a few years ago. Was
hoping for the best but they both need work. Would really like to get
the 37 working. It's a lot like my 87 but not quite the same spec. Has
a bargraph display which can be handy when tuning circuits. Made to
sit on a bench or portable. Uses a 9v battery, same as 87 series.
Suspect the input protection, "Varistors" maybe flakey. I ordered some
in but have been too lazy to seriously dig into it🤷 The 8010A may need
some serious switch work/cleaning. Used to see those switches in radio
equipment and they were prone for dirt/noise. Royal pain to desolder
and probably unobtanium to replace nowadays. So need to be carefully
disassembled and cleaned...

I don't lack for projects just the drive to do it😑
--
Leon Fisk
Grand Rapids MI
Jim Wilkins
2024-03-19 16:37:42 UTC
Permalink
"Leon Fisk" wrote in message news:utcb5e$sio0$***@dont-email.me...

I picked up (Ebay) a Fluke 8010A and a 37 a few years ago. Was
hoping for the best but they both need work. Would really like to get
the 37 working. It's a lot like my 87 but not quite the same spec. Has
a bargraph display which can be handy when tuning circuits. Made to
sit on a bench or portable. Uses a 9v battery, same as 87 series.
Suspect the input protection, "Varistors" maybe flakey. I ordered some
in but have been too lazy to seriously dig into it🤷 The 8010A may need
some serious switch work/cleaning. Used to see those switches in radio
equipment and they were prone for dirt/noise. Royal pain to desolder
and probably unobtanium to replace nowadays. So need to be carefully
disassembled and cleaned...

I don't lack for projects just the drive to do it😑
Leon Fisk

-----------------------
I have a Fluke 8060A DMM whose self-test (REL while power-on) reports bad
switches, though sometimes it works after spray cleaning. I don't dare touch
those switches with an iron.
Leon Fisk
2024-03-19 18:21:17 UTC
Permalink
On Tue, 19 Mar 2024 12:37:42 -0400
"Jim Wilkins" <***@gmail.com> wrote:

<snip>
Post by Jim Wilkins
I have a Fluke 8060A DMM whose self-test (REL while power-on) reports bad
switches, though sometimes it works after spray cleaning. I don't dare touch
those switches with an iron.
Never used one of those but I saw them in other techs kits now and
then.

Per manual here: https://assets.fluke.com/manuals/8060a_3vimeng0200.pdf

Those look like the same kinda switch as what is in the 8010A. I had
very little success cleaning that style with any spray in radio
equipment. Best bet was replacement but they were usually ganged
together as a multi-switch block. Crap load of solder joints to try and
get loose all to once😬

Really tedious but you could pull the retaining clips off the inner
plastic plunger and carefully pull them out along with the
metal contact strips. Use an eraser on those strips and similar on the
standing pins inside the shell they contacted with. Some silicone
grease used sparingly on the interlock bars...
--
Leon Fisk
Grand Rapids MI
Jim Wilkins
2024-03-19 21:34:20 UTC
Permalink
"Leon Fisk" wrote in message news:utcl2t$sio0$***@dont-email.me...

Really tedious but you could pull the retaining clips off the inner
plastic plunger and carefully pull them out along with the
metal contact strips. Use an eraser on those strips and similar on the
standing pins inside the shell they contacted with. Some silicone
grease used sparingly on the interlock bars...

Leon Fisk
------------------------------
Thanks. I was taught to use an ink eraser to clean contacts. The Army tool
kits for telephone and Teletype repairmen included contact burnishers. The
school concentrated on electronics, ciphony and Modems, and slighted the
mechanical components.
https://jonard.com/contact-burnishers-burnisher-files
Leon Fisk
2024-03-19 22:02:56 UTC
Permalink
On Tue, 19 Mar 2024 17:34:20 -0400
"Jim Wilkins" <***@gmail.com> wrote:

<snip>
Post by Jim Wilkins
Thanks. I was taught to use an ink eraser to clean contacts. The Army tool
kits for telephone and Teletype repairmen included contact burnishers. The
school concentrated on electronics, ciphony and Modems, and slighted the
mechanical components.
https://jonard.com/contact-burnishers-burnisher-files
I was using "burnish" in a general sense. It's really hard to get
anything inside those switch shells to clean up the contact area. So
maybe a Q-tip with something on it, bit of cloth held in a hemostat...
you have to improvise with something depending on how bad they look to
be🤷

I have several different erasers, they work pretty good if they can
reach the problem area🙂
--
Leon Fisk
Grand Rapids MI
Clare Snyder
2024-03-20 21:19:30 UTC
Permalink
Post by Leon Fisk
On Tue, 19 Mar 2024 17:34:20 -0400
<snip>
Post by Jim Wilkins
Thanks. I was taught to use an ink eraser to clean contacts. The Army tool
kits for telephone and Teletype repairmen included contact burnishers. The
school concentrated on electronics, ciphony and Modems, and slighted the
mechanical components.
https://jonard.com/contact-burnishers-burnisher-files
I was using "burnish" in a general sense. It's really hard to get
anything inside those switch shells to clean up the contact area. So
maybe a Q-tip with something on it, bit of cloth held in a hemostat...
you have to improvise with something depending on how bad they look to
be?
I have several different erasers, they work pretty good if they can
reach the problem area?
There used to be a "tuner lube" for mechanical TV tuners that had a
real fine abrassive in it - the stuff was a black paste in a
hypordermic needle that you very carefully squirted in to the contacts
of all the wafer switches inTV tuners to "quiet" them down. My lat
tube hardened up and gat thrownout tears ago - I think it was from M-G
Chemicals (same company that manufactures Stabilant up here north of
Toronto) - Their NuTrol is a pretty decent volume control cleaner too.
Clare Snyder
2024-03-20 21:12:45 UTC
Permalink
Post by Leon Fisk
On Tue, 19 Mar 2024 10:44:31 -0400
<snip>
Post by Jim Wilkins
A 5-1/2 digit Fluke 8800A bench multimeter from around 1980 that I bought
for $25 still matches a calibrated voltage standard to the last count.
Industry dumps equipment (and people) when age makes their reliability
questionable.
I picked up (Ebay) a Fluke 8010A and a 37 a few years ago. Was
hoping for the best but they both need work. Would really like to get
the 37 working. It's a lot like my 87 but not quite the same spec. Has
a bargraph display which can be handy when tuning circuits. Made to
sit on a bench or portable. Uses a 9v battery, same as 87 series.
Suspect the input protection, "Varistors" maybe flakey. I ordered some
in but have been too lazy to seriously dig into it? The 8010A may need
some serious switch work/cleaning. Used to see those switches in radio
equipment and they were prone for dirt/noise. Royal pain to desolder
and probably unobtanium to replace nowadays. So need to be carefully
disassembled and cleaned...
I don't lack for projects just the drive to do it?
I've found Stabilant22 can make a HUGE difference in electronic
connections that are "noisy" or intermitternt. Pricy stuff at about
$400 an ounce but it goes a long way. 1/4 ounce mixed with 3/4 oz of
99.9 ethanol makes an ounce of 22E for about $100 - the last ounce
lasted me about 20 years. Just mixed 2 oz of 22E and 2 oz of 22A
(mixed with 99% IPA) yesterday. $5 an ounce for the ethanol and $7 for
half a liter of IPA - (and no, not the hoppy beverage libation 111)

One drop of the stuff can make a noisy control DEAD QUIET. or an
intermittent connection rock solid Used on test lead plugs? fantastic
- electrically virtually identical to a good soldered joint and no
worries about shorts between pins etc. I stumbled across the stuff
when working on American Megatrends mother boards back when all the
memory and most other chips were still socketted and the pin
connections would get flaky from heat cycling. You could re-seat the
chips once every 2 months - or use a bit of Stabilant22 and never
touch them again for 5 years. with 3 year warrany on our machines the
stuff was worth it's weight in platinum in eliminating over 90% of
warranty claims
Clare Snyder
2024-03-20 20:54:36 UTC
Permalink
Post by Leon Fisk
On Tue, 19 Mar 2024 09:12:40 -0400
<snip>
Post by Jim Wilkins
As an example the specs on this look adequate for troubleshooting I2C
waveforms.
https://www.amazon.com/FNIRSI-1013D-Oscilloscope-Handheld-Bandwidth/dp/B0BB2GTM1J
I find the test equipment available nowadays truly amazing and
especially at that price... However my old stuff from ~30 years ago
still works (some pots and switches could use cleaning) and I wonder
how long these new items will last. Of course if they were to work for
another 20 years I'll not likely be around to complain about it?
I picked up a cheap portable storage scome (single chanel only) for
that kind of work then stumpled across a primo Tektronics 465 with
the DM44 add-on for $50. I had been scopeless for a couple decades
since my old Heathkit blew a couple capacitors (with a big bang and
lots of smoke)
Picker it up to do some automotive electronic troubleshooting - and
made a pressure pulse sensor for it as well.
Leon Fisk
2024-03-20 21:16:52 UTC
Permalink
On Wed, 20 Mar 2024 16:54:36 -0400
Clare Snyder <***@snyder.on.ca> wrote:

<snip>
Post by Clare Snyder
I picked up a cheap portable storage scome (single chanel only) for
that kind of work then stumpled across a primo Tektronics 465 with
the DM44 add-on for $50...
Yowza! That's a really nice looking scope👍 I can't beat that deal...
--
Leon Fisk
Grand Rapids MI
Clare Snyder
2024-03-21 02:42:20 UTC
Permalink
Post by Leon Fisk
On Wed, 20 Mar 2024 16:54:36 -0400
<snip>
Post by Clare Snyder
I picked up a cheap portable storage scome (single chanel only) for
that kind of work then stumpled across a primo Tektronics 465 with
the DM44 add-on for $50...
Yowza! That's a really nice looking scope? I can't beat that deal...
It was something of an estate sale. The old guy had been an engineer
with Square D Canada and Allen Bradley (Rockwell Automation) and
continued doing some repair work at home after retirement and had
ammassed a PILE of "stuff" the family had to dispose of after his
death. I cot boxed of compinents, 8X10X2 inches for $2 Canafian each -
the scope, a decade resistir sub box, a 10 amp CanLab Powerstat in a
nice cabinet, Also a brand new foot swith unit with a heavcy magnetic
contactor - all in nice cabinetry and a brand new Sencore SCR tester
(but without the required Sencore Megger to use it woith - know anyone
who needs it?) I think the total was $75 or $80. There was still a
truck-load in the garage when I left - but I had no room for any more
- wife's always at me to get rid of "stuff"
Jim Wilkins
2024-03-19 14:08:03 UTC
Permalink
"Richard Smith" wrote in message news:***@void.com...

It is a bit of a thought that I would need an oscilloscope to proceed
much further.
I have seen videos of them used to diagnose even what is happening when
you push a push-button - all sorts of noise! With the oscilloscope
showing very clearly.

---------------------------------------

Yes, the simple-seeming things aren't when you look closely. That's why
design engineers who learned the book theory need technicians who know the
grubby practical aspects. In that instance the initial contact is a signal
to wait 10mSec or so and check again. Fingers generally can't press and
release a button in less than 50mS.

In my original field the student is expected to learn and practice both. I
learned basic glass-blowing (tee joints) and the polishing and etching of
metal samples to examine the microscopic crystal structure.

I suggest you not be tempted by less than a 2 channel digital storage scope.
The older stuff is good for following an audio or video signal to measure
its changing amplitude, without having to decode it. Digital scopes record
much more than the screen width shows and can scroll through, expand or
compress it later. They are better than a datalogger for rapidly changing
signals like pulsed welding current and motor starting surges, perhaps even
the response of a strain gage as the sample breaks.
James Waldby
2024-03-20 07:47:03 UTC
Permalink
Post by Richard Smith
Post by Jim Wilkins
Post by Jim Wilkins
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to
on-board supply voltage and the circuit behaved like the first
circuit."
The webpage pictures and your problem descriptions aren't clear enough
or specific enough for definitive help. Explicit wiring diagrams and
complete code listings are needed, as well as context like Arduino
IDE version number. <https://arduino.stackexchange.com> may be of
help if you can fully explain what you wired up and give a
minimum-working-example for the problem,

I suggest that when getting started, you first navigate to the Blink
sketch (run Arduino, then File / Examples / Basics / Blink) and
compile it and download it. Then, to verify you are able to make and
install program changes, copy it to a directory of your own with a new
name, eg Blink2, and try a few simple changes, like substituting 13 in
place of LED_BUILTIN, or 400 in place of 1000, etc. and download
again. If you want to try an external LED, connect it to some other
IO pin (not D13) with eg a 2K resistor, put that IO number into your
Blink2, test it, etc.

Then, if you are working with a program like DigitalInputPullup,
connect a switch between an IO pin and Gnd, say D2 and ground, per
.png-image schematics in examples/02.Digital/DigitalInputPullup .
When you download the program to the Uno and it starts running,
setup() will be called, which will set up serial IO and pinModes for
D2 and D13. The pinMode(2, INPUT_PULLUP) statement places D2 into
input mode with a pullup resistor to V+ (say 5V). That is, if D2 is
in the INPUT_PULLUP state, an internal resistor like 35K ohms (RPU min
20K, max 50K per spec sheet) is connected between V+ and D2, which
means that if you leave D2 open, D2 will sit at V+; or if you connect
D2 to ground, after transients settle (~1us) D2 will sit at 0V, and
some number of uA, eg 5/35000 A ~ 143 uA, will flow through the pullup
resistor. You can measure that current by hooking an ammeter between
the pin and ground if you want to calculate pullup resistance. If the
current's really high or is zero the pin's not in INPUT_PULLUP mode.
If you have an external pullup and turn on INPUT_PULLUP, the effective
pullup resistance is the two resistors in parallel. If your external
resistor is a pulldown (connected to Gnd instead of V+) the open-pin
voltage [open aside from pull resistors] will be that of a resistor
divider, instead of 0 or V+.

Re the I2C problem with your MCP9600 breakout board - Again, wiring
diagrams and code listings are needed for diagnosis. One comment: You
could write an if statement to try both addresses, 0x66 and 0x67,
mentioned in the Pimoroni page, or a loop to try the whole range
0x60-0x67, proceeding ahead when a ready-test succeeds. Or, for
simpler programming you could make a program with one address,
download and test it, then change it for each possible address until
successful. The I2C fails I've seen were due to wrong addresses,
miswiring, bad chips, or in one case wires longer than a few feet.
Post by Richard Smith
Post by Jim Wilkins
Unconnected inputs are sensitive antennas that pick up secret messages
from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn
on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. [...]
Setting an open IO to low or high output like that is one approach,
but on the Arduino Uno a simpler / less risky approach is to set
pinMode to INPUT_PULLUP. Note, ATmega328P microcontroller chip
hardware as on an Uno sets all IO pins to INPUT during Reset, but boot
firmware changes the modes of some pins like D0, D1, D13 as per eg
<https://forum.arduino.cc/t/behavior-of-pins-during-reset-state/640285/12>
Post by Richard Smith
It is a bit of a thought that I would need an oscilloscope to
proceed much further.
One can do a lot with indicator LEDs attached to several outputs. You
can connect a resistor in series with an LED between an IO pin and
ground or 5V. Eg, a 3.5V LED with a 1.5K resistor will draw 1 mA,
either when the pin is low if series is between 5V and pin, or when
the pin is high if series is between Gnd and pin. ( 0.001 A =
(5V-3.5V)/1500 ohms.) Or, because modern LEDs light up ok (visible
but not annoyingly bright) with a few microamps, you can connect an
LED between an IO pin and Gnd; turn it on with perhaps 43 uA, ie
(5V-3.5V)/35000 ohms, when you set pinMode to INPUT_PULLUP; turn it
off by setting pinMode to INPUT. Note, outputting debug data via the
serial port also is easy to do with Arduino.

If you are uncertain how much electronics work you'll do, or have to
really economize, an item like <https://www.amazon.com/dp/B0C6XPVLPZ>
($37) would get you at least basic scope function, making it possible
to see switch bounce, PWM sequences, and other low frequency stuff.
For a hundred or two more, you can get a 50MHz 2 channel scope like
previously mentioned, a big step up. If you're into micros for the
long term, go ahead and get a medium cost 4 channel 100MHz or 200MHz
scope, somewhere between $300 and $800. Scopes in that range often
have an input to accept data from optional add-on logic analyzer
modules, adding 8 or more 0-1 inputs, and often have builtin protocol
analyzers. Eg, besides displaying an I2C waveform they show its data
content as text on the screen.
Post by Richard Smith
I have seen videos of them used to diagnose even what is happening
when you push a push-button - all sorts of noise! With the
oscilloscope showing very clearly.
It's mostly switch bounce, not noise. On some switches bounce will be
over within just a few milliseconds (ms), on others it can be dozens
of ms. With search terms = arduino debounce, you can find code
examples plus simple switch or switch+resistor circuits, and may also
see pages like below with more-complex Schmitt trigger hardware
debounce, or with low-pass filters, which in some cases are truely
awful, amazingly bad. Following link explains bounce problem and
shows hardware and software debouncing with detailed code notes.
<https://www.circuitbasics.com/how-to-use-switch-debouncing-on-the-arduino/>
Jim Wilkins
2024-03-20 11:41:52 UTC
Permalink
Post by Richard Smith
Post by Jim Wilkins
Post by Jim Wilkins
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to
on-board supply voltage and the circuit behaved like the first
circuit."
The webpage pictures and your problem descriptions aren't clear enough
or specific enough for definitive help. Explicit wiring diagrams and
complete code listings are needed, as well as context like Arduino
IDE version number. <https://arduino.stackexchange.com> may be of
help if you can fully explain what you wired up and give a
minimum-working-example for the problem,

I suggest that when getting started, you first navigate to the Blink
sketch (run Arduino, then File / Examples / Basics / Blink) and
compile it and download it. Then, to verify you are able to make and
install program changes, copy it to a directory of your own with a new
name, eg Blink2, and try a few simple changes, like substituting 13 in
place of LED_BUILTIN, or 400 in place of 1000, etc. and download
again. If you want to try an external LED, connect it to some other
IO pin (not D13) with eg a 2K resistor, put that IO number into your
Blink2, test it, etc.

Then, if you are working with a program like DigitalInputPullup,
connect a switch between an IO pin and Gnd, say D2 and ground, per
.png-image schematics in examples/02.Digital/DigitalInputPullup .
When you download the program to the Uno and it starts running,
setup() will be called, which will set up serial IO and pinModes for
D2 and D13. The pinMode(2, INPUT_PULLUP) statement places D2 into
input mode with a pullup resistor to V+ (say 5V). That is, if D2 is
in the INPUT_PULLUP state, an internal resistor like 35K ohms (RPU min
20K, max 50K per spec sheet) is connected between V+ and D2, which
means that if you leave D2 open, D2 will sit at V+; or if you connect
D2 to ground, after transients settle (~1us) D2 will sit at 0V, and
some number of uA, eg 5/35000 A ~ 143 uA, will flow through the pullup
resistor. You can measure that current by hooking an ammeter between
the pin and ground if you want to calculate pullup resistance. If the
current's really high or is zero the pin's not in INPUT_PULLUP mode.
If you have an external pullup and turn on INPUT_PULLUP, the effective
pullup resistance is the two resistors in parallel. If your external
resistor is a pulldown (connected to Gnd instead of V+) the open-pin
voltage [open aside from pull resistors] will be that of a resistor
divider, instead of 0 or V+.

Re the I2C problem with your MCP9600 breakout board - Again, wiring
diagrams and code listings are needed for diagnosis. One comment: You
could write an if statement to try both addresses, 0x66 and 0x67,
mentioned in the Pimoroni page, or a loop to try the whole range
0x60-0x67, proceeding ahead when a ready-test succeeds. Or, for
simpler programming you could make a program with one address,
download and test it, then change it for each possible address until
successful. The I2C fails I've seen were due to wrong addresses,
miswiring, bad chips, or in one case wires longer than a few feet.
Post by Richard Smith
Post by Jim Wilkins
Unconnected inputs are sensitive antennas that pick up secret messages
from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn
on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. [...]
Setting an open IO to low or high output like that is one approach,
but on the Arduino Uno a simpler / less risky approach is to set
pinMode to INPUT_PULLUP. Note, ATmega328P microcontroller chip
hardware as on an Uno sets all IO pins to INPUT during Reset, but boot
firmware changes the modes of some pins like D0, D1, D13 as per eg
<https://forum.arduino.cc/t/behavior-of-pins-during-reset-state/640285/12>
Post by Richard Smith
It is a bit of a thought that I would need an oscilloscope to
proceed much further.
One can do a lot with indicator LEDs attached to several outputs. You
can connect a resistor in series with an LED between an IO pin and
ground or 5V. Eg, a 3.5V LED with a 1.5K resistor will draw 1 mA,
either when the pin is low if series is between 5V and pin, or when
the pin is high if series is between Gnd and pin. ( 0.001 A =
(5V-3.5V)/1500 ohms.) Or, because modern LEDs light up ok (visible
but not annoyingly bright) with a few microamps, you can connect an
LED between an IO pin and Gnd; turn it on with perhaps 43 uA, ie
(5V-3.5V)/35000 ohms, when you set pinMode to INPUT_PULLUP; turn it
off by setting pinMode to INPUT. Note, outputting debug data via the
serial port also is easy to do with Arduino.

If you are uncertain how much electronics work you'll do, or have to
really economize, an item like <https://www.amazon.com/dp/B0C6XPVLPZ>
($37) would get you at least basic scope function, making it possible
to see switch bounce, PWM sequences, and other low frequency stuff.
For a hundred or two more, you can get a 50MHz 2 channel scope like
previously mentioned, a big step up. If you're into micros for the
long term, go ahead and get a medium cost 4 channel 100MHz or 200MHz
scope, somewhere between $300 and $800. Scopes in that range often
have an input to accept data from optional add-on logic analyzer
modules, adding 8 or more 0-1 inputs, and often have builtin protocol
analyzers. Eg, besides displaying an I2C waveform they show its data
content as text on the screen.
Post by Richard Smith
I have seen videos of them used to diagnose even what is happening
when you push a push-button - all sorts of noise! With the
oscilloscope showing very clearly.
It's mostly switch bounce, not noise. On some switches bounce will be
over within just a few milliseconds (ms), on others it can be dozens
of ms. With search terms = arduino debounce, you can find code
examples plus simple switch or switch+resistor circuits, and may also
see pages like below with more-complex Schmitt trigger hardware
debounce, or with low-pass filters, which in some cases are truely
awful, amazingly bad. Following link explains bounce problem and
shows hardware and software debouncing with detailed code notes.
<https://www.circuitbasics.com/how-to-use-switch-debouncing-on-the-arduino/>

--------------------------
Thanks, I'm glad someone whose Arduino experience is less archaic than mine
has jumped in. I think in hardware terms, voltage and current, and should
have clarified that INPUT_PULLUP is sufficient to make the pin high.

The $23 one-channel DSO211 oscilloscope I have doesn't seem available and
wouldn't capture both I2C signals so I didn't suggest it. I bought it for
signals whose return can't be grounded.

IIRC the Arduino needed a separate terminal to talk to the user, the IDE
didn't provide that function. Does it now?

The simplest switch debouncer I've seen and used is a spare buffer or
noninverting gate(s) with a feedback resistor from output to input that
makes it retain its logic level until the switch on its input yanks it to
the other one. The switch needs to be double throw, connected to both power
and ground, the resistor limits gate output current. In the days of
hardwired logic there were almost always spare gates available.
James Waldby
2024-03-21 05:23:40 UTC
Permalink
[big snip]
Post by Jim Wilkins
--------------------------
Thanks, I'm glad someone whose Arduino experience is less archaic than mine
has jumped in. I think in hardware terms, voltage and current, and should
have clarified that INPUT_PULLUP is sufficient to make the pin high.
The $23 one-channel DSO211 oscilloscope I have doesn't seem available and
wouldn't capture both I2C signals so I didn't suggest it. I bought it for
signals whose return can't be grounded.
Yes, it's a good feature of battery-powered small cheap scopes that
they allow ungrounded operation. As you note, some of them can't
capture I2C, which I didn't think about WRT the cheap scope I linked.
It does 250 KHz, not good enough for `Fast Mode` I2C at 400 KHz, let
alone the 3.4 MHz and 5 MHz versions of I2C.
Post by Jim Wilkins
IIRC the Arduino needed a separate terminal to talk to the user, the IDE
didn't provide that function. Does it now?
I think a decade ago there were some issues with Serial.printf, and
some serial-over-USB drivers had bugs that hung around a while, but
for a good while the same USB link used to program an Arduino Uno or
Nano has been working fine for serial IO to a window that's part of
the IDE. However, on Linux at least, a not-IDE Python or C program
can't share a serial link with the IDE; one or the other has to
relinquish it.

Note, the IDE now has an easy-to-use Serial Plotter tool. If a sketch
outputs some numbers on each line of serial output and you open a
Serial Plotter window, data will be plotted as it arrives, like on a
multi-channel scope.
Post by Jim Wilkins
The simplest switch debouncer I've seen and used is a spare buffer
or noninverting gate(s) with a feedback resistor from output to
input that makes it retain its logic level until the switch on its
input yanks it to the other one. The switch needs to be double
throw, connected to both power and ground, the resistor limits gate
output current. In the days of hardwired logic there were almost
always spare gates available.
At the time, gates were cheaper than lines of code, vs the other way
around now. But if an application has lots of switches, software
debounce may be to much of a challenge for some programmers. So there
are libraries, eg Bounce2, that can be used to take care of software
debounce with a not-too-bad learning curve.
Jim Wilkins
2024-03-21 14:15:29 UTC
Permalink
"James Waldby" wrote in message news:utgg8s$21ao1$***@dont-email.me...

Yes, it's a good feature of battery-powered small cheap scopes that
they allow ungrounded operation. As you note, some of them can't
capture I2C, which I didn't think about WRT the cheap scope I linked.
It does 250 KHz, not good enough for `Fast Mode` I2C at 400 KHz, let
alone the 3.4 MHz and 5 MHz versions of I2C.

---------------------------
He could setClock() low enough for it. That scope would be fast enough for
most of my hobby use, though I was spoiled by the $20,000 scope I ordered
for digital radio data speeds. The company had one that went to 70GHz, with
liquid helium cooled Josephson junction input amplifiers. They used it to
develop military satellite uplinks, then parked it and its Dewar in the back
of my lab. Since it lacked storage and even a trigger it wasn't generally
useful. Mostly I used an HP8753 vector network analyzer instead of a scope
above 1GHz.

Digital radio tech has made them very affordable:
https://nanovna.com/?page_id=21

Unlike many other communications protocols I2C doesn't depend on timing
accuracy and the actual speed can be whatever suits the controller hardware
and software, without bothering with timing. It is event-driven, the rising
SCL clock edge indicates when to put SDA data on the bus, the falling edge
of SCL when to read it, a microSecond or a day later. A program may impose
an arbitrary timeout to detect a bad connection. In practice the upper speed
limit depends on how quickly the pullup resistors can charge the capacitance
of the interconnecting wires, which is why their length is limited.
https://docs.arduino.cc/learn/communication/wire/
Jim Wilkins
2024-03-21 21:55:39 UTC
Permalink
"James Waldby" wrote in message news:utgg8s$21ao1$***@dont-email.me...

Yes, it's a good feature of battery-powered small cheap scopes that
they allow ungrounded operation. As you note, some of them can't
capture I2C, which I didn't think about WRT the cheap scope I linked.
It does 250 KHz, not good enough for `Fast Mode` I2C at 400 KHz, let
alone the 3.4 MHz and 5 MHz versions of I2C.

------------------------------------
Amazon shows other low cost scopes with 2 channels and higher bandwidth.
Their operation is entirely by menu choices which is initially confusing for
me, a user since the big vacuum tube Tektronix era, let alone a newbie to
scope use with only a vaguely worded instruction sheet and no other owners
to ask for help.

I use Amazon as an aggregator of similar items, for an overview of what's
available with user reviews, not necessarily as the seller I buy from.
Leon Fisk
2024-03-22 12:21:08 UTC
Permalink
On Thu, 21 Mar 2024 17:55:39 -0400
"Jim Wilkins" <***@gmail.com> wrote:

<snip>
Post by Jim Wilkins
I use Amazon as an aggregator of similar items, for an overview of what's
available with user reviews, not necessarily as the seller I buy from.
I do this with almost everything new[1] I buy nowadays. Helps to
determine a fair price and most importantly if a product has some
serious defects and best to avoid...

[1] A product new to me, that I haven't bought before or investigated.
--
Leon Fisk
Grand Rapids MI
Richard Smith
2024-03-20 16:30:43 UTC
Permalink
Post by James Waldby
Post by Richard Smith
Post by Jim Wilkins
Post by Jim Wilkins
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to
on-board supply voltage and the circuit behaved like the first
circuit."
The webpage pictures and your problem descriptions aren't clear enough
or specific enough for definitive help. Explicit wiring diagrams and
complete code listings are needed, as well as context like Arduino
IDE version number. <https://arduino.stackexchange.com> may be of
help if you can fully explain what you wired up and give a
minimum-working-example for the problem,
I suggest that when getting started, you first navigate to the Blink
sketch (run Arduino, then File / Examples / Basics / Blink) and
compile it and download it. Then, to verify you are able to make and
install program changes, copy it to a directory of your own with a new
name, eg Blink2, and try a few simple changes, like substituting 13 in
place of LED_BUILTIN, or 400 in place of 1000, etc. and download
again. If you want to try an external LED, connect it to some other
IO pin (not D13) with eg a 2K resistor, put that IO number into your
Blink2, test it, etc.
Then, if you are working with a program like DigitalInputPullup,
connect a switch between an IO pin and Gnd, say D2 and ground, per
.png-image schematics in examples/02.Digital/DigitalInputPullup .
When you download the program to the Uno and it starts running,
setup() will be called, which will set up serial IO and pinModes for
D2 and D13. The pinMode(2, INPUT_PULLUP) statement places D2 into
input mode with a pullup resistor to V+ (say 5V). That is, if D2 is
in the INPUT_PULLUP state, an internal resistor like 35K ohms (RPU min
20K, max 50K per spec sheet) is connected between V+ and D2, which
means that if you leave D2 open, D2 will sit at V+; or if you connect
D2 to ground, after transients settle (~1us) D2 will sit at 0V, and
some number of uA, eg 5/35000 A ~ 143 uA, will flow through the pullup
resistor. You can measure that current by hooking an ammeter between
the pin and ground if you want to calculate pullup resistance. If the
current's really high or is zero the pin's not in INPUT_PULLUP mode.
If you have an external pullup and turn on INPUT_PULLUP, the effective
pullup resistance is the two resistors in parallel. If your external
resistor is a pulldown (connected to Gnd instead of V+) the open-pin
voltage [open aside from pull resistors] will be that of a resistor
divider, instead of 0 or V+.
Re the I2C problem with your MCP9600 breakout board - Again, wiring
diagrams and code listings are needed for diagnosis. One comment: You
could write an if statement to try both addresses, 0x66 and 0x67,
mentioned in the Pimoroni page, or a loop to try the whole range
0x60-0x67, proceeding ahead when a ready-test succeeds. Or, for
simpler programming you could make a program with one address,
download and test it, then change it for each possible address until
successful. The I2C fails I've seen were due to wrong addresses,
miswiring, bad chips, or in one case wires longer than a few feet.
Post by Richard Smith
Post by Jim Wilkins
Unconnected inputs are sensitive antennas that pick up secret messages
from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn
on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. [...]
Setting an open IO to low or high output like that is one approach,
but on the Arduino Uno a simpler / less risky approach is to set
pinMode to INPUT_PULLUP. Note, ATmega328P microcontroller chip
hardware as on an Uno sets all IO pins to INPUT during Reset, but boot
firmware changes the modes of some pins like D0, D1, D13 as per eg
<https://forum.arduino.cc/t/behavior-of-pins-during-reset-state/640285/12>
Post by Richard Smith
It is a bit of a thought that I would need an oscilloscope to
proceed much further.
One can do a lot with indicator LEDs attached to several outputs. You
can connect a resistor in series with an LED between an IO pin and
ground or 5V. Eg, a 3.5V LED with a 1.5K resistor will draw 1 mA,
either when the pin is low if series is between 5V and pin, or when
the pin is high if series is between Gnd and pin. ( 0.001 A =
(5V-3.5V)/1500 ohms.) Or, because modern LEDs light up ok (visible
but not annoyingly bright) with a few microamps, you can connect an
LED between an IO pin and Gnd; turn it on with perhaps 43 uA, ie
(5V-3.5V)/35000 ohms, when you set pinMode to INPUT_PULLUP; turn it
off by setting pinMode to INPUT. Note, outputting debug data via the
serial port also is easy to do with Arduino.
If you are uncertain how much electronics work you'll do, or have to
really economize, an item like <https://www.amazon.com/dp/B0C6XPVLPZ>
($37) would get you at least basic scope function, making it possible
to see switch bounce, PWM sequences, and other low frequency stuff.
For a hundred or two more, you can get a 50MHz 2 channel scope like
previously mentioned, a big step up. If you're into micros for the
long term, go ahead and get a medium cost 4 channel 100MHz or 200MHz
scope, somewhere between $300 and $800. Scopes in that range often
have an input to accept data from optional add-on logic analyzer
modules, adding 8 or more 0-1 inputs, and often have builtin protocol
analyzers. Eg, besides displaying an I2C waveform they show its data
content as text on the screen.
Post by Richard Smith
I have seen videos of them used to diagnose even what is happening
when you push a push-button - all sorts of noise! With the
oscilloscope showing very clearly.
It's mostly switch bounce, not noise. On some switches bounce will be
over within just a few milliseconds (ms), on others it can be dozens
of ms. With search terms = arduino debounce, you can find code
examples plus simple switch or switch+resistor circuits, and may also
see pages like below with more-complex Schmitt trigger hardware
debounce, or with low-pass filters, which in some cases are truely
awful, amazingly bad. Following link explains bounce problem and
shows hardware and software debouncing with detailed code notes.
<https://www.circuitbasics.com/how-to-use-switch-debouncing-on-the-arduino/>
Hi James, everyone

Thanks for the ideas in your reply.

Do thing of copying the example code then adding features.
eg. "blink" -> flashes-out morse code with LED on "breadboard"
At least got that far.

Addresses hint re. Arduino I2C to breakout board great.

Maybe accept crawl before tray to walk - do simpler code just to see if
can get the I2C connection going - forget trying to read the
thermocouple yet?
Thinking of the idea of trying the addresses.

Rich S
Clare Snyder
2024-03-20 21:47:39 UTC
Permalink
Post by Richard Smith
Post by James Waldby
Post by Richard Smith
Post by Jim Wilkins
Post by Jim Wilkins
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to
on-board supply voltage and the circuit behaved like the first
circuit."
The webpage pictures and your problem descriptions aren't clear enough
or specific enough for definitive help. Explicit wiring diagrams and
complete code listings are needed, as well as context like Arduino
IDE version number. <https://arduino.stackexchange.com> may be of
help if you can fully explain what you wired up and give a
minimum-working-example for the problem,
I suggest that when getting started, you first navigate to the Blink
sketch (run Arduino, then File / Examples / Basics / Blink) and
compile it and download it. Then, to verify you are able to make and
install program changes, copy it to a directory of your own with a new
name, eg Blink2, and try a few simple changes, like substituting 13 in
place of LED_BUILTIN, or 400 in place of 1000, etc. and download
again. If you want to try an external LED, connect it to some other
IO pin (not D13) with eg a 2K resistor, put that IO number into your
Blink2, test it, etc.
Then, if you are working with a program like DigitalInputPullup,
connect a switch between an IO pin and Gnd, say D2 and ground, per
.png-image schematics in examples/02.Digital/DigitalInputPullup .
When you download the program to the Uno and it starts running,
setup() will be called, which will set up serial IO and pinModes for
D2 and D13. The pinMode(2, INPUT_PULLUP) statement places D2 into
input mode with a pullup resistor to V+ (say 5V). That is, if D2 is
in the INPUT_PULLUP state, an internal resistor like 35K ohms (RPU min
20K, max 50K per spec sheet) is connected between V+ and D2, which
means that if you leave D2 open, D2 will sit at V+; or if you connect
D2 to ground, after transients settle (~1us) D2 will sit at 0V, and
some number of uA, eg 5/35000 A ~ 143 uA, will flow through the pullup
resistor. You can measure that current by hooking an ammeter between
the pin and ground if you want to calculate pullup resistance. If the
current's really high or is zero the pin's not in INPUT_PULLUP mode.
If you have an external pullup and turn on INPUT_PULLUP, the effective
pullup resistance is the two resistors in parallel. If your external
resistor is a pulldown (connected to Gnd instead of V+) the open-pin
voltage [open aside from pull resistors] will be that of a resistor
divider, instead of 0 or V+.
Re the I2C problem with your MCP9600 breakout board - Again, wiring
diagrams and code listings are needed for diagnosis. One comment: You
could write an if statement to try both addresses, 0x66 and 0x67,
mentioned in the Pimoroni page, or a loop to try the whole range
0x60-0x67, proceeding ahead when a ready-test succeeds. Or, for
simpler programming you could make a program with one address,
download and test it, then change it for each possible address until
successful. The I2C fails I've seen were due to wrong addresses,
miswiring, bad chips, or in one case wires longer than a few feet.
Post by Richard Smith
Post by Jim Wilkins
Unconnected inputs are sensitive antennas that pick up secret messages
from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn
on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. [...]
Setting an open IO to low or high output like that is one approach,
but on the Arduino Uno a simpler / less risky approach is to set
pinMode to INPUT_PULLUP. Note, ATmega328P microcontroller chip
hardware as on an Uno sets all IO pins to INPUT during Reset, but boot
firmware changes the modes of some pins like D0, D1, D13 as per eg
<https://forum.arduino.cc/t/behavior-of-pins-during-reset-state/640285/12>
Post by Richard Smith
It is a bit of a thought that I would need an oscilloscope to
proceed much further.
One can do a lot with indicator LEDs attached to several outputs. You
can connect a resistor in series with an LED between an IO pin and
ground or 5V. Eg, a 3.5V LED with a 1.5K resistor will draw 1 mA,
either when the pin is low if series is between 5V and pin, or when
the pin is high if series is between Gnd and pin. ( 0.001 A =
(5V-3.5V)/1500 ohms.) Or, because modern LEDs light up ok (visible
but not annoyingly bright) with a few microamps, you can connect an
LED between an IO pin and Gnd; turn it on with perhaps 43 uA, ie
(5V-3.5V)/35000 ohms, when you set pinMode to INPUT_PULLUP; turn it
off by setting pinMode to INPUT. Note, outputting debug data via the
serial port also is easy to do with Arduino.
If you are uncertain how much electronics work you'll do, or have to
really economize, an item like <https://www.amazon.com/dp/B0C6XPVLPZ>
($37) would get you at least basic scope function, making it possible
to see switch bounce, PWM sequences, and other low frequency stuff.
For a hundred or two more, you can get a 50MHz 2 channel scope like
previously mentioned, a big step up. If you're into micros for the
long term, go ahead and get a medium cost 4 channel 100MHz or 200MHz
scope, somewhere between $300 and $800. Scopes in that range often
have an input to accept data from optional add-on logic analyzer
modules, adding 8 or more 0-1 inputs, and often have builtin protocol
analyzers. Eg, besides displaying an I2C waveform they show its data
content as text on the screen.
Post by Richard Smith
I have seen videos of them used to diagnose even what is happening
when you push a push-button - all sorts of noise! With the
oscilloscope showing very clearly.
It's mostly switch bounce, not noise. On some switches bounce will be
over within just a few milliseconds (ms), on others it can be dozens
of ms. With search terms = arduino debounce, you can find code
examples plus simple switch or switch+resistor circuits, and may also
see pages like below with more-complex Schmitt trigger hardware
debounce, or with low-pass filters, which in some cases are truely
awful, amazingly bad. Following link explains bounce problem and
shows hardware and software debouncing with detailed code notes.
<https://www.circuitbasics.com/how-to-use-switch-debouncing-on-the-arduino/>
Hi James, everyone
Thanks for the ideas in your reply.
Do thing of copying the example code then adding features.
eg. "blink" -> flashes-out morse code with LED on "breadboard"
At least got that far.
Addresses hint re. Arduino I2C to breakout board great.
Maybe accept crawl before tray to walk - do simpler code just to see if
can get the I2C connection going - forget trying to read the
thermocouple yet?
Thinking of the idea of trying the addresses.
Rich S
The most I ever accomplished was a remote elevator trim for homebuilt
(experimental) aircraft using a large scale Radio control servo driven
by the arwuino with 2 push buttons for "UP" and "DOWN" and one for
"reset to neutral" - with a small micro-servo slaved as the trim
indicator on the panel. Then I had fuel guages using pressure
transfucers plumbed into the bottom of the tank that calculated the
volume by the fuel column weight and converted togallons in the tank
using a table ofvolume per inch of depth (irregular tank shape)

I just started out with some sample "sketches" and built from there.
After getting a sketch working to do one part of the job, I'd set it
asife and work on another function - then link the sketches together -
calling them as sub-routines as required.

each project took several weeks of spare time

There was enough capacity for one Arduino to handle both tasks, but I
wasn't smart enough to combine the 2 programs and I felt safer with
the 2 functions on separate controllers in case of a failure - where I
would only lose one function at a time - - -
Sold the plane before I got a chance to fly it.
Jim Wilkins
2024-03-21 01:58:00 UTC
Permalink
"Richard Smith" wrote in message news:***@void.com...

Hi James, everyone

Thanks for the ideas in your reply.

Do thing of copying the example code then adding features.
eg. "blink" -> flashes-out morse code with LED on "breadboard"
At least got that far.

Addresses hint re. Arduino I2C to breakout board great.

Maybe accept crawl before tray to walk - do simpler code just to see if
can get the I2C connection going - forget trying to read the
thermocouple yet?
Thinking of the idea of trying the addresses.

Rich S

-------------------------------------------
For me finding and correcting programming errors is hard enough that I try
one new thing at a time so I know at least where to look if it fails. That's
why I decide and test how to display dummy data before measuring it for
real. I2C data may be useful if shown both as binary bits and their
numerical equivalent, for configuration and temperature.

I've programmed since the early 80's but a few days ago I got tangled in a
simple IF THEN ELSE in a spreadsheet. After breaking off to do something
else and returning with fresh eyes the typing error was obvious.
Clare Snyder
2024-03-20 21:22:17 UTC
Permalink
Post by James Waldby
Post by Richard Smith
Post by Jim Wilkins
Post by Jim Wilkins
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to
on-board supply voltage and the circuit behaved like the first
circuit."
The webpage pictures and your problem descriptions aren't clear enough
or specific enough for definitive help. Explicit wiring diagrams and
complete code listings are needed, as well as context like Arduino
IDE version number. <https://arduino.stackexchange.com> may be of
help if you can fully explain what you wired up and give a
minimum-working-example for the problem,
I suggest that when getting started, you first navigate to the Blink
sketch (run Arduino, then File / Examples / Basics / Blink) and
compile it and download it. Then, to verify you are able to make and
install program changes, copy it to a directory of your own with a new
name, eg Blink2, and try a few simple changes, like substituting 13 in
place of LED_BUILTIN, or 400 in place of 1000, etc. and download
again. If you want to try an external LED, connect it to some other
IO pin (not D13) with eg a 2K resistor, put that IO number into your
Blink2, test it, etc.
Then, if you are working with a program like DigitalInputPullup,
connect a switch between an IO pin and Gnd, say D2 and ground, per
.png-image schematics in examples/02.Digital/DigitalInputPullup .
When you download the program to the Uno and it starts running,
setup() will be called, which will set up serial IO and pinModes for
D2 and D13. The pinMode(2, INPUT_PULLUP) statement places D2 into
input mode with a pullup resistor to V+ (say 5V). That is, if D2 is
in the INPUT_PULLUP state, an internal resistor like 35K ohms (RPU min
20K, max 50K per spec sheet) is connected between V+ and D2, which
means that if you leave D2 open, D2 will sit at V+; or if you connect
D2 to ground, after transients settle (~1us) D2 will sit at 0V, and
some number of uA, eg 5/35000 A ~ 143 uA, will flow through the pullup
resistor. You can measure that current by hooking an ammeter between
the pin and ground if you want to calculate pullup resistance. If the
current's really high or is zero the pin's not in INPUT_PULLUP mode.
If you have an external pullup and turn on INPUT_PULLUP, the effective
pullup resistance is the two resistors in parallel. If your external
resistor is a pulldown (connected to Gnd instead of V+) the open-pin
voltage [open aside from pull resistors] will be that of a resistor
divider, instead of 0 or V+.
Re the I2C problem with your MCP9600 breakout board - Again, wiring
diagrams and code listings are needed for diagnosis. One comment: You
could write an if statement to try both addresses, 0x66 and 0x67,
mentioned in the Pimoroni page, or a loop to try the whole range
0x60-0x67, proceeding ahead when a ready-test succeeds. Or, for
simpler programming you could make a program with one address,
download and test it, then change it for each possible address until
successful. The I2C fails I've seen were due to wrong addresses,
miswiring, bad chips, or in one case wires longer than a few feet.
Post by Richard Smith
Post by Jim Wilkins
Unconnected inputs are sensitive antennas that pick up secret messages
from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn
on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. [...]
Setting an open IO to low or high output like that is one approach,
but on the Arduino Uno a simpler / less risky approach is to set
pinMode to INPUT_PULLUP. Note, ATmega328P microcontroller chip
hardware as on an Uno sets all IO pins to INPUT during Reset, but boot
firmware changes the modes of some pins like D0, D1, D13 as per eg
<https://forum.arduino.cc/t/behavior-of-pins-during-reset-state/640285/12>
Post by Richard Smith
It is a bit of a thought that I would need an oscilloscope to
proceed much further.
One can do a lot with indicator LEDs attached to several outputs. You
can connect a resistor in series with an LED between an IO pin and
ground or 5V. Eg, a 3.5V LED with a 1.5K resistor will draw 1 mA,
either when the pin is low if series is between 5V and pin, or when
the pin is high if series is between Gnd and pin. ( 0.001 A =
(5V-3.5V)/1500 ohms.) Or, because modern LEDs light up ok (visible
but not annoyingly bright) with a few microamps, you can connect an
LED between an IO pin and Gnd; turn it on with perhaps 43 uA, ie
(5V-3.5V)/35000 ohms, when you set pinMode to INPUT_PULLUP; turn it
off by setting pinMode to INPUT. Note, outputting debug data via the
serial port also is easy to do with Arduino.
If you are uncertain how much electronics work you'll do, or have to
really economize, an item like <https://www.amazon.com/dp/B0C6XPVLPZ>
($37) would get you at least basic scope function, making it possible
to see switch bounce, PWM sequences, and other low frequency stuff.
For a hundred or two more, you can get a 50MHz 2 channel scope like
previously mentioned, a big step up. If you're into micros for the
long term, go ahead and get a medium cost 4 channel 100MHz or 200MHz
scope, somewhere between $300 and $800. Scopes in that range often
have an input to accept data from optional add-on logic analyzer
modules, adding 8 or more 0-1 inputs, and often have builtin protocol
analyzers. Eg, besides displaying an I2C waveform they show its data
content as text on the screen.
Post by Richard Smith
I have seen videos of them used to diagnose even what is happening
when you push a push-button - all sorts of noise! With the
oscilloscope showing very clearly.
It's mostly switch bounce, not noise. On some switches bounce will be
over within just a few milliseconds (ms), on others it can be dozens
of ms. With search terms = arduino debounce, you can find code
examples plus simple switch or switch+resistor circuits, and may also
see pages like below with more-complex Schmitt trigger hardware
debounce, or with low-pass filters, which in some cases are truely
awful, amazingly bad. Following link explains bounce problem and
shows hardware and software debouncing with detailed code notes.
<https://www.circuitbasics.com/how-to-use-switch-debouncing-on-the-arduino/>
The arduino instructions say to tie all unused digital inputs either
high or low and all analog inputs low to prevent ambiguous outputs.
and don't forget de-spiking capacitors still work on
Microprocessors!!!
James Waldby
2024-03-21 06:25:07 UTC
Permalink
Post by Clare Snyder
Post by James Waldby
Post by Jim Wilkins
Post by Jim Wilkins
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to
on-board supply voltage and the circuit behaved like the first
circuit."
[snip]
Post by Clare Snyder
Post by James Waldby
Post by Jim Wilkins
Unconnected inputs are sensitive antennas that pick up secret messages
from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn
on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. [...]
Setting an open IO to low or high output like that is one approach,
but on the Arduino Uno a simpler / less risky approach is to set
pinMode to INPUT_PULLUP. Note, ATmega328P microcontroller chip
hardware as on an Uno sets all IO pins to INPUT during Reset, but boot
firmware changes the modes of some pins like D0, D1, D13 as per eg
<https://forum.arduino.cc/t/behavior-of-pins-during-reset-state/640285/12>
[snip]
Post by Clare Snyder
The arduino instructions say to tie all unused digital inputs either
high or low and all analog inputs low to prevent ambiguous outputs.
That's probably ok advice in general, particularly for an Arduino Uno
being used for numerous projects. But setting the modes of unused
inputs to INPUT_PULLUP seems safer, because then they won't be at risk
of Gnd-to-V+ shorts due to program glitches. That aside, I should do
some measurements to see which is best among the various INPUT /
OUTPUT / INPUT_PULLUP modes, with input left open / connected to Gnd /
connected to V+. Note, some Arduino inputs don't have internal
pullups available. For example, A6 and A7 on Arduinos with ATmega -P
and -PA processors, and most IO pins on ESP8266-based micros.
Jim Wilkins
2024-03-21 12:53:30 UTC
Permalink
To Richard: The IDE is the computer host program that communicates with the
Arduino. Input pullups are generally harmless except on analog inputs making
measurements.

I haven't seen a floating input cause an overheating problem on a device
released for production but I have in R&D where I found the resulting hot
spot on the chip with a microscope and infrared camera.
https://www.waferworld.com/post/what-is-a-wafer-prober

Inputs and outputs have normally reverse-biased clamp diodes to (+) and Gnd,
either inherently or for static protection. An external High signal on a pin
when the device isn't powered up will pass through them to the device power
supply and try to power the board and charge its bypass capacitors, which
may damage the pin or the signal source. This means one switch should
control the power for every board in the circuit.

Some power supplies don't take well to externally applied voltage on their
output when they are turned off, or higher than their set point. This is
mainly a concern when using them to charge batteries, also some
consideration in bench test setups.

Hot-pluggables like USB have (or should) built-in surge current limiters to
prevent damage or voltage dips in the source. They may be a series
"thermistor" whose resistance increases sharply when they warm up. Otherwise
plugging in a USB device could crash the computer. For USB2 the current
limit is 0.5A, with some brief overload capacity to charge capacitors. If a
USB-powered board and whatever you add to it draws more current the USB 5V
output may drop and the board not work right.
Richard Smith
2024-03-22 08:04:07 UTC
Permalink
Post by Jim Wilkins
To Richard: The IDE is the computer host program that communicates
with the Arduino. Input pullups are generally harmless except on
analog inputs making measurements.
...
Lot to learn...
Mercifully with the current price of devices, can get on with
applications and learn by trial-and-error.
Jim Wilkins
2024-03-19 02:05:03 UTC
Permalink
"Jim Wilkins" wrote in message news:utanb3$f5i9$***@dont-email.me...

Also the address codes and lengths have to match. It's apparently 8 bits for
the MCP9600, with the least significant bit ignored.

----------------------------

Correction, the address is 7 bits, with the first being the constant 1100
pattern. The 8th bit is 0 to command a Write, 1 to request a Read.

Cheer up, at least it's in (technical) English which I can translate. I
figured out how to decode the output of a meter that serially transmits the
display's LCD segment pattern by studying a program written in German.

Isn't electronics fun?
Jim Wilkins
2024-03-19 03:03:17 UTC
Permalink
"Richard Smith" wrote in message news:***@void.com...

The "breakout board" can be seen here
https://shop.pimoroni.com/products/mcp9600-thermocouple-amplifier-breakout?variant=21439215272019
"MCP9600 Thermocouple Amplifier Breakout"

--------------------------------

I didn't see a schematic and the MCP9600 has no INT pin, maybe it's an
Interrupt that can be connected to one of the Alarm pins to trigger the
controller to immediate action, like shutting off a heater.

An Interrupt is a hardware input that immediately jumps the program counter
to a specific location, to run (or redirect to) a routine that handles
whatever triggered it. The alternative is sequentially checking the inputs
and is usually fast enough, and simpler.

For US Type K thermocouples, red is (-) and yellow is (+).
https://temp-pro.com/2023/03/27/thermocouple-types-and-color-coding/

Extension wire is a cheaper version with a limited temperature range for
accuracy. Knowing that got me spools of extension wire for $0.20 / Lb
instead of $1 / foot, and I ran it from the woodstove all through the house
to monitor the fire.
Richard Smith
2024-03-19 10:55:48 UTC
Permalink
Post by Jim Wilkins
...
For US Type K thermocouples, red is (-) and yellow is (+).
https://temp-pro.com/2023/03/27/thermocouple-types-and-color-coding/
Extension wire is a cheaper version with a limited temperature range
for accuracy. Knowing that got me spools of extension wire for $0.20 /
Lb instead of $1 / foot, and I ran it from the woodstove all through
the house to monitor the fire.
"Compensating cable" - can only handle "room temperatures" but has same
thermo-whatever response to temperature in that range and is much
cheaper than the "real" thermocouple alloy.
Loading...