Machine Recycling Discussion and Moderated Newsgroup > Full Machines
> Complete Machines
> Agricultural
> South
> Used
> PIC32 microcontroller development board with basic (p)
PIC32 microcontroller development board with basic (p)
PIC32 Microcontroller Development Board with BASIC
This is a small development board that uses a PIC32MX340-512, on board is a USB and Micro SD Card holder. The board comes complete with firmware that comprises an Operating system "Micro-BOS" and a PIC32-Basic application. The operating system will read and write FAT16 (PC and Linux compatible) files to the SD Card and main communication and programming is via the USB port.
(**** Experimenters version shown ****)
1. USB interface, this is the main communication channel, from here programs can be run, written to RAM or Flash. The USB becomes a COM port.
2. Power selector, the board can be powered from the USB of from an external DC source of up to 10V
4. Micro SD Card socket to take up to 2GB (FAT16 limit) Micro SD card. On board is an operating system that enabled the creation / deletion etc. of files, commands for example like 'DIR', 'DEL' etc. Files can be created on this system and read on a PC or vice-versa.
5. A choice of 3 socket options, shown is the experimenters version with sockets that can readily take hookup wire for breadboarding, the BV513 also comes with sockets on the underside for plugging into a mother board and with no sockets so the user can provide the required sockets.
6. General purpose I2C and UART interface with power, also available at the main sockets but here as well for convenience.
8. Clock crystal for the low power oscillator and real time clock.
9. PIC32MX340F512 Microcontroller uses familiar PIC architecture and has 512k Flash, 32k RAM. The Flash contains over 200k of operating system and application
10. Programming connector. All programs including Flash updates can be carried out via the USB there is no need for an additional programmer. However this interface is provided for the PICKit2 programmer
11. Standard FTDI UART chip to provide a virtual COM port interface, drivers are built into some Linux systems and are freely available for MAC and PC.
12. 5V and 3V3 voltage regulators. The PIC does not use 5V and so this has been provided for 5V peripherals that may be attached. The regulators also provide short circuit protection for the host USB.
For a full description of the hardware and software visit www.pic32.byvac.com Fro a quick introduction see the Movies section
The board comes with a boot loader in protected flash so no programming device is required, it can all be done through the USB interface. There is an operating system called Micro-BOS that provides File, I/O and loading services. On top of this is PIC32-Basic. This is no ordinary basic but one specifically created for Microcontrollers, it is function based and one or many functions can be saved to Flash, RAM or SD Card for later use. The 'Hello World' Program looks like this:
Functions can return values and have parameters, there are several variable types including 64bit floating point. It is fully interactive in that whatever is typed in will be executed immediately. This can be very useful for examining the PIC32 registers with the peeki() keyword.
1. BV513-P (see below for this version)
2. Firmware pre-loaded onto the PIC32
3. CD-ROM containing the Firmware and manual
4. Free firmware updates for at least a year
This is the pluggable version where sockets are mounted under the PCB facing downwards. The idea is that it can be plugged into a mother board using dual row pins.
PIC32 based - has familiar architecture
Runs BASIC - easy to program, ideal for learning
On Board SD Card - for storing programs and data, 1 or 2 GB
FAT16 filing system - full compatibility with PC
Up to 2,000,000 Baud - for high speed data transfer
Task Scheduler - run background tasks and capture events
User programs can run from SD Card, RAM or Flash
Update firmware via USB - no need for specialised programmer
Support for second SD Card - greater storage and flexibility
14k user RAM & 250k User Flash available (values approximate)
Size PCB 85x35mm, height with pluggable sockets 22mm
Power 80mA when running at 80MHz
Max I/P voltage when not using USB 10V
Weight 15g without sockets
80MHz, 1.56 DMIPS/MHz, 32-bit MIPS M4K Core
5 Stage pipeline, Harvard architecture
MIPS16e mode for up to 40% smaller code size
Single cycle multiply and hardware divide unit
32 x 32-bit Core Registers
32 x 32-bit Shadow Registers
Fast context switch and interrupt response
512K Flash (plus 12K boot Flash)
32K RAM (can execute from RAM)
4 Channel Hardware DMA Controller
Flash prefetch module with 256 Byte cache
Lock instructions or data in cache for fast access
Programmable vector interrupt controller
Fast and Accurate 16 channel 10-bit ADC
Max 1 Mega sample per second at +/- 1LSB, conversion available during SLEEP & IDLE
RUN, IDLE, and SLEEP modes
Multiple switchable clock modes for each power mode, enables optimum power settings
8 hardware breakpoints (6 Instruction and 2 Data)
2 wire programming and debugging interface
JTAG interface supporting Programming, Debugging and Boundary scan
Fail-Safe Clock Monitor allows safe shutdown if clock fails
2 Internal oscillators (8MHz & 31KHz)
Hardware RTCC (Real-Time Clock and Calendar with Alarms)
Watchdog Timer with separate RC oscillator
Pin compatible with 16-bit PIC MCUs
UART BIOS calls, putc, getc, etc.
Flash memory, reading and writing
Direct SD Card read and write - supports 2 Cards, 0 and 1
FAT16 filing system including long filenames and subdirectories
* Functions form basic program and can return values, no line numbers needed
* Numbers and Variables, 64bit float, integer, hex, string and character
* Full filing system keywords, open, close, read, write etc.
* BIOS interface, dir, cd, loading programs etc.
* String functions, mid$, left$ etc.
* Input / Output, print, input, key, key?
* Direct access to registers and memory through peek and poke
* Process scheduling for running subroutines in the background
* Looping and branching while, wend, for, next exitsub, goto, exitif etc.
* Logic and, or not, lshif, rshift etc.
* Maths Log, log10, sin, cos, tan, abs, asin, acos etc.