Showing posts with label electronics. Show all posts
Showing posts with label electronics. Show all posts

Saturday, October 10, 2026

HP 42S/DM42/Free 42: Two Functions Programmed Three Different Ways

HP 42S/DM42/Free 42: Two Functions Programmed Three Different Ways



Introduction



In 1979, Electro Scientific Industries (esi) released the (rare) ESI Calcumeter 4100 which is a combination multimeter and RPN calculator. I’m going to focus on the calculator part.


The calculator is a standard RPN calculator with the following functions: x^2, √, 1/x, 10^x, e^x, LN, log, and y^x. Also present are the standard ↓ROLL (roll down) and x<>y (swap) functions. Then we have other unique function such as:


mx+b: Applies a linear regression model to a measurement, with m stored in memory and b is grabbed from the y-registered


dBV: Decibel measurement (volt): 20 * log(measurement ÷ memory) (measurement is probably in the X register)


%DEV: percent change of a measurement from the value stored in memory:

100 * (measurement – memory) ÷ memory


AVG: average of cumulative amount of measurements against the value stored in memory


xy/(x+y): calculates x * y ÷ (x + y)


xy/(x – y): calculates x * y ÷ (x – y)


Getting this multimeter combo was not inexpensive, it had a retail price of $399 in 1979.


Today’s blog will focus on two of these functions, particularly xy/(x+y) and xy/(x-y).



The Functions xy/(x+y) and xy/(x-y)


As I could gather from the calculator’s keyboard:


xy/(x+y): Multiply Over Plus*

MOP(x,y) = (x * y) ÷ (x + y) = 1/(1/y + 1/x)


xy/(x-y): Multiply Over Subtract*

MOP(x,y) = (x * y) ÷ (x - y) = 1/(1/y – 1/x)


* These are my names for these functions. I don’t have the manual. Here I am assuming that the stack is in the traditional order: X is the display, Y is the stack just above X, and the RPN works like any (HP) RPN calculator.


All programs are made using the Free42 app (42S/41C family).


Stage 1: The Long Way


This starts out by duplicating x and y first until we have the stack as follows: Y, X, Y, X.



00 { 19-Byte Prgm }

01▸LBL "MOP"

02 ENTER

03 ENTER

04 CLX

05 -

06 R↓

07 X<>Y

08 +

09 R↓

10 ×

11 R↑

12 ÷

13 RTN

14 END


00 { 19-Byte Prgm }

01▸LBL "MOS"

02 ENTER

03 ENTER

04 CLX

05 -

06 R↓

07 X<>Y

08 -

09 R↓

10 ×

11 R↑

12 ÷

13 RTN

14 END



Stage 2: What if we assume x and y are nonzero?


Let n = (x * y) ÷ (x ± y)

Then:

1/n = (x ± y) ÷ (x * y)

1/n = x ÷ (x * y) ± y ÷ (x * y)

1/n = 1/y ± 1/x

n = 1/(1/y ± 1/x)



00 { 14-Byte Prgm }

01▸LBL "MOAR"

02 1/X

03 X<>Y

04 1/X

05 +

06 1/X

07 RTN

08 END


00 { 15-Byte Prgm }

01▸LBL "MOSR"

02 X<>Y

03 1/X

04 X<>Y

05 1/X

06 -

07 1/X

08 RTN

09 .END.


Shorter.


Stage 3: Using Stack Storage Operations (41C/42S only)


The HP 41C and 42S families allow us to use stack levels (X, Y, Z, T, and L) as storage registers. Let's see if we can take advantage of this.



00 { 17-Byte Prgm }

01▸LBL "MOP42"

02 STO ST Z

03 X<>Y

04 STO× ST Z

05 +

06 ÷

07 RTN

08 END


00 { 17-Byte Prgm }

01▸LBL "MOS42"

02 STO ST Z

03 X<>Y

04 STO× ST Z

05 -

06 ÷

07 RTN

08 END


Sources


Electro Scientific Industries, Inc. “Calcumeter 4100” Ad/Pamphlet Micrometrics, Inc. Portland, OR. 1979


Sanden, Kees van der. “The ESI Calcumeter 4100” https://www.keesvandersanden.nl/calculators/esi4100.php Retrieved June 19, 2026.





I hope you enjoyed our deep dive. See you next time,


Eddie


All original content copyright, © 2011-2026. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

Saturday, October 3, 2026

Casio fx-50F/Radio Shack EC-4024 Program Collection: October 2026

Casio fx-50F/Radio Shack EC-4024 Program Collection: October 2026




Notes:

