The Forth Deck mini
A portable Forth computer with a discrete CPU
The Forth Deck mini is a housed version of the
My4TH computer board with an additional keyboard and display.
A built-in rechargeable battery makes it portable and independent of mains power.
With this computer you can write and debug your own Forth programs directly on the deck,
no need for a serial terminal or PC! It's a bit like the home computers of the
70s and 80s with their built-in Basic interpreters.
The Forth Deck has all the My4TH features and a few more:
- 40 x 4 character LCD
- 56 buttons QWERTY keyboard
- 6.6 Wh LiPo battery
- 6 hours runtime without recharging
- 8-bit discrete CMOS logic CPU
- 8 to 14 MHz clock frequency
- 32 KB ROM, 32 KB RAM, up to 256 KB EEPROM
- 17 CMOS logic chips of the 74 series, 3 transistors
- RS-232 with 4800 baud
- I2C-bus for extensions
- 16-bit Forth 2012 system
- Size 198 x 118 x 35 mm
This is the Forth Deck "mini":
The back side of my Forth Deck:
|
Power switch |
Charging port and LED |
|
Header with I2C, +5V, GND |
RS-232 |
|
Keyboard and display without housing, connected via ribbon cable to the My4TH board:
This is the back side of the keyboard PCB:
Schematics of the keyboard PCB:
Bill of material for the keyboard PCB:
| Reference | Value | | Reference | Value |
| C1 | 100 nF | | Q1 | BS170 |
| C2 C3 | 470 pF | | R1 | 22 Ohm |
| D1 - D13 | BAT41 | | R2 | 10 K |
| J1 | Socket 2x10 pin, 2.54mm | | R3 R4 | 3.3 K |
| J2 | Header 2x10 pin, 2.54mm | | SW1 - SW56 | push button |
| J3 | USB type B mini connector | | SW57 | slide switch |
| J4 | Header 1x4 pin, 2.54mm | | U1 | LCD 40x4 |
| J5 | Qwiic socket | | U2 | 74HC 574 |
The battery charging circuit is optional. The complete BOM is listed in the
Forth Deck construction manual.
Want to build your own? All you need is available for download.
You can buy a Forth Deck keyboard kit at
Budgetronics.
To reduce cost, the kit does not include the battery and charging circuitry.
It also does not include some optional connectors. However, the kit does include a collection of spacers
so that you can stack the two boards and build a caseless version of the Forth Deck for your desktop.
Important: If you want to build the Forth Deck, you need also the My4TH computer board.
|
Detailed Description of the keyboad PCB
The LCD is driven in 4-bit mode to save I/O pins on the My4TH I/O connector. There are only 5 unused
digital outputs available on My4TH's I/O connector, but this is two less than needed to drive the large LCD,
which has two chip select inputs. So it was necessary to add some sort of I/O-port expander to get more digital outputs.
I did this by adding a 74HC574 octal D-type bus latch. This IC is wired as a 4-bit wide shift register with a depth of 2,
so we get another 8 digital outputs. To clock the data into the shift register, I use the SCL line of the I2C bus.
This is no problem at all for the I2C bus, because the devices on the bus will never see a valid I2C start condition
when the SCL signal is used to clock the 74HC574. To avoid unwanted register writes to the LCD, the display
has its on select-signal on My4TH's digital I/O port (OUT3). Two resistor-diode AND gates
(R3/D6 and R4/D8) mask the chip selects on the LCD. The small capacitors C2 and C3 are required to filter out glitches
caused by the 74HC574's toggling pins together with the parasitic capacitance of D6 and D8.
The keyboard has 56 keys. The distance between the keys is 12 mm, so it is not possible to use larger, more confortable keys.
I wanted to have the smallest possible device, and the display forced me to use a minimum width of 190 mm. With a spacing
of 12 mm, 14 keys fit in one row, and with 4 rows we get a total of 56 keys. To read the keys, I use all the unused input pins on
the My4TH's I/O-port connector, which are six in total. Together with 9 digital outputs, I can read a matrix of 6 x 9 = 54 keys.
The remaining two keys are special: I added a shift key (which required another digital output) and a reset key.
The reset key is protected by the shift key, i.e. to trigger a hardware reset you need to press the the reset key together
with the shift key.
A LiPo battery is used to power the system. The charger circuit is based on the TP5400 chip, which is widely used
in cheap USB power banks. If you find it too difficult to solder the tiny SMD components onto the circuit board,
you can use a pre-assembled TP5400 module and connect it to the keyboard PCB via fly wires.
The Software support for the keyboard PCB is integrated in the My4TH ROM since version 1.0. So if you connect the
keyboard extension board to your My4TH computer board, your My4TH will automatically detect the keyboard and LCD.
The PCB is prepared so that it can be cut in half to separate the keyboard from the display. This allows you
to a) mount the display at any angle to the keyboard and b) make your own (possibly more comfortable) keyboard.
To initiate a hardware reset, hold down the shift key and press the |Reset| key.
Examples
The integrated Forth text editor:
The game "2048":
License Information
The cross assembler "myca" is licensed under the
GNU General Public License, Version 3.
|