Difference between revisions of "PiPicoMite01"

From Land Boards Wiki
Jump to navigation Jump to search
Line 24: Line 24:
 
* 120mmx70mm outline
 
* 120mmx70mm outline
 
* (4) 6-32 Mounting holes
 
* (4) 6-32 Mounting holes
 +
 +
=== BASIC Interpreter ===
 +
 +
The BASIC interpreter is full featured with double precision floating point, 64-bit integers and string variables, long variable names, arrays of floats, integers or strings with multiple dimensions, extensive string handling and user defined subroutines and functions. Typically it will execute a program up to 100,000 lines per second. MMBasic allows the embedding of compiled C programs for high performance functions and the running program can be protected from being listed or modified by a PIN number.
 +
 +
Support for all Raspberry Pi Pico input/output pins. These can be independently configured as digital input or output, analog input, frequency or period measurement and counting. Within MMBasic the I/O pins can be dynamically configured as inputs or outputs with or without pullups or pulldowns.
 +
 +
MMBasic commands will generate pulses and can be used to transfer data in parallel. Interrupts can be used to notify when an input pin has changed state. PWM outputs can be used to create various sounds, control servos or generate computer controlled voltages for driving equipment that uses an analogue input (eg, motor controllers). In addition, pins that are not exposed on the Raspberry Pi Pico can be accessed using MMBasic allowing it to be used on other modules that use the RP2040 processor.
 +
 +
TFT LCD display panels using SPI based interfaces are supported allowing the BASIC program to display text and draw lines, circles, boxes, etc in 65,535 colours. Resistive touch controllers on these panels are also supported allowing them to be used as sophisticated input devices. These LCD panels typically cost US$7 and provide a low cost, high tech graphical user interface.
 +
 +
Programming and control is done via the USB interface. All that is needed is a laptop/desktop computer running a VT100 terminal emulator. Once the program has been written and debugged the PicoMite can be instructed to automatically run the program on power up with no user intervention. Special software is not needed to develop programs.
  
 
== Pin Marking on Rear ==
 
== Pin Marking on Rear ==

Revision as of 20:48, 17 May 2022

PiPicoMite01 FRONT 3D.png

Features

  • Raspberry Pi Pico
    • All pins brought to header
    • Pin marking on rear
  • VGA (1:2:1 - R:G:B)
  • PS/2 Keyboard
    • 5V to keyboard with voltage translator
  • SD Card
    • Full size card
    • Up to 32GB
  • Stereo audio
    • 3.5mm jack
  • 16-bit GPIO
    • MCP23017 port expander
    • I2C1
    • 2x20 0.1" pitch header
    • Jumper selectable terminators
  • Power options
    • 5V power input via USB B or 0.1" pitch header
    • 3.3V output header
  • 120mmx70mm outline
  • (4) 6-32 Mounting holes

BASIC Interpreter

The BASIC interpreter is full featured with double precision floating point, 64-bit integers and string variables, long variable names, arrays of floats, integers or strings with multiple dimensions, extensive string handling and user defined subroutines and functions. Typically it will execute a program up to 100,000 lines per second. MMBasic allows the embedding of compiled C programs for high performance functions and the running program can be protected from being listed or modified by a PIN number.

Support for all Raspberry Pi Pico input/output pins. These can be independently configured as digital input or output, analog input, frequency or period measurement and counting. Within MMBasic the I/O pins can be dynamically configured as inputs or outputs with or without pullups or pulldowns.

MMBasic commands will generate pulses and can be used to transfer data in parallel. Interrupts can be used to notify when an input pin has changed state. PWM outputs can be used to create various sounds, control servos or generate computer controlled voltages for driving equipment that uses an analogue input (eg, motor controllers). In addition, pins that are not exposed on the Raspberry Pi Pico can be accessed using MMBasic allowing it to be used on other modules that use the RP2040 processor.

TFT LCD display panels using SPI based interfaces are supported allowing the BASIC program to display text and draw lines, circles, boxes, etc in 65,535 colours. Resistive touch controllers on these panels are also supported allowing them to be used as sophisticated input devices. These LCD panels typically cost US$7 and provide a low cost, high tech graphical user interface.

Programming and control is done via the USB interface. All that is needed is a laptop/desktop computer running a VT100 terminal emulator. Once the program has been written and debugged the PicoMite can be instructed to automatically run the program on power up with no user intervention. Special software is not needed to develop programs.

Pin Marking on Rear

PiPicoMite01 REAR 3D.png

Schematic

Connectors