* The fx-50F/EC-4024 has a 29 step program space between two program spaces. Program steps can not be edited but can be cleared by [SHIFT] [ C ] (PCL) key sequence.

* Formula calls can not be included as a program step, but scientific constants can be. The values for the constants most likely are from the Japan Standards of 1978 (JISZ-8020-1978), so a little dated to 2026 standards.

* The Casio fx-10F is similar as fx-50F/EC-4024 except that the fx-10F does not have the scientific constants and has a slightly inclined keyboard.

* Mode changes can be included. SHIFT and Kin arithmetic calls are merged.



The programs presented today require inputs to be stored in registers 1-6 using [ SHIFT ] [ Kout ] (Kin) ((K)onstants In).



Angle Between 2 Lines (in Degrees)



Θ = arctan( abs((y – x) ÷ (1 + x * y)) )

abs(x) = √(x^2), key sequence: [ x² ] [ √ ]



x: slope of line 1 (Kin 1)

y: slope of line 2 (Kin 2)



Program Code (20 steps):

MODE 4 (degree)

(

(

Kout 2

-

Kout 1

)

÷

(

1

+

Kout 1

×

Kout 2

)

)

x²

√

TAN^-1

=



Maximum and Minimum of Two Numbers



The two numbers are stored in registers 1 and 2 (Kin 1, Kin 2).

max(x,y) = (x + y + abs(x – y)) ÷ 2 = min(x,y) + abs(x – y)

min(x,y) = (x + y - abs(x – y)) ÷ 2 = max(x,y) - abs(x – y)



Program Code (21 steps):

Kout 2

-

Kout 1

=

x²

√

Kin 3

(

Kout 1

+

Kout 2

+

Kout 3

)

÷

2

=

HLT (show maximum)

-

Kout 3

= (show minimum)



Terminal Velocity of a Spherical Object

