The ultimate goal is to build a powerful RPN calculator, programmable in BASIC-like language
- Arduino MEGA 2560
- Arduino MEGA SRAM shield (my PCB is modified for 56k RAM instead of 32 in the original version)
- Arduino SD card reader; this version is for Uno, but runs on Mega with pins 10-13 using Soft SPI
- Piezo speaker on line 9
- Hardware keyboard on lines A0-A4
- LCD screen 128x64 pixels on SPI
This code development is abandoned.
- ESP32 Dev Module
- Micro SD card reader on VSPI 5, 18, 19, 23
- Hardware keyboard on lines 25-27 and 32, 33; pin 34 is used for power switch
- LCD screen 128x64 pixels on HSPI 12-15
- Arduino Micro Pro 3.3V, 8 MHz as a "keyboard/mouse injector"
The code is fully ported and tested on the ESP-32 platform. Final version of Keyboard PCB (KBD-2090) has been tested.
- ESP32 Dev Module
- Micro SD card reader on VSPI 5, 18, 19, 23
- Hardware keyboard on lines 25-27 and 32, 33; pin 34 is used for power switch
- TFT screen 480x320 pixels on HSPI 12-15
- 2xLiPo batteries (4000 mAh), charger and power management
- Real-Time Clock based on DS3231 chip
- Arduino Micro Pro 3.3V, 8 MHz as a "peripheral controller"
This mockup is under development. Both BW LCD and Color TFT are likely to be supported.
- Tested on Arduino IDE 1.18.10.
- Install 3 libraries: U8g2 for the LCD, SD2, and HWKbd for the keyboard. Alternatively just copy the same into the Arduino libraries folder (will not install the examples).
- Copy the source, RetroRPN_Arduino, to any convenient folder and open with Arduino IDE.
- Select the board as Arduino Mega or Mega 2560, processor ATMega 2560, compile and upload as usual.
- Tested on Arduino IDE 1.18.10. and 1.18.12 (VSCode IDE also can be used if Arduino IDE is installed).
- Install 2 libraries: U8g2 for the LCD and HWKbd for the keyboard. Alternatively just copy the same into the Arduino libraries folder (will not install the examples).
- Copy the source, RetroRPN_ESP32, to any convenient folder and open with Arduino IDE.
- Validate which version of hardware keyboard is connected: the production layout uses different h file as the buttons' position is different from the early mock-up.
- Select the board as ESP32 Dev Module, compile and upload as usual. Dev module requires you to hold BOOT down for security reasons; on my module (v 1) this pin is not exposed, so must be done with the button on the module itself. Your board may have this on GPIO 00 pin - wiring to an external button is recommended.
- Tested only with cheap Chinese clones of Sparkfun Pro Micro on Arduino IDE 1.18.10 and 1.18.12.
- Carefully follow the install instructions from Sparkfun
- Download the [code from github](https://github.com/ptravnik/Retro_CALC/tree/master/Keyboard_Injector_Micro or https://github.com/ptravnik/Retro_CALC/tree/master/MK2090_Peripheral_Controller)
- Select the board as Sparkfun Pro Micro and the processor as ATMega 32U4 3.3V, 8MHz or ATMega 5.0V 16MHz version (depending on the one you have); CAUTION "Leonardo" may work for 5V / 16 MHz boards, but will surely brick a 3.3V version!
- Select the board's port
- Upload to board (shorting Reset to Ground may be required after the interface says "Uploading...")
- Place the content of testing folder into the root of the SD card.
- Insert the SD into the calculator and cycle power button.
- Upon the calculator wake-up (or new firmware install from the IDE + reboot), issue command RUN via Serial Monitor.