GP FUNCTION PICO PIN
GP6 AUDIO-L 9
GP7 AUDIO-R 10
GND AUDIO-GND 8
3.3V PS2_3.3V
VSYS PS2_5V 39
GP8 PS2_CLK 11
GP9 PS2_DATA 12
GND PS2_GND 13
3.3V SD_3.3V
GP12 SD_MISO 16
GP11 SD_MOSI 15
GP10 SD_SCK 14
GP13 SD_SLVSEL 17
GND SD_GND 18
GP18 VGA_BLU 24
GND VGA_GND 23
GP20 VGA_GRN_HI 26
GP19 VGA_GRN_LO 25
GP16 VGA_HSYNC 21
GP21 VGA_RED 27
GP17 VGA_VSYNC 22

H1 - 3.3V Power Out

PiPicoMite01 H1 3p3V.PNG

J1 - SD Card

PiPicoMite01 J1 SD Card.PNG

J2 - USB B Power Connectors

  • Full size USB B connector
  • No USB signal connections, just used for power

J3/J5 Pico Connectors

PiPicoMite01 J4-5 PiPico.PNG

J4 - I2C Terminators

  • Install shunts to terminate SDA, SCL signals

J6 - GPIO

File:PiPicoMite01 J6 GPIO.PNG

J7 - Audio

PiPicoMite01 J7 Audio.PNG

J8 - PS/2 Keyboard

PiPicoMite01 J8 Keyboard.PNG

J9 - 5V Distribution

PiPicoMite01 J9 5V.PNG

J10 - I2C INT

  • Install jumper to connect Interrupt from MCP23017 to GP0 pin on Pico
  • No Pull-up

P1 - VGA

PiPicoMite01 P1 VGA.PNG

Prototype Build

Raspberry Pi Pico in a Small Plastic Project Box

Pico Plastic Box P18136 720px.jpg

VGAX49

VGAX49 P901-cropped-720px.jpg

  • VGAX49
  • Resistors Values
    • Selected for 0.7V output on analog RGB pins
    • R12 = 270
    • R6 = 390
    • R7 = 820
    • R1 = 270
R,B G RES G
Rs 75 R1 390 75
Rm 270 R2 820 264.298
Vin 3.3 RM 264.298 3.3
Vout 0.717 0.729
I (mA) 9.57 I (mA) 9.73

PS2X49

PS2X49 P897 cropped 512pxV.jpg

  • PS2X49
  • PWR1 is the power to the PS/2 #1, #2 connectors (5V)
  • +3.3V powers the TXS0104 translator
  • Routing
    • CLK1, DAT1 on J3 go to J1 (Purple)
    • CLK2, DAT2 on J3 go to J2 (Not used)

J3-schem.PNG

SD CARD X49

SDCARDX49 P935 cropped-512px.jpg

  • SD CARD X49
  • Install NO5V jumper
  • Connect 3.3V power
  • No 5V attached
  • No U2 voltage regulator needed

GRID49 - Audio Filter

PiceMite VGA Audio.PNG

GRID49 AUDIO.png

  • C1 = Audio_In-L
  • D1 - GND
  • E1 - Audio_In-R

AUDIO SIM.PNG

Cabling

FUNCTION GP PICO PIN CARD SIG PIN COLOUR
AUDIO-GND GND 8 GRID49 AUD-GND D1 BLK
AUDIO-L GP6 9 GRID49 AUD-L C1 VIO
AUDIO-R GP7 10 GRID49 AUD-R E1 YEL
PS2_CLK GP8 11 PS2X49 CLK1 6 VIO
PS2_DATA GP9 12 PS2X49 DAT1 8 YEL
PS2_GND GND 13 PS2X49 GND 10 BLK
SD_SCK GP10 14 SD_CARD_X49 SCLK 3 VIO
SD_MOSI GP11 15 SD_CARD_X49 MOSI 4 BLU
SD_MISO GP12 16 SD_CARD_X49 MISO 2 YEL
SD_SLVSEL GP13 17 SD_CARD_X49 -SDCS 5 GRY
SD_GND GND 18 SD_CARD_X49 GND 1 BLK
VGA_HSYNC GP16 21 VGA HS 17 GRY
VGA_VSYNC GP17 22 VGA VS 18 WHT
VGA_GND GND 23 VGA GND 19 BRN
VGA_BLU GP18 24 VGA B4 12 BLU
VGA_GRN_LO GP19 25 VGA G4 7 GRN
VGA_GRN_HI GP20 26 VGA G5 6 GRN
VGA_RED GP21 27 VGA R4 1 ORG
PS2_5V VSYS 39 PS2X49 PWR1 2 ORG
PS2_3.3V 3.3V BUS PS2X49 3.3V 4 RED
SD_3.3V 3.3V BUS SD_CARD_X49 3.3V 7 RED

Mechanicals

PicoMite01 Rev1 Mechs.PNG

Applications

Tetris

> memory
Program:
  13K (10%) Program (485 lines)
  95K (90%) Free

RAM:
   8K ( 5%) 31 Variables
   0K ( 0%) General
 132K (95%) Free

Pico Tetris.jpg

Assembly Sheet