PICAXE

Last updated
PICAXE 20M2 Picaxe 20M2.JPG
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 (not unlike the Arduino and Parallax BASIC Stamp systems). PICAXE devices have been produced by Revolution Education (Rev-Ed) since 1999.[ citation needed ]

Contents

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. [1]

PICAXE microcontrollers are pre-programmed with an interpreter [2] similar to the BASIC Stamp but using internal EEPROM instead, thus reducing cost. This also allows downloads to be made with a simple serial connection which eliminates the need for a PIC programmer. [3] PICAXE is programmed using an RS-232 serial cable [4] or a USB cable [5] which connects a computer to the download circuit, which normally uses a 3.5 mm jack and two resistors. [6]

Programming language

PICAXE microcontrollers are programmed using BASIC. [7]

The PICAXE interpreter features bit-banged communications:

The "readtemp" command reads the temperature from a DS18B20 temperature sensor and converts it into Celsius. [15]

All current PICAXEs have commands for using hardware features of the underlying PIC microcontrollers:

Program space

All current PICAXE chips have at least 2048 bytes of on board program memory available for user programs: [1]

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. [28]

Project boards

Project boards for different applications are sold [29] by Rev-Ed which contain the PICAXE, download circuit and may also contain a prototyping area [30] or high power output drivers. [31]

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: [32]

AXEpad

AXEpad is a cross-platform application recommended for Linux and Mac users. [33] It lacks some of Programming Editor's wizards, simulation and MDI.

Logicator for PICAXE

Logicator is an easy to use shareware flowcharting program. [34] The Logicator web page is out of date as the free version does support all commands but shows nag screens.

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. [35] Like PICAXE Programming Editor 5, PICAXE Programming Editor 6 is freeware.

Third-party software

Yenka

Yenka is a program developed by Crocodile Clips Ltd which has flowcharts and simulation. [36]

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.[ citation needed ]

Support

Support is available at the Technical Support section of the PICAXE website and at the PICAXE Forum. [37]

The PICAXE Forum has a finished projects section where completed projects and PICAXE programs are posted, [38] plus there is a similar section on the PICAXE website. [39]

See also

Related Research Articles

Microcontroller Small computer on a single integrated circuit

A microcontroller is a small computer on a single metal-oxide-semiconductor (MOS) VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of ferroelectric RAM, NOR flash or OTP ROM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips.

AVR microcontrollers Family of microcontrollers

AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.

PIC microcontrollers Programmable single-chip 16-bit microprocessor for computer

PIC is a family of microcontrollers made by Microchip Technology, derived from the PIC1650 originally developed by General Instrument's Microelectronics Division. The name PIC initially referred to Peripheral Interface Controller, and is currently expanded as Programmable Intelligent Computer. The first parts of the family were available in 1976; by 2013 the company had shipped more than twelve billion individual parts, used in a wide variety of embedded systems.

PIC16x84

The PIC16C84, PIC16F84 and PIC16F84A are 8-bit microcontrollers of which the PIC16C84 was the first introduced in 1993 and hailed as the first PIC microcontroller to feature a serial programming algorithm and EEPROM memory. It is a member of the PIC family of controllers, produced by Microchip Technology. The memory architecture makes use of bank switching. Software tools for assembler, debug and programming were only available for the Microsoft Windows operating system.

Embedded software Computer software written to control machines not typically thought of as computers

Embedded software is computer software, written to control machines or devices that are not typically thought of as computers, commonly known as embedded systems. It is typically specialized for the particular hardware that it runs on and has time and memory constraints. This term is sometimes used interchangeably with firmware.

X68000 Home computer

The X68000 is a home computer created by Sharp Corporation. It was first released in 1987 and sold only in Japan. Gaming was a major use of the X68000, with custom sprite hardware and an 8-channel sound chip enabling ports of contemporaneous arcade video games.

BASIC Stamp

The BASIC Stamp is a microcontroller with a small, specialized BASIC interpreter (PBASIC) built into ROM. It is made by Parallax, Inc. and has been popular with electronics hobbyists since the early 1990s.

The XGameStation is a series of embedded systems, primarily designed as a dedicated home video game console, created by Andre LaMothe and sold by his company Nurve Networks LLC. Originally designed to teach electronics and video game development to programmers, newer models concentrate more on logic design, multi-core programming, game programming, and embedded system design and programming with popular microcontrollers.

Parallax Propeller Multi-core microcontroller

The Parallax P8X32A Propeller is a multi-core processor parallel computer architecture microcontroller chip with eight 32-bit reduced instruction set computer (RISC) central processing unit (CPU) cores. Introduced in 2006, it is designed and sold by Parallax, Inc.

Minimig

Minimig is an open source re-implementation of an Amiga 500 using a field-programmable gate array (FPGA).

Arduino Open source hardware and software platform

Arduino is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed under a CC BY-SA license, while software is licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL), permitting the manufacture of Arduino boards and software distribution by anyone. Arduino boards are available commercially from the official website or through authorized distributors.

Lego Mindstorms NXT

