I'd add another row of buttons for a start.

And possibly have the upper half buttons a smaller pitch to add another column as well.

Dave.

Interesting question.

To get the kind of answers you want, we need to know

1)how many shift keys can there be

2)can functions be picked out by alpha, like the 41 series

3) if there will be a user keyboard option or if what we get is written in stone.

Two things i can say right now are that i really want you not to forget p<>r & r<>p and that putting programming functions on the primary (only?) keyboard of an alfa equiped calc (like the 41) is a waste of valuable prime real estate. Ex:All those X=whatever functions on the 41's shifted +,-,x,/ functions would have been better used as time arithmatic. We do more math than programming.

Good point so my design considerations so far:

1) HP-41 compatible

a) Programs written in HP-41 format in a text document will run from SD card.

b) Programs will be accessible and used exactly like a HP-41.

c) Talk software interface for the HP-IL system and HP-41 printer.

2) No on board programming for now.

3) Built in HP Pac's in system for ease of use.

4) One shifted function per key.

5) Will have menu functions as to not need too many special keys.

6) RS-232 output and input available, built in command set with minimal additional added code in user programs (no advance programming needed) for robotic control etc

7) G-code interpreter with output connected to RS-232 for CNC hobby applications. G-code files on the SD card.

8) Graphing functions and equation solving routines built in.

Dimitri

*Edited: 25 Feb 2010, 10:33 p.m. *

Similar in some ways to my version... except I have no use for

graphics. I haven't yet come up with a way to bring out the

rs232 or SD interfaces, but that also isn't a priority at the

moment.

Take a look at the appendicies in this document:

http://www.systemyde.com/pdf/newt.pdf

And here's a photo of the circuit board:

http://www.systemyde.com/hp41/photo_2.jpg

Monte

Looks interesting I will admit I'll be cheating alittle, internally it will be more like a old computer from the 80s then a single chip calculator.

I will be using the Atmel AVR series with 4 diffrent MCU in the system, the processor (the calculator & SD card + any built in flash), the graphic output chip, the HP-IL/RS-232/FDD chip, and one to interface the keyboard on their own chips connected with a TWI/I2C network internally.

Dimitri

(Long Message)

Dimitri, this is a long message but here it goes....

I think mine ended being a 28/48 approach but instead of RPL, it has keystroke programming:

KEYBOARD

SH-390G

GRPH ( PRGM ) MATH (lambda) TEST (mu) STAT (sigma)

F1 F2 F3 F4 F5ALOCK ADV ? APP (+-) EQN $ XEQ &

ALPHA (LEFT) (UP) (DOWN) (RIGHT)= A % B i C (angle) D

SHIFT x<>y R(DOWN) STO RCLMODE D Sigma+ E Sigma- F CLEAR G

ENTER CHS (+/-) EXP (10^) Backspc>HMS H SQRT I ^ P ROOT K ASIN L

- 7 8 9 SIN>H M x^2 N P>R O R>P P ACOS Q

+ 4 5 6 COS1/x R x! S LN T e^x U ATAN Q

x 1 2 3 TANF<>D W pi X LOG Y 10^x Z OFF ESC

÷ 0 . R/S ON

a b/cLegend:

SHIFT ALPHA

PRIMARY

Menus: (F1, F2, F3, F4, F5) Mulit-page menus loop with MORE

GRPH: f(x)=, PLOT, ANAL, TRACE, VIEW (here you can change the viewing window - and gives xmin, xmax, xscl, xstep, and similar for y, theta, r, u, n, n-1 depending on graph mode)

GRPH-ANAL: VALUE, ROOT, SLOPE, EXTRM (Extrema), MORE; INTER (Intersect), SHADE, AREA, TEXT (Write on the Graph), MORE

PRGM: LIST, CREATE, CMD, DISP, LOOP

Programs and equations have 12-character names. Up to 10 programs and equations can also be assigned to 0-9 for quick access.

PRGM-List: List programs alphabetically, programs can be erased with highlighting it and hitting CLEAR, make a "quick-program" by highlighting it and pressing a number key; hence XEQ 0-9 executes programs labled 0-9

PRGM-CMD: LBL, GTO, RTN, BREAK, MORE; SF, CF, SF?, CF?, MORE

PRGM-DISP: INPUT, MSG (Message), PAUSE, R/S, MORE; ShowSt (Show Stack), ShowG (Show Graph), ClrSt (Clear Stack), ClrG (Clear Graph), MORE

Message Command: Use ALOCK to insert quotes (" "), i.e. to display "HP 41C" in a program: SHIFT ALOCK HP ALPHA 4 ALPHA 1 C SHIFT ALOCK MSG (PSE or R/S)

