Giter Site home page Giter Site logo

basketwill / retro_calc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ptravnik/retro_calc

0.0 1.0 0.0 11.38 MB

A powerful RPN calculator, programmable in BASIC

License: GNU General Public License v3.0

C++ 7.12% Python 0.23% C 92.59% Game Maker Language 0.01% VBA 0.06%

retro_calc's Introduction

Retro_CALC

The ultimate goal is to build a powerful RPN calculator, programmable in BASIC-like language

The FIRST mockup version:

  1. Arduino MEGA 2560
  2. Arduino MEGA SRAM shield (my PCB is modified for 56k RAM instead of 32 in the original version)
  3. Arduino SD card reader; this version is for Uno, but runs on Mega with pins 10-13 using Soft SPI
  4. Piezo speaker on line 9
  5. Hardware keyboard on lines A0-A4
  6. LCD screen 128x64 pixels on SPI

This code development is abandoned.

The SECOND mockup version:

  1. ESP32 Dev Module
  2. Micro SD card reader on VSPI 5, 18, 19, 23
  3. Hardware keyboard on lines 25-27 and 32, 33; pin 34 is used for power switch
  4. LCD screen 128x64 pixels on HSPI 12-15
  5. 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.

The THIRD mockup version:

  1. ESP32 Dev Module
  2. Micro SD card reader on VSPI 5, 18, 19, 23
  3. Hardware keyboard on lines 25-27 and 32, 33; pin 34 is used for power switch
  4. TFT screen 480x320 pixels on HSPI 12-15
  5. 2xLiPo batteries (4000 mAh), charger and power management
  6. Real-Time Clock based on DS3231 chip
  7. 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.

Build Instructions

To build for Arduino Mega 2560

  1. Tested on Arduino IDE 1.18.10.
  2. 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).
  3. Copy the source, RetroRPN_Arduino, to any convenient folder and open with Arduino IDE.
  4. Select the board as Arduino Mega or Mega 2560, processor ATMega 2560, compile and upload as usual.

To build for ESP32 Dev Board

  1. Tested on Arduino IDE 1.18.10. and 1.18.12 (VSCode IDE also can be used if Arduino IDE is installed).
  2. 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).
  3. Copy the source, RetroRPN_ESP32, to any convenient folder and open with Arduino IDE.
  4. 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.
  5. 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.

To build the Keyboard Injector or Peripheral Controller:

  1. Tested only with cheap Chinese clones of Sparkfun Pro Micro on Arduino IDE 1.18.10 and 1.18.12.
  2. Carefully follow the install instructions from Sparkfun
  3. 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)
  4. 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!
  5. Select the board's port
  6. Upload to board (shorting Reset to Ground may be required after the interface says "Uploading...")

Automated testing

  1. Place the content of testing folder into the root of the SD card.
  2. Insert the SD into the calculator and cycle power button.
  3. Upon the calculator wake-up (or new firmware install from the IDE + reboot), issue command RUN via Serial Monitor.

retro_calc's People

Contributors

ptravnik avatar myak555 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.