Lego Mindstorms NXT is a programmable robotics kit released by Lego in late July 2006. It replaced the first-generation Lego Mindstorms kit, which was called the Robotics Invention System. The base kit ships in two versions: the Retail Version and the Education Base Set. It comes with the NXT-G programming software, or optionally LabVIEW for Lego Mindstorms. A variety of unofficial languages exist, such as NXC, NBC, leJOS NXJ, and RobotC. The second generation of the set, the Lego Mindstorms NXT 2.0, was released on August 1, 2009, featuring a color sensor and other upgraded capabilities. The third generation, the EV3, was released in September 2013.

Parallax SX is a discontinued line of microcontrollers that was marketed by Parallax, from a design by Ubicom. Designed to be architecturally similar to the PIC microcontrollers used in the original versions of the BASIC Stamp, SX microcontrollers replaced the PIC in several subsequent versions of that product.

PICkit

PICkit is a family of programmers for PIC microcontrollers made by Microchip Technology. They are used to program and debug microcontrollers, as well as program EEPROM. Some models also feature logic analyzer and serial communications (UART) tool.

Yenka is a suite of educational software products which lets students simulate scientific experiments, create mathematical models, design electronic circuits or learn computer programming. Yenka is developed by Crocodile Clips Ltd.

Each time Intel launched a new microprocessor, they simultaneously provided a System Development Kit (SDK) allowing engineers, university students, and others to familiarise themselves with the new processor's concepts and features. The SDK single-board computers allowed the user to enter object code from a keyboard or upload it through a communication port, and then test run the code. The SDK boards provided a system monitor ROM to operate the keyboard and other interfaces. Kits varied in their specific features but generally offered optional memory and interface configurations, a serial terminal link, audio cassette storage, and EPROM program memory. Intel's Intellec development system could download code to the SDK boards.

Single-board microcontroller

A single-board microcontroller is a microcontroller built onto a single printed circuit board. This board provides all of the circuitry necessary for a useful control task: a microprocessor, I/O circuits, a clock generator, RAM, stored program memory and any necessary support ICs. The intention is that the board is immediately useful to an application developer, without requiring them to spend time and effort to develop controller hardware.

Bus Pirate

The Bus Pirate is a universal bus interface device designed for programming, debugging, and analyzing microcontrollers and other ICs. It was developed as an open-source hardware and software project.

Maximite Microcomputer is a Microchip PIC32 microcontroller-based microcomputer. Originally designed as a hobby kit, the Maximite was introduced in a three-part article in Silicon Chip magazine in autumn of 2011 by Australian designer Geoff Graham. The project consists of two main components — a main circuit board and the MMBasic Interpreter, styled after GW-BASIC.

Arduino Uno Microcontroller board

The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller and developed by Arduino.cc. The board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The board has 14 digital I/O pins, 6 analog I/O pins, and is programmable with the Arduino IDE, via a type B USB cable. It can be powered by the USB cable or by an external 9-volt battery, though it accepts voltages between 7 and 20 volts. It is similar to the Arduino Nano and Leonardo. The hardware reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available.

References

  1. 1 2 "PICAXE Chip Sizes".
  2. "poke - BASIC Commands - PICAXE".
  3. "What is PICAXE? - PICAXE".
  4. "Serial (9-way D) Download Cable - Hardware - PICAXE".
  5. "PICAXE USB Download Cable (AXE027) - Hardware - PICAXE".
  6. "PICAXE Download Circuit".
  7. "Index of - BASIC Commands - PICAXE".
  8. "serin - BASIC Commands - PICAXE".
  9. "serout - BASIC Commands - PICAXE".
  10. "shiftin - BASIC Commands - PICAXE".
  11. "shiftout - BASIC Commands - PICAXE".
  12. "irin - BASIC Commands - PICAXE".
  13. "owin - BASIC Commands - PICAXE".
  14. "owout - BASIC Commands - PICAXE".
  15. "readtemp - BASIC Commands - PICAXE".
  16. "hsersetup - BASIC Commands - PICAXE".
  17. "hspisetup - BASIC Commands - PICAXE".
  18. "hi2csetup - BASIC Commands - PICAXE".
  19. "hpwm - BASIC Commands - PICAXE".
  20. "dacsetup - BASIC Commands - PICAXE".
  21. "readadc10 - BASIC Commands - PICAXE".
  22. "srlatch - BASIC Commands - PICAXE".
  23. "settimer - BASIC Commands - PICAXE".
  24. "tmr3setup - BASIC Commands - PICAXE".
  25. "enabletime - BASIC Commands - PICAXE".
  26. "compsetup - BASIC Commands - PICAXE".
  27. "readinternaltemp - BASIC Commands - PICAXE".
  28. "setfreq - BASIC Commands".
  29. "Project Boards - Hardware".
  30. "PICAXE-08 Proto Board (AXE021) - Hardware - PICAXE".
  31. "PICAXE-18 High Power Project Board (CHI035) - Hardware - PICAXE".
  32. "PICAXE Programming Editor (BAS805) - Software - PICAXE".
  33. "AXEPAD (PAD001) - Software - PICAXE".
  34. "Logicator for PICAXE (LGC010) - Software - PICAXE".
  35. "PE6 Beta testing Briefing" (PDF).
  36. "Yenka PICs".
  37. "Technical Support - Getting Started - PICAXE".
  38. "Finished User PICAXE Projects".
  39. "Index of - Project Gallery - PICAXE".

Further reading