PICAXE
title: "PICAXE" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["microcontrollers", "microchip-technology-hardware"] topic_path: "general/microcontrollers" source: "https://en.wikipedia.org/wiki/PICAXE" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::figure[src="https://upload.wikimedia.org/wikipedia/commons/b/bf/Picaxe_20M2.JPG" caption="PICAXE 20M2"] ::
PICAXE is a microcontroller system based on a range of Microchip PIC microcontrollers. PICAXE devices are Microchip PIC devices with pre-programmed firmware that enables bootloading of code directly from a PC, simplifying hobbyist embedded development (similar to the Arduino and Parallax BASIC Stamp systems). PICAXE devices have been produced by Revolution Education (Rev-Ed) since 1999.
Hardware
There are currently six (6) PICAXE variants of differing pin counts (8-14-18-20-28-40) and are available as DIL and SMD.{{cite web |title = PICAXE Chip Sizes |url = http://www.picaxe.com/What-is-PICAXE/PICAXE-Chip-Sizes/
PICAXE microcontrollers are pre-programmed with an interpreter{{cite web |title = poke - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Variables/poke/ |title = What is PICAXE? - PICAXE |url = http://www.picaxe.com/What-is-PICAXE/ |title = Serial (9-way D) Download Cable - Hardware - PICAXE |url = http://www.picaxe.com/Hardware/Cables/Serial-9-way-D-Download-Cable/ |title = PICAXE USB Download Cable (AXE027) - Hardware - PICAXE |url = http://www.picaxe.com/Hardware/Cables/PICAXE-USB-Download-Cable/
|title = PICAXE Download Circuit |url = http://www.picaxe.com/Site_Resources/Media/Site_1/pinout/serial.jpg
Programming language
PICAXE microcontrollers are programmed using BASIC.{{cite web |title = Index of - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/
The PICAXE interpreter features bit-banged communications:
- Serial{{cite web |title = serin - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Serial-RS232-Interfacing/serin/}}{{cite web |title = serout - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Serial-RS232-Interfacing/serout/}} (asynchronous serial)
- SPI{{cite web |title = shiftin - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-IO-Interfacing/shiftin/}}{{cite web |title = shiftout - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-IO-Interfacing/shiftout/}} (synchronous serial)
- Infrared (using a 38 kHz carrier, seven data bits and five ID bits){{cite web |title = irin - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Digital-InputOutput/irin/
- One-wire{{cite web |title = owin - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-IO-Interfacing/owin/}}{{cite web |title = owout - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-IO-Interfacing/owout/}} The "readtemp" command reads the temperature from a DS18B20 temperature sensor and converts it into Celsius.{{cite web |title = readtemp - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Analogue-InputOutput/readtemp}}
All current PICAXEs have commands for using hardware features of the underlying PIC microcontrollers:
- Hardware asynchronous serial{{cite web |title = hsersetup - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Serial-RS232-Interfacing/hsersetup/}}
- Hardware synchronous serial{{cite web |title = hspisetup - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-IO-Interfacing/hspisetup/}}{{cite web |title = hi2csetup - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-IO-Interfacing/hi2csetup/}}
- Hardware PWM{{cite web |title = hpwm - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-IO-Interfacing/hpwm/}}
- DAC{{cite web |title = dacsetup - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Analogue-InputOutput/dacsetup/}}
- ADC{{cite web |title = readadc10 - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Analogue-InputOutput/readadc10/}}
- SR Latch{{cite web |title = srlatch - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-IO-Interfacing/srlatch/}}
- Timers (two on X2/X1 parts{{cite web |title = settimer - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-PICAXE-Configuration/settimer/}}{{cite web |title = tmr3setup - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-PICAXE-Configuration/tmr3setup/}} which have settable intervals, only one on M2 parts with a fixed interval,{{cite web |title = enabletime - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-PICAXE-Configuration/enabletime/}} older parts have none)
- Comparators{{cite web |title = compsetup - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-PICAXE-Configuration/compsetup/}}
- Internal temperature measurement{{cite web |title = readinternaltemp - BASIC Commands - PICAXE |url = http://www.picaxe.com/BASIC-Commands/Advanced-PICAXE-Configuration/readinternaltemp/}}
Program space
All current PICAXE chips have at least 2048 bytes of on board program memory available for user programs:
- 08M2 - 2048 bytes
- 14M2 - 2048
- 18M2+ - 2048
- 20M2 - 2048
- 20X2 - 4096
- 28X1 - 4096
- 40X1 - 4096
- 28X2 - 4096 per slot with four slots for a total of 16 KiB
- 40X2 - 4096 per slot with four slots for a total of 16 KiB
Clock speeds
The default clock speed for all M2 and X1 parts is 4 MHz and for the X2 parts is 8 MHz.
The SETFREQ command allows speeds from 31 kHz up to 8 MHz for X1 parts, 31 kHz up to 32 MHz for M2 parts and 31 kHz up to 16 MHz for X2 parts (up to 64 MHz for the 20X2) using the internal resonator.
An external resonator can be used with the X1 parts for from 4 MHz to 20 MHz clock speeds and with the X2 parts for 16 MHz to 64 MHz clock speeds.{{cite web |title = setfreq - BASIC Commands |url = http://www.picaxe.com/BASIC-Commands/Advanced-PICAXE-Configuration/setfreq/
Project boards
Project boards for different applications are sold{{cite web |title = Project Boards - Hardware |url = http://www.picaxe.com/Hardware/Project-Boards/
|title = PICAXE-08 Proto Board (AXE021) - Hardware - PICAXE |url = http://www.picaxe.com/Hardware/Project-Boards/PICAXE-08-Proto-Board/
|title = PICAXE-18 High Power Project Board (CHI035) - Hardware - PICAXE |url = http://www.picaxe.com/Hardware/Project-Boards/PICAXE-18-High-Power-Project-Board/
Software
Revolution Education develop software for writing programs for PICAXE.
PICAXE Programming Editor
PICAXE Programming Editor is a Windows-only IDE for writing PICAXE programs in BASIC code or a simple flowchart.
PICAXE Programming Editor features:{{cite web |title = PICAXE Programming Editor (BAS805) - Software - PICAXE |url = http://www.picaxe.com/Software/PICAXE/PICAXE-Programming-Editor
- source code colour syntax highlighting
- auto indentation
- syntax check and program download
- code explorer to shown variable, label and constant values
- full on screen simulation with animated chips and line by line code highlighting
- simulation breakpoints by line number and variable value
- debug and serial terminal windows
- AXE027 download cable testing and port identification tools
- various testing tools such as the analogue calibration wizard
- various code generation wizards (pwmout, tune, RTC setting, etc.)
AXEpad
AXEpad is a cross-platform application recommended for Linux and Mac users.{{cite web |title = AXEPAD (PAD001) - Software - PICAXE |url = http://www.picaxe.com/Software/PICAXE/AXEpad
Logicator for PICAXE
Logicator is an easy to use shareware flowcharting program.{{cite web |title = Logicator for PICAXE (LGC010) - Software - PICAXE |url = http://www.picaxe.com/Software/PICAXE/Logicator-for-PICAXE/
PICAXE Programming Editor 6, the successor to PICAXE Programming Editor 5, has Logicator flowcharting merged into it so separate Logicator software is no longer required.{{cite web |title = PE6 Beta testing Briefing |url = http://www.picaxe.com/docs/pe6.pdf
Third-party software
Yenka
Yenka is a program developed by Crocodile Clips Ltd which has flowcharts and simulation.{{cite web |title = Yenka PICs |url = http://www.yenka.com/en/Yenka_PICs/
Others
Many companies and organizations have put out their own editors with special features. Some include language translators or serial connectors, so there is a wide variety of consoles to be used.
Support
Support is available at the Technical Support section of the PICAXE website and at the PICAXE Forum.{{cite web |title = Technical Support - Getting Started - PICAXE |url = http://www.picaxe.com/Getting-Started/Technical-Support/
The PICAXE Forum has a finished projects section where completed projects and PICAXE programs are posted,{{cite web |title = Finished User PICAXE Projects |url = http://www.picaxeforum.co.uk/forumdisplay.php?34
|title = Index of - Project Gallery - PICAXE |url = http://www.picaxe.com/Project-Gallery/
References
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::