PRGM-LOOP: ISG, DSE, If, For, Do

PRGM-LOOP-If: IF, THEN, ELSE, ENDIF

If Structure: IF y x (test) THEN (true) ELSE (false) ENDIF

PRGM-LOOP-For: FOR, NEXT, STEP

For Structure #1: start end FOR var (cmds) NEXT

For Structure #2: start end FOR var (cmds) incr STEP

PRGM-LOOP-Do: DO, UNTIL, ENDO

Do Structure: DO (cmds) UNTIL y x (test) ENDO

MATH: Prob, Cmplx, Base, Num, HYP

MATH-Prob: nCr, nPr, Binom (Binomial CDF), Pois (Poisson CDF), MORE; NCDF (Normal Dist CDF), Ninv (Normal Inverse), CHI2CDF (Chi Squared CDF), CHI2INV (Chi Squared Inverse), MORE

MATH-Cmplx: ABS, ARG, REAL, IMAG, CONJ (Conjugate)

MATH-Base: (Prefixes) d, b, h, o, MORE; (convert to) DEC, BIN, HEX, OCT, MORE

MATH-Num: INTG, FRAC, INT÷, REM (Remainder/Mod), ROUND (Round y to nearest x)

TEST: x?y, x?0, AND, OR, NOT (First two gets you to <, <=, >, >=, MORE, =, ~= (not equal), MORE)

STAT: Means, Sums, Reg, x' (Predict x), y' (Predict y)

STAT-Means: MEAN (returns y-bar and x-bar), STD (standard deviation for both y and x), POPD (population deviation for both y and x)

STAT-Sums: SUM (Sy, Sx), SUMSQ (Sy^2, Sy^x), Sxy, n

STAT-Reg: Eqn (lists equation on stack), Corr, BEST (finds the best correlation), LIN (Linear), MORE; LOG (Logarithm), POW (Power),EXPR (Exponential), INV (Inverse y = a + b/x), MORE; QUAD (Quadratic), CUBIC (Cubic), SIN (Sinusodial), LOGIS (Logistic), MORE

APP:

F1 - MEM (Memory)

F2 - TVM (Time Value of Money)

F3 - RK4 (Differential Equation using 4th Order Runge-Kutta)

F4 - CASH (Cash Flow: Net Present Value, IRR, Net Future Value, Net Utility Stream, MIRR)

F5 - I/O (USB and/or Card Management)

ADV:

F1 - Constants Library (or Formula Library)

F2 - Conversions Library

F3 - ZETA

F4 - ERF (Error Function)

F5 - MORE

F1 - DATE+

F2 - DAYS (Days between dates)

F3 - DAYWK (Day of the Week, return a three letter code, i.e. "MON" for Monday)

F4 - Matrix

F5 - MORE

(** Date functions is a must for me)

ADV-Matrix: Entry, Add a Row, Add a Column, Delete a Row, MORE; Delete a Column, INV, DET, EIGEN (Eigenvalues), MORE; Row+, Row*, Row+*, IDEN (Identity), MORE

EQN: List, Create, CMD, Poly (Polynomials up to 6th order), Simultaenous (up to 6th order)

EQN-List: List programs alphabetically, programs can be erased with highlighting it and hitting CLEAR, make a "quick-equation" by highlighting it and pressing a number key; hence RCL 0-9 recalls equaitons 0-9

EQN-CMD: EVAL, SOLVE, Sum, Integral, Derivative

MODE: RUN, BASE, ANGLE (Deg, Rad, Grad), GRAPH (Function, Parametric, Polar, Sequence), DISP (All, Fix, Sci, Eng)

F<>D: Toggle between Decimal and Fraction display mode.

In fraction display mode, the following are displayed: fractions, exact square roots, and pi (I guess this is EXACT mode)

Enter fractions like this: whole number, decimal point, numerator, decimal point, denominator (like the HP 35s)

In decimal display mode: everything is a numerical approximation

Memory Capacity:

(at least) 100,000 program steps

(at least) 15,000 bytes for statistics, equations, and matrices

*Edited: 26 Feb 2010, 11:24 a.m. *

Interestingly, in your layout the SIN, COS and TAN keys are in the same column while on almost all past or existing calculators they are on the same line ... the Sinclair Scientific being one of the exceptions.

Long but good, I was honestly going to skip Stat S+/S- (picture the Greek letter) mainly because I honestly don't know it, but will be on the later prototypes. Yah I am in college taking calculus courses but was never taught statistics.

