PICAXE-20M2 microcontroller
AXE012M2
£2.00
Buy Now
PDF ↓
(£2.40 inc. VAT)
Product Details
A compact but powerful, PICAXE microcontroller. Very popular in education due to its low cost and small size, but also very popular in a wide range of hobbyist projects.
This chip supports up to 18 inputs/outputs with 11 analogue/touch sensor channels.
All M2 series parts support enhanced features such as configurable i/o pins, parallel tasks, ring tone music and touch sensor inputs.
Click here for more M2 series information.
For more details see the What is PICAXE and PICAXE Pinout pages.
The PICAXE-20M2 replaces the older PICAXE-20M chips.
Specification
| Pack size |
40x10x15mm |
| Pack weight |
2.9g |
The following table gives a brief summary of the various PICAXE chips.
For a more detailed comparison please see the PICAXE manuals and pinout diagrams.
| Feature |
08M2 |
14M2 |
18M2 |
20M2 |
20X2 |
28X2 |
40X2 |
| Memory Capacity (bytes) |
2048 |
2048 |
2048 |
2048 |
4096 |
4096 |
4096 |
| RAM (bytes) |
128 |
512 |
256 |
512 |
256 |
1280 |
1280 |
| Byte Variables (bytes) |
28 |
28 |
28 |
28 |
56 |
56 |
56 |
| Input/Outputs Pins |
6 |
12 |
16 |
18 |
18 |
22 |
33 |
| ADC/Touch Pins |
3 |
7 |
10 |
11 |
11 |
16 |
27 |
| Max. Freq. (MHz) |
32 |
32 |
32 |
32 |
64 |
64 |
64 |
| Serial In/Out |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Infrared In/Out |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| I2C |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Tune (ring tones) |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Parallel Tasks |
4 |
8 |
4 |
8 |
1 |
1 |
1 |
| Program Slots |
1 |
1 |
1 |
1 |
1 |
4 |
4 |
The same software, BASIC language and USB download cable is shared between all the PICAXE chips.
Revision History
Current 20M2 production firmware is version 8.A
Known Issues:
ISSUE - PAUSE DOES NOT WORK CORRECTLY DURING INTERRUPT ON A MULTI-TASK PROGRAM
To workaround this issue use the command 'pause_int' instead of 'pause' within
an interrupt in a multi (parallel) task program. Single task programs work correctly.
ISSUE - USE OF THE CALIBADC COMMAND SETS PIN C.7 TO INPUT (IF CURRENTLY OUTPUT)
A 'calibadc' command will incorrectly make the pin C.7 an input.
To workaround this issue use pin C.7 as an input, or issue a 'output C.7' as the next command.
ISSUE - USE OF THE READINTERNALTEMP COMMAND SETS PIN C.5 TO INPUT (IF CURRENTLY OUTPUT)
A 'readinternaltemp' command' will incorrectly make the pin C.5 an input.
To workaround this issue use pin C.5 as an input, or issue a 'output C.5' as the next command.
ISSUE - VERY FIRST LINE OF INTERRUPT: ROUTINE SHOULD NOT USE VARIABLES (LET, INC, DEC, IF VAR = etc.)
A 'inc' or 'dec' or certain expressions may not work correctly if it is used as the very first line in
the 'interrupt:' subprocedure.
To workaround this issue add another command, such as 'pause 1', before the let/if command is used within 'interrupt:'