vt = √(2 * g * mass ÷ (ρ * cd * exposed area of the object) (units: m/s)

≈ √(34.05656 * mass ÷ (π * radius^2))



The following constants are assumed:

g = 9.80665 m/s² (Earth’s gravitational constant)

ρ ≈ 1.225 kg/m³ (air pressure)

cd = 0.47 (coefficient drag of a sphere)

2 * g ÷ (ρ * cd) ≈ 34.06565 m^4/(s^2 kg)



Program Code (19 steps):

Kout 1

×

3

4

.

0

6

5

6

5

÷

(

π

×

Kout 2

x²

)

=

√

=



Ideal Thermal Voltage and Shockley Diode Equation



Thermal Voltage:

vt = k * T ÷ q * 10^3 (mV)

Shockley Diode Equation:

Id = Is * (exp(vD ÷ (n * vt)) – 1)

Ideal: n = 1



Inputs:

Is: scale current in milliamps (mA) Kin 1

Vd: diode voltage in millivolts (vA) Kin 2

T: temperature in degrees Kelvin (K) Kin 3

Outputs:

vt: Thermal Voltage (mA),

Id: diode current (mV)



Constant used (see comments on the scientific constants above):

k: Boltzmann Constant ([SHIFT] [ 8 ]): 1.380662 * 10^-23 J/K

(q) e: Electron Charge ([SHIFT] [ 4 ]): 1.6021892 * 10^-19 C



Program Code (21 steps):

Kout 3

×

k (SHIFT 8)

÷

e (SHIFT 4)

×

3

10^x

=

HLT (see vt: thermal voltage)

1/x

×

Kout 2

=

e^x

-

1

=

×

Kout 1

=



Source:

“Shockley Diode Equation” Wikipedia. Last Edited November 13, 2025.

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

Retrieved June 19, 2026.




Eddie


All original content copyright, © 2011-2026. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.


Saturday, April 4, 2026

TI-84 Plus CE: Signal to Noise Ratio and Shannon’s Law

TI-84 Plus CE: Signal to Noise Ratio and Shannon’s Law



Signal to Noise Ratio (SNR)


The program SNR calculates the signal to noise ratio for inputs in one of the three units:


Decibels

S – N

Watts

20 * log( S ÷ N )

Voltage

10 * log(S ÷ N )

S: desired signal level

N: noise level


Cadence PCB Solutions (see source) provides a scale of signal to noise ratios and their effectiveness, which is summarized here:


5 dB to 10 dB

No connection is made, the ratio is too low

10 dB to 15 dB

The connection is unreliable

15 dB to 25 dB

Minimum acceptable level

25 dB to 40 dB

Good connection

41 dB and above

Excellent connection


In general, the higher the SNR, the better.


TI-84 TI-Basic Code: Signal to Noise Ratio

Program Title: SNR



Menu(“SIGNAL NOISE RATIO”,”DECIBELS”,1,”WATTS”,2,”VOLTAGE”,3)

Lbl 1

Input “SIGNAL DB? “, S

Input “NOISE DB? “, N

S – N → R

Goto 0

Lbl 2

Input “SIGNAL (W)? “, S

Input “NOISE (W)? “, N

20 * log(S / N) → R

Goto 0

Lbl 3

Input “SIGNAL (V)? “, S

Input “NOISE (W)? “, W

10 * log(S / N) → R

Goto 0

Lbl 0

Disp “SNR (DB): “, R



Examples



Example 1: S: -10 dB, N: -50 dB (from Source)

Results: 40 dB



Example 2: S: 400 W, N: 60 W

Results: 16.47817482 dB



Example 3: S: 300E-3 V (300 millivolts), N: 2E-6 V (2 microvolts)

Result: 51.76091259 dB (*source erroneously had 62 DB)





Shannon’s Law



The program SHANNON makes two calculations: signal to noise ratio in decibels and the capacity of the channel in bits per second. Shannon’s Law was discovered by Claude Shannon during World War II.



C = W * log(1 + S ÷ N) ÷ log(2)



W: bandwidth of the signal in Hertz

S: average signal received in Watts

N: average noise signal in Watts

C: maximum channel capacity in Bits per Second





TI-84 TI-Basic Code: Shannon’s Law

Program Title: SHANNON



Disp “SHANNON’S LAW”

Input “REC’D POWER (W)? “, S

Input “NOISE POWER (W)? “, N

Input “BANDWIDTH (HZ)? “, W

20 * log(S / N) → R

Disp “SIGNAL NOISE RATIO: “, R

W * log(1 + S / N) / log(2) → C

Disp “CHANNEL (BITS/S):”, C



Example



Inputs:

Average Received Signal Power (S): 49.2 W

Average Noise Power (N): 2.2 W

Bandwidth: 200 Hz



Results:

Signal Noise Ratio (SNR): 26.99084844 dB

Channel capacity: 909.2385861 bits/s



Source



Cadence. “What is Signal to Noise Ratio and How to calculate it?” Cadence PCB Solutions. 2020. Accessed November 30, 2025. https://resources.pcb.cadence.com/blog/2020-what-is-signal-to-noise-ratio-and-how-to-calculate-it



Eddie


All original content copyright, © 2011-2026. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

Saturday, February 1, 2025

TI-84 Plus CE and DM42: RLC Circuits

TI-84 Plus CE and DM42: RLC Circuits


The program RLC calculates:


(1) The total impedance across the entire circuit

(2) The phase angle, sometimes known as a power factor angle

(3) The total supply current


An RLC circuit is a circuit that connects one power supply to a resistor, an inductor, and a capacitor. The resistor, inductor, and capacitor can be connected in one of two ways: series or parallel. To calculate the total impedance (Z) and phase angle (θ), the rectangular to polar conversion function can be utilized.


In a general rectangular to polar conversion, (x, y) to (r, θ):

r = √(x^2 + y^2)

θ = arctan(y / x)


Formulas


Angular Frequency: ω = 2 * π * F


F = frequency in Hz

V = supply voltage (volts)

R = resistor in Ω (ohms)

L = inductor in H (henrys)

C = capacitance (farads)

I = overall current (amps)

Series RLC Circuit - Formulas


Z = √(R^2 + (ω*L – 1 / (ω*C))^2)

θ = arctan ( (ω*L – 1 / (ω*C)) / R)

I = V / Z

Series RLC Circuit – Set up for Rectangular to Polar Conversion


x = ω*L – 1 / (ω*C)

y = R


Z = r

Parallel RLC Circuit - Formulas


1 / Z = √( (1/R)^2 + (1/(ω*L) – ω*C)^2)

θ = arctan ( (1/(ω*L) – ω*C) / (1/R))

I = V / Z

Parallel RLC Circuit – Set up for Rectangular to Polar Conversion


x = 1/(ω*L) – ω*C

y = 1/R


Z = 1/r


TI-84 Plus Program: RLC


ClrHome

Disp “RLC CIRCUIT”

Input “SUPPLY VOLTAGE? “, V

Input “FREQUENCY (HZ)? “, F

Input “RESISTANCE (OHMS)? “, R

Input “INDUCTOR (HENRYS)? “, L

Input “CAPACITOR (FARADS)? “, C

a+bi

Degree

2*π*F → W

Menu(“TYPE”, “SERIES”, 1, “PARALLEL”, 2)


Lbl 1

R+i*(W*L-1/(W*C)) → Z

abs(Z) → N

Goto 3


Lbl 2

(1/R)+i*(1/(W*L)-W*C) → Z

abs(Z)⁻¹ → N


Lbl 3

angle(Z) → θ

V/N → I


ClrHome

Disp “IMPEDANCE:”, N

Disp “PHASE ANGLE:”, θ

Disp “SUPPLY CURRENT:”, I



DM42, HP 42S Program: RLC


00 { 216-Byte Prgm }
01▸LBL "RLC"
02 "SUPPLY VOLTAGE?"
03 PROMPT
04 STO 01
05 "FREQUENCY?"
06 PROMPT
07 STO 02
08 "RESISTANCE?"
09 PROMPT
10 STO 03
11 "INDUCTOR?"
12 PROMPT
13 STO 04
14 "CAPACITOR?"
15 PROMPT
16 STO 05
17 DEG
18 2
19 STO 06
20 PI
21 STO× 06
22 RCL 02
23 STO× 06
24 "TYPE?"
25 AVIEW
26 PSE
27 "SERIES"
28 KEY 1 GTO 01
29 "PARA."
30 KEY 2 XEQ 02
31 MENU
32▸LBL 00
33 STOP
34 GTO 00
35▸LBL 01
36 CLMENU
37 EXITALL
38 RCL 06
39 RCL× 04
40 RCL 06
41 RCL× 05
42 1/X
43 -
44 RCL 03
45 →POL
46 STO 07
47 GTO 03
48▸LBL 02
49 CLMENU
50 EXITALL
51 RCL 06
52 RCL× 04
53 1/X
54 RCL 06
55 RCL× 05
56 -
57 RCL 03
58 1/X
59 →POL
60 1/X
61 STO 07
62▸LBL 03
63 "PHASE:"
64 AVIEW
65 PSE
66 VIEW ST Y
67 STOP
68 "IMPEADANCE:"
69 AVIEW
70 PSE
71 VIEW ST X
72 STOP
73 RCL 01
74 RCL÷ 07
75 "SUPPLY CURRENT:"
76 AVIEW
77 PSE
78 VIEW ST X
79 .END.


Examples


Examples are rounded to five digits.



Series Circuit


Inputs:


SUPPLY VOLTAGE: 300 V

FREQUENCY: 70 Hz

RESISTANCE: 80 Ω

INDUCTOR: 0.09 H

CAPACITOR: 150 μF (150E-6)


Results:


IMPEDANCE (Z) ≈ 83.64599 Ω

PHASE ANGLE (θ) ≈ 16.97904°

CURRENT (I) ≈ 3.58654 A



Parallel Circuit


Inputs:


SUPPLY VOLTAGE: 240 V

FREQUENCY: 90 Hz

RESISTANCE: 60 Ω

INDUCTOR: 20 mH (20E-3)

CAPACITOR: 140 μF (140E-6)


Results:


IMPEDANCE (Z) ≈ 52.46010 Ω

PHASE ANGLE (θ) ≈ 29.05363°

CURRENT (I) ≈ 4.57491 A



Sources



“Impedance and Complex Impedance” https://www.electronics-tutorials.ws/accircuits/impedance.html


“Parallel RLC Circuit Analysis” https://www.electronics-tutorials.ws/accircuits/parallel-circuit.html


“Series RLC Circuit Analysis” https://www.electronics-tutorials.ws/accircuits/series-circuit.html


Electronics Tutorials. AspenCore, Inc. 2024. Retrieved October 7, 2024 and October 17, 2024.



Eddie


All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

Saturday, December 28, 2024

TI-30Xa Algorithms: RLC Series Circuit

TI-30Xa Algorithms: RLC Series Circuit


The task is to calculate the total impedance and phase angle for an RLC circuit in a series. An RLC circuit contains a resistor ( R ), an inductor ( L ), and a capacitor ( C ) , all powered by a voltage supply. The resistor, inductor, and capacitor are all in a single path.


The three elements are measured in the following units:


Resistor ( R ): Ohms ( Ω )

Inductor ( L ): Henry ( H )

Capacitor ( C ): Farads ( F )


The RLC series circuit is a circuit that connects a power source to a resistor, inductor, and a conductor in one path.




The impedance triangle is an illustration of how the impedance of an RLC series circuit and phase angle are calculated.



The impedance for the RLC circuit is calculated by:

Z = √( R^2 + ( (2 * π * f * L) - 1 / (2 * π * f * C) )^2 )


The phase angle is calculated by:

θ = arctan( ( (2 * π * f * L) - 1 / (2 * π * f * C) ) / R )


where: f = frequency in Hertz (Hz)


We can use the rectangular to polar conversion function (R>P) to calculate both the impedance and phase angle.


x = R

y = (2 * π * f * L) - 1 / (2 * π * f * C)


If we have an RL circuit, with no capacitor, then C = 0.

If we have an RC circuit, with no inductor, then L = 0.

If we have an LC circuit, with no resistor, then R = 0.



TI-30Xa Algorithm – RLC Circuit


Step 1: Store resistance in Memory 1.

R [ STO ] 1


Step 2: Calculate angular frequency, ω = 2 * π * f, store in memory 3.

2 [ × ] [ π ] [ × ] f [ = ] [ STO ] 3


Step 3: Calculate (2 * π * f * L) - 1 / (2 * π * f * C)

[ RCL ] 3 [ × ] L [ - ] [ ( ] [ RCL ] 3 [ × ] C [ ) ] [ 1/x ] [ = ] [ STO ] 2


If we have an RL circuit, Steps 2 and 3 can be shortened to:

2 [ × ] [ π ] [ × ] f [ × ] L [ = ] [ STO ] 2


If we have an RC circuit, Steps 2 and 3 can be shortened to:

[ ( ] 2 [ × ] [ π ] [ × ] f [ × ] C [ ) ] [ 1/x ] [ +/- ] [ = ] [ STO ] 2


Step 4: Calculate Impedance and Phase Angle:

[ RCL ] 1 [ 2nd ] [ π ] (x<>y) [ RCL ] 2 [ 2nd ] [ - ] (R>P)


What is shown: (r) Impedance

Press [ 2nd ] [ π ] (x<>y) for phase angle (θ)


Examples




Example 1: RLC Series Circuit

R = 50 Ω

L = 3.8 H

C = 0.7 F

f = 40 Hz


Step 1: Store resistance in Memory 1.

50 [ STO ] 1


Step 2: Calculate angular frequency, ω = 2 * π * f, store in memory 3.

2 [ × ] [ π ] [ × ] 40 [ = ] [ STO ] 3 (251.3274123)


Step 3: Calculate (2 * π * f * L) - 1 / (2 * π * f * C)

[ RCL ] 3 [ × ] 3.8 [ - ] [ ( ] [ RCL ] 3 [ × ] 0.0007 [ ) ] [ 1/x ] [ = ] [ STO ] 2

(949.36000616)


Step 4: Calculate Impedance and Phase Angle:

[ RCL ] 1 [ 2nd ] [ π ] (x<>y) [ RCL ] 2 [ 2nd ] [ - ] (R>P)


Impedance: 950.6758262

Phase Angle: 86.9851854°



Example 2: RLC Series Circuit

R = 450 Ω

L = 1.15 H

C = 3.5 μF = 3.5 * 10^-6 F

f = 60 Hz


Step 1: Store resistance in Memory 1.

450 [ STO ] 1


Step 2: Calculate angular frequency, ω = 2 * π * f, store in memory 3.

2 [ × ] [ π ] [ × ] 60 [ = ] [ STO ] 3 (376.9911184)


Step 3: Calculate (2 * π * f * L) - 1 / (2 * π * f * C)

[ RCL ] 3 [ × ] 1.15 [ - ] [ ( ] [ RCL ] 3 [ × ] 3.5 [ EE ] 6 [ +/- ] [ ) ] [ 1/x ] [ = ] [ STO ] 2

(-324.3408952)


Step 4: Calculate Impedance and Phase Angle:

[ RCL ] 1 [ 2nd ] [ π ] (x<>y) [ RCL ] 2 [ 2nd ] [ - ] (R>P)


Impedance: 554.7044405

Phase Angle: -35.78246242°



Source


“Impedance and Complex Impedance” Electronics Tutorials. AspenCore, Inc. 2024. Retrieved October 7, 2024. https://www.electronics-tutorials.ws/accircuits/impedance.html



This wraps up the TI-30Xa Algorithm Series. Next up will be a series on the Casio fx-991CW.


I want to wish you all a Happy New Year and a prosperous, sane, and happy 2025! Be safe, everyone, it’s a very crazy world we live in.



Eddie


All original content copyright, © 2011-2024. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

TI-84 Evo BASIC: Hydraulic Radius and Chezy-Manning (Circular Pipes)

TI-84 Evo BASIC: Hydraulic Radius and Chezy-Manning (Circular Pipes) Introduction The program, HYDRAD makes three calculations...