You think basic high level programming would be good?

Really its going to be a interpreter on board, so I have been worried about it due to the available on board RAM already dealing with 30 floating point numbers (X, Y, Z, T, U and memory number Registers 1 to 25) plus doing math with them. Although it wouldn't be too bad since it will process actions in small steps anyways.

Dimitri

Programming is a favorite feature of mine since knowing even the basics of it - you can the calculator do almost anything. (and I really don't consider myself of having more than working knowledge)

Quote:Looking into Flash Chip based onboard programming now. Just cause of you ;)

Programming is a favorite feature of mine since knowing even the basics of it - you can the calculator do almost anything.

Dimitri

Nice to see an independent layout. Some questions and comments:

- What's ROOT? Does SHIFT 9 calculate the x-th root of y, since SHIFT 8 seems to compute y^x?

- There's a mix of horizontal and vertical arrangements of related functions, e.g. SQRT and x^2 versus LN and e^x. For sake of consistency, either one would be prefered. Most people read from left to right d;-)

- The arrangement of arithmetic operators goes far back in history. Personally, I'd prefer the sequence + - x / going up with increasing complexity. Your mileage varies obviously d:-)

- I doubt trigs are used more frequently than a SQRT or LN / e^x. Apparently, you had to put SIN, COS, and TAN on primary since you feature a single SHIFT only.

- Nice and pretty complete menu system.

- Very nice programming set of functions. Assume you will display these structures using the big screen.

- 100.000 lines of code definitively require I/O. Thanks for taking this into account.

- Why is "=" on the keyboard? You don't propose an algebraic mode, do you?

Walter

Walter,

ROOT: The universal root function (y^(1/x)). I don't know how to type the radical sign in text.

Regarding the arrangement: sounds good going from right to left. I take it you are not a fan of the trig functions going downward. :) My first draft of fitting the functions onto the keyboard.

Arrangement of arithmetic operators: I was going for retro (HP 41C).

I would like to see LN and LOG as primary functions, though I was working with keyboard of 39 keys. I could rearrange the keys so that scientific functions are primary and menus are shifted.

Thank you about the menu system, I appreciate the compliment, Walter.

Currently I would have the I/O set in the APP menu (APP - F5).

Maybe the command set would be:

SSD (to SD), RSD (from SD), SCPU (send to computer), RCPU (receive from computer), SCREEN (send screen shot)

(Am I missing anything?)

No, this calculator does not have the algebriac mode. The "=" is for the Solver. Currently, I have the EQN work like the equation feature of the HP35s.

This keyboard is definately worth several revisions.

:)

*Edited: 28 Feb 2010, 4:01 p.m. *

:) Dimitri.

I hope things are going well so far with the project.

(Long Message)

My second take at it:

Changes:

* Moved the arithmetic keys to the left side

* Horizontal arrangements of related functions

* Added the I/O Menu

* << = Backspace

* GREEK = Greek Letters

* INT'L = International Characters

KEYBOARD

SH-390G [Version 2]

GRPH ( PRGM ) MATH GREEK TEST INT'L STAT &

F1 F2 F3 F4 F5ALOCK ADV ? APP (+-) EQN $ XEQ (theta)

ALPHA (left) (up) (down) (right)= A % B i C (angle) D

SHIFT x<>y ROLLD STO RCLMODE D ASIN E ACOS F ATAN G

ENTER SIN COS TANCLEAR H x^2 I SQRT J y^x K y^(1/x) L

<< 7 8 9 /Sigma+ M >H N >HMS O P>R P R>P Q

EE 4 5 6 xSigma- R 1/x S x! T e^x U LN V

+/-(CHS) 1 2 3 -OFF ESC pi W F<>D X 10^x Y LOG Z

ON 0 . R/S +

a b/cLegend:

SHIFT ALPHA

PRIMARY

Menus: (F1, F2, F3, F4, F5) Mulit-page menus loop with MORE

GRPH: f(x)=, PLOT, ANAL, TRACE, TABLE

GRPH-ANAL: VALUE, ROOT, SLOPE, EXTRM (Extrema), MORE; INTER (Intersect), SHADE, AREA, TEXT (Write on the Graph), MORE

PRGM: LIST, CREATE, CMD, DISP, LOOP

Programs and equations have 12-character names. Up to 10 programs and equations can also be assigned to 0-9 for quick access.

PRGM-List: List programs alphabetically, programs can be erased with highlighting it and hitting CLEAR, make a "quick-program" by highlighting it and pressing a number key;

hence XEQ 0-9 executes programs labled 0-9

