Skip to the content
2 layers100 × 100 mmMK2090 PERI order, the printed circuit board in 3D

MK2090 PERI order

ptravnik/Retro_CALC8

A powerful RPN calculator, programmable in BASIC

Size
100 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
50
Nets
49
Pads
161
Tracks, vias
469, 11
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
15 Oct 2019
Updated
9 Dec 2020

Overview

MK2090 PERI order is an open-source printed circuit board by ptravnik, from the ptravnik/Retro_CALC repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 100 × 100 mm with 50 parts on 49 nets, routed with 469 tracks and 11 vias.

It is built around the TLP3544(F) and DS3231S#. Its parts include 16 connectors, 14 resistors, 5 switches, 3 ICs and 2 diodes. It belongs with the AVR (ATmega, ATtiny) and NXP (LPC, Kinetis, i.MX RT) boards of this library.

Main components

2

README

README.md

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.

Parts

50
QtyValueFootprintReferences
511KResistors_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR10, R11, R12, R13, R14
5VAL**keyboard_parts:HOLE_M3HOLE_M3, HOLE_M3, HOLE_M3, HOLE_M3, HOLE_M3
415kResistors_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR4, R5, R6, R9
34.7MResistors_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR2, R7, R8
2GNDPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmJ6, J12
1+RawPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmJ1
1-RawPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmJ2
103962a (NEG)Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmJ4
103962a (POS)Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmJ3
11.1kResistors_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR3
11N4004Diodes_THT:D_T-1_P10.16mm_HorizontalD2
11N5819Diodes_THT:D_T-1_P5.08mm_HorizontalD1
12N7000TO_SOT_Packages_THT:TO-92_Molded_Narrow_OvalQ1
13296 INPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmJ5
13296 OUTPin_Headers:Pin_Header_Straight_1x01_Pitch2.54mmJ11
14023Housings_DIP:DIP-14_W7.62mmU2
1470*Resistors_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1
1Akeebs:Mx_Alps_100SW3
1Bat -Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmJ15
1Bat+Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmJ14
1DS3231Pin_Headers:Pin_Header_Straight_1x06_Pitch2.54mmJ10
1Ekeebs:Mx_Alps_100SW2
1ExtPin_Headers:Pin_Header_Straight_1x05_Pitch2.54mmJ16
1Ext PowerPin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmJ13
1KeyboardPin_Headers:Pin_Header_Straight_1x08_Pitch2.54mmJ8
1Lkeebs:Mx_Alps_100SW4
1MK2090 PROCPin_Headers:Pin_Header_Angled_1x10_Pitch2.54mmJ7
1ProMicroHousings_DIP:DIP-24_W15.24mmU3
1RTCPin_Headers:Pin_Header_Straight_1x04_Pitch2.54mmJ9
1ResetButtons_Switches_THT:SW_PUSH_6mmSW1
1Speckeebs:Mx_Alps_100SW5
1TLP3544Housings_DIP:DIP-6_W7.62mmU1

The 46 most common of 50 parts.

Similar boards

  • 4 layers68.6 × 53.3 mmTapMatrix, the printed circuit board in 3D

    TapMatrix

    cbonsig/openclock

    Open Clock: an open source hardware touchscreen digital clock

    65 parts27
  • 2 layers398.2 × 398.2 mmLargeWordClock LargeKickstarter, the printed circuit board in 3D

    LargeWordClock LargeKickstarter

    PCBench/PCBench

    resolution = [0.5, 0.5] pcbfolder = '../PCBs/' pcbnames = ["1Bitsy1bitsy"] iters = 30 env = PCBRoutingEnv(resolution=resolution, pcbfolder=pcbfolder, pcbnames=pcbnames) obs, info = env.reset() for in range(iters): act =…

    1,591 parts21MIT
  • 2 layers167 × 52 mmIn-2-nixie, the printed circuit board in 3D

    In-2-nixie

    mistic100/Nixie-Clock-IN2

    Check out my other projects: - Nixie Clock IN14 - Nixie Clock IN12 - IV-27 VFD Clock

    34 parts10
  • 2 layers200 × 66 mmNixie control board, the printed circuit board in 3D

    Nixie control board

    shengwen-tw/nixie-clock

    IN-14 Russian nixie tube clock

    79 parts9MIT
  • 2 layers83.5 × 45 mmArducon, the printed circuit board in 3D

    Arducon

    OpenARDF/Arducon

    A transmitter controller for Amateur Radio Direction Finding (ARDF). Based on the Arduino Pro Mini.

    114 parts7MIT
  • 2 layers32.5 × 24 mmRpi rtc, the printed circuit board in 3D

    Rpi rtc

    skiselev/rpi_rtc_ds3231

    Maxim DS3231 Based RTC Module for Raspberry Pi

    7 parts7GPL-3.0
  • 2 layers90 × 55 mmOTlight, the printed circuit board in 3D

    OTlight

    opeRaptor/OTlite

    obsolete;time lite, IoT Nixie Tube Nixie Display

    86 parts5

Questions

How big is the MK2090 PERI order PCB?

It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.

What parts does the MK2090 PERI order use?

50 parts, built around the TLP3544(F) and DS3231S#. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the MK2090 PERI order KiCad files?

From the ptravnik/Retro_CALC repository on GitHub, at the commit this page was made from: the board is MK2090_Peripheral_Controller/KiCAD/MK2090_PERI_order.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the MK2090 PERI order design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).