Forth Calculator
Rows are input ports with pull up resistors and interrupts, columns are open drain output ports.
C0 C1 C2 C3 C4
+--------+--------+--------+--------+--------+
| Pi | 1/x | x^2 | LOG | LN |
| | y^x | SQRT | 10^x | e^x | R0
| A | B | C | D | E |
| 0x20 | 0x21 ! | 0x22 " | 0x23 # | 0x24 $ |
+--------+--------+--------+--------+--------+
| STOx | RCLx | SIN | COS | TAN |
| CEIL | FLOOR | ASIN | ACOS | ATAN | R1
| | | SL | SR | F |
| 0x25 % | 0x26 & | 0x27 ' | 0x28 ( | 0x29 ) |
+--------+--------+--------+--------+--------+
| ENTER | SWAP | NEG | EXP | BS |
| DROP | ROT | ABS | F>S | CLx | R2
| | | | S>F | |
| 0x2A * | 0x2B + | 0x2C , | 0x2D _ | 0x2E . |
+--------+--------+--------+--------+--------+
| CLOCK | 7 | 8 | 9 | / |
| | FLOAT | DEC | HEX | BIN | R3
| | | | | |
| 0x2F / | 0x30 0 | 0x31 1 | 0x32 2 | 0x33 3 |
+--------+--------+--------+--------+--------+
| CALC | 4 | 5 | 6 | * |
| | FIX | ENG | SCI | PREC | R4
| | | | | |
| 0x34 4 | 0x35 5 | 0x36 6 | 0x37 7 | 0x38 8 |
+--------+--------+--------+--------+--------+
| f | 1 | 2 | 3 | - |
| | p | n | u | m | R5
| | XOR | AND | NOT | OR |
| 0x39 9 | 0x3A : | 0x3B ; | 0x3C < | 0x3D = |
+--------+--------+--------+--------+--------+
| ON/OFF | 0 | . | | + |
| | k | M | G | T | R6
| | 1'S | 2'S | UNSGN | |
| 0x3E > | 0x3F ? | 0x40 @ | 0x41 A | 0x42 B |
+--------+--------+--------+--------+--------+
Description |
Dongle |
Function |
Calculator |
JTAG 10pin |
GND |
CN1.1 |
GND |
GND |
3, 5, 9 |
NRST |
CN1.2 |
RES |
RST |
10 |
PA13 |
CN1.3 |
SWDIO |
- |
2 |
PA14 |
CN1.4 |
SWDCLK |
- |
4 |
PB3 |
CN1.5 |
SWO |
ROW0 |
|
3V3 |
CN1.6 |
3V3 |
3V3 |
1 |
PB2 |
CN1.7 |
|
ROW1 |
|
PA5 |
CN1.8 |
D13 |
COL4 |
|
PA6 |
CN1.9 |
D12 |
ROW2 |
|
PA7 |
CN1.10 |
D11 |
ROW3 |
|
PB8 |
CN2.1 |
D15 SCL |
SCL Display |
|
PB9 |
CN2.2 |
D14 SDA |
SDA Display |
|
PA0 |
CN2.3 |
A3 |
COL0 |
|
PA2 |
CN2.4 |
D1 |
COL2 |
|
PA3 |
CN2.5 |
D0 |
COL3 |
|
PB6 |
CN2.6 |
UARTRX |
ROW4 |
|
PA9 |
CN2.7 |
D9 |
ROW5 |
|
PA8 |
CN2.8 |
D6 |
ROW6 |
|
GND |
CN2.9 |
GND |
GND |
|
PA1 |
CN2.10 |
A2 |
COL1 |
|
BOM
- Perfboard square grid of 0.1 inches, pads on both sides (plate-through holes), 2" x 3.5", $3
- SBC
- STM32WB55 Dongle, part of P-NUCLEO-WB55, DigiKey 497-18384-ND
- STM32F405
- OLED display
- 35 pcs push buttons, fit in 0.4" grid
- Würth 430473035826, DigiKey #732-7021-1-ND, data sheet
, $0.5
- TE Connectivity ALCOSWITCH Switches 1825910-6, $0.15
- C&K PTS 647 SN50 SMTR2 LFS, DigiKey #PTS647SN50SMTR2LFSCT-ND, smaller 4.5 x 4.5 mm, $0.2
- Wires
- USB Connector e.g.
- I2C Connector
--
Peter Schmid - 2024-05-24