PRGM-CMD: LBL, GTO, RTN, BREAK, MORE; SF, CF, SF?, CF?, MORE

PRGM-DISP: INPUT, MSG (Message), PAUSE, R/S, MORE; ShowSt (Show Stack), ShowG (Show Graph), ClrSt (Clear Stack), ClrG (Clear Graph), MORE

Message Command: Use ALOCK to insert quotes (" "), i.e. to display "HP 41C" in a program: SHIFT ALOCK HP ALPHA 4 ALPHA 1 C SHIFT ALOCK MSG (PSE or R/S)

PRGM-LOOP: ISG, DSE, If, For, Do

PRGM-LOOP-If: IF, THEN, ELSE, ENDIF

If Structure: IF y x (test) THEN (true) ELSE (false) ENDIF

PRGM-LOOP-For: FOR, NEXT, STEP

For Structure #1: start end FOR var (cmds) NEXT

For Structure #2: start end FOR var (cmds) incr STEP

PRGM-LOOP-Do: DO, UNTIL, ENDO

Do Structure: DO (cmds) UNTIL y x (test) ENDO

MATH: Prob, Cmplx, Base, Num, HYP

MATH-Prob: nCr, nPr, Binom (Binomial CDF), Pois (Poisson CDF), MORE; NCDF (Normal Dist CDF), Ninv (Normal Inverse), CHI2CDF (Chi Squared CDF), CHI2INV (Chi Squared

Inverse), MORE

MATH-Cmplx: ABS, ARG, REAL, IMAG, CONJ (Conjugate)

MATH-Base: (Prefixes) d, b, h, o, MORE; (convert to) DEC, BIN, HEX, OCT, MORE

MATH-Num: INTG, FRAC, INT/, REM (Remainder/Mod), ROUND (Round y to nearest x)

TEST: x?y, x?0, AND, OR, NOT (First two gets you to <, <=, >, >=, MORE, =, ~= (not equal), MORE)

STAT: Means, Sums, Reg, x' (Predict x), y' (Predict y)

STAT-Means: MEAN (returns y-bar and x-bar), STD (standard deviation for both y and x), POPD (population deviation for both y and x)

STAT-Sums: SUM (Sy, Sx), SUMSQ (Sy^2, Sy^x), Sxy, n

STAT-Reg: Eqn (lists equation on stack), Corr, BEST (finds the best correlation), LIN (Linear), MORE; LOG (Logarithm), POW (Power),EXPR (Exponential), INV (Inverse y = a + b/x),

MORE; QUAD (Quadratic), CUBIC (Cubic), SIN (Sinusodial), LOGIS (Logistic), MORE

APP:

F1 - MEM (Memory): List (you can erase single items), Reset (reset the entire calculator)

F2 - TVM (Time Value of Money)

F3 - RK4 (Differential Equation using 4th Order Runge-Kutta)

F4 - CASH (Cash Flow: Net Present Value, IRR, Net Future Value, Net Utility Stream, MIRR)

F5 - I/O: SDD (send to SD), RSD (receive from SD), SCPU (send to computer), RCPU (receive from computer), SCREEN (screen shot)

ADV:

F1 - Constants Library (or Formula Library)

F2 - Conversions Library

F3 - ZETA

F4 - ERF (Error Function)

F5 - Matrix

ADV-Matrix: Entry, Add a Row, Add a Column, Delete a Row, MORE; Delete a Column, INV, DET, EIGEN (Eigenvalues), MORE; Row+, Row*, Row+*, IDEN (Identity), MORE

EQN: List, Create, CMD, Poly (Polynomials up to 6th order), Simultaenous (up to 6th order)

EQN-List: List programs alphabetically, programs can be erased with highlighting it and hitting CLEAR, make a "quick-equation" by highlighting it and pressing a number key; hence

RCL 0-9 recalls equaitons 0-9

EQN-CMD: EVAL, SOLVE, Sum, Integral, Derivative

MODE: RUN, BASE, ANGLE (Deg, Rad, Grad), GRAPH (Function, Parametric, Polar, Sequence), DISP (All, Fix, Sci, Eng)

F<>D: Toggle between Decimal and Fraction display mode.

In fraction display mode, the following are displayed: fractions, exact square roots, and pi (I guess this is EXACT mode)

Enter fractions like this: whole number, decimal point, numerator, decimal point, denominator (like the HP 35s)

In decimal display mode: everything is a numerical approximation

Memory Capacity:

(at least) 100,000 program steps

(at least) 15,000 bytes for statistics, equations, and matrices

*Edited: 28 Feb 2010, 9:01 p.m. *