BASICchip SO-20 Pin Diagram

product preview

 



The BASICchip is a complete System on a Chip, all that is required is 1.8 through 3.3V power and GND.  Then just wire the available IOs into your application.  No extra crystals, external memories, or second supplies required.
 
There are a number of ways to program the BASICchip.  The first 2 methods connect directly to the breakout board.
 
BASIC function pin # alt notes
  TXD(0) 5 P0(4) Serial Output, TTL compatible (active high) -- debug connection
  RXD(0) 19 P0(0) Serial Input, TTL compatible (active high) -- debug connection
  /RES P0(5) RESET (internal pull-up) (active low)
IO(1) BOOT 12  P0(1) when LOW during reset, ISP is started which disables BASIC, (internal pull-up)

IO(2)
IO(3)
IO(6)
IO(7)
IO(12)
IO(13)
IO(14)
IO(15)
IO(16)
IO(17)

P0(2)
P0(3)
P0(6)
P0(7)
P0(12)
P0(13)
P0(14)
P0(15)
P0(16)
P0(17)

7
6
18
17
3
2
20
11
10
1








 

Input/Outputs -- user controlled - 0-3.3V level

4mA drive when configured as Outputs

P0.2, P0.3, P0.7, P0.12, P0.13 have 20 mA drivers

5V tolerant - use limiting resistor when connecting to a 5V supply

IO(10)
IO(11)

I2C1 9
8
  open drain outputs (these IOs only pulldown)

IO(8)
IO(9)

XTAL 14
13
  optional crystal connection -- normally IOs in BASIC
  VDD 15   Power 1.8-3.3V input power --do not exceed 3.3V
  GND 16   Ground (0V)

1These pins P0(10) and P0(11) are open-drain, when configured as outputs they can only pull down.
 
Breakout Board version -- BASICchip SO-20
 
For reference the minimal connections for the BASIC chip are power supplied through a 2V Zener diode, with adequate bypass caps and connections for RESET, TXD0 and RXD0.  These are all that are needed to program the part from BASICtools.
 
                                
 
Normally you can use the internal oscillator of the LPC812, which is set to 12MHz plus or minus 1%,  This is good enough accuracy for serial communication and for most applications.  In this case XTALI and XTALO are used as IO(8) and IO(9).  IO(1) is the BOOT line, you can use it as an output, but if you use it as an input, it must be high when RESET is asserted low, otherwise your BASIC program will not start up.