This is only a preview of the April 2012 issue of Silicon Chip. You can view 24 of the 96 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Items relevant to "1.5kW Induction Motor Speed Controller, Pt.1":
Items relevant to "SoftStarter: Taming The Surge Current Menace":
Items relevant to "A 6-Decade Resistance Substitution Box":
Items relevant to "Ultra-LD Mk.3 135W/Channel Stereo Amplifier, Pt.2":
Purchase a printed copy of this issue for $10.00. |
MikroElektronika
EasyPIC v7
Review by NICHOLAS VINEN
This PIC development board provides an easy way to program
and debug 8-bit PIC micros. It can be used with C, Pascal and
BASIC programming languages. The EasyPIC has pushbuttons,
LEDs, USB ports and various other devices on-board while a
variety of add-on modules such as LCDs, memory cards and
network interfaces can plugged in for easy prototyping.
T
HIS PRODUCT is a large, solid PCB
(265 x 220 x 2.5mm) populated
with a variety of DIP sockets and other
components including pushbuttons,
headers, a power supply and a USB
PIC programmer/debugger. Its purpose
is to make building, programming
and debugging prototype gear based
around an 8-bit PIC microcontroller
quick and as simple as possible.
It supports virtually all of the 8-bit
PIC microcontrollers including the
42 Silicon Chip
PIC10, PIC12, PIC16 and PIC18(F/
LF/K) series. It is supplied with a 40pin PIC18F45K22 but you can plug in
whichever micro you prefer; it’s just a
matter of flipping a few DIP switches
and swapping a couple of shorting
blocks to connect the micro to your
PC and begin working with it.
Besides the convenience of all the
pin headers, pre-wired buttons, LEDs
and ease of adding accessories, one of
the great advantages of the EasyPIC
is the way it ties in with MikroElektronika’s other hardware and software
products, including the included MikroICD in-circuit programmer/debugger
(supplied) and their suite of compilers
which includes C, Pascal and BASIC.
The compiler, debugger and programmer all work together in an integrated
development environment (IDE).
There are a large variety of accessory
boards available too. It has a number
of on-board peripherals, including RSsiliconchip.com.au
This photo shows some of the many accessory boards which can be plugged into the EasyPIC v7. Clockwise from top
left are a 16x2 alphanumeric LCD, MMC/SD memory card board, Ethernet interface board, stepper motor driver, realtime clock, 3-axis accelerometer and a USB-to-serial converter board. Three are connected to the EasyPIC via short
ribbon cables while the rest plug straight into one of the on-board headers.
232 and USB UARTs (universal asynchronous receiver/transmitter), an I2C
EEPROM, a 4-digit 7-segment LED
display and piezo buzzer. But there is
also provision for alphanumeric and
graphic LCDs with an optional touchscreen interface, SD memory card,
Ethernet networking, a stepper motor
driver, a real time clock and more.
These add-on boards simply plug in
and sample software is provided to
interface with them.
Some of these add-on boards plug
into the PORT headers which connect
directly to eight of the micro’s pins
(and also have power supply connections) while others plug into one of
the two “MikroBUS” headers which
provide a standardised way to connect
peripherals to a variety of micros. More
on the ports later.
Mounting holes are provided at the
corners so you can fit spacers or feet.
As you can see from the photo, everything is clearly labelled on the white
silk-screened overlay. The board is laid
out neatly so you can find the header/
button/LED you want without having
to scan around and pretty much all the
pin connections are configured using
DIP switches or jumper shunts.
All in all, it’s a well-thought-out
piece of kit and considering what you
get, the price is quite reasonable (more
on that later).
Programming and debugging
Many other development environsiliconchip.com.au
ments provide you with only the C
and assembly languages, which are
great for advanced users but present
a steep learning curve for beginners.
BASIC is the easiest to learn but most
limited while Pascal is closer to C in
terms of capability but with an easierto-learn syntax.
We suggest that anybody serious
about embedded development should
ultimately learn C (and perhaps assembly language too) but it’s a lot
easier to get your head around those
languages if you have already absorbed
programming concepts while using
BASIC or Pascal.
Software
The CD which comes with the
EasyPIC contains documentation
and the software you need to use the
on-board programmer module but it
also has demo versions of all three
compilers (or they can be downloaded
from the MikroElektronika website).
The demo versions allow you to write
programs that use up to 2KB of flash.
Beyond that, you need to purchase the
full compiler software.
The included mikroProg programmer/debugger (which is permanently
soldered to the EasyPIC PCB) can work
in conjunction with the compiler IDE,
to download new code whenever you
finish compiling it. Alternatively,
you can use the supplied stand-alone
programming software to upload your
HEX file (perhaps generated with a
different compiler or development
environment). But the debugging functions must be used in conjunction with
the development environment.
So you can write or modify your
software, send it to the PIC with a key
press and if it doesn’t work properly,
immediately jump into debugging
mode. This usually involves setting
a “breakpoint” at a particular line of
code and the micro will freeze before
it processes that particular statement.
You can then examine the state of
your variables and step through the
program line-by-line, observing how
variables and output pins change as
you do (say, using the EasyPIC’s onboard LEDs) until you figure out what’s
going wrong and fix it.
By the way, you can also buy a standalone mikroProg which is capable of
programming and debugging any PIC,
up to and including the PIC32 range,
without needing to be re-flashed.
Features
The EasyPIC board can supply
either 3.3V or 5V to the micro, set using jumpers. It can be powered from a
variety of sources such as USB, a bench
supply or an AC or DC plugpack. For
programming and debugging, you simply connect the supplied USB cable to
the board and your PC.
If you want to run the micro from a
crystal rather than its internal oscillator, a socket is provided, along with a
suitable crystal. There is also a socket
April 2012 43
Cost & Availability
The EasyPIC v7 is available from Mostyn Enterprises, NSW, Australia. The price is
$221.00, including GST & express post within Australia. Contact them on (02) 9834
1299 or visit www.mostynent.com
Mostyn can also supply some of the more popular accessory boards. These include:
Storage: Micro SD, MMC, Compact Flash, EEPROM
Communications: Serial Ethernet, Easy WiFi, WiFi Proto, Easy BlueTooth, CAN,
RS485, MAX3232, USB UART/UART2, RFID Reader
Display: Graphics LCD, TFT LCD, Alphanumeric LCD 2 x 16, COG 2 x 16
Sensors: 3-Axis Accelerometer, Light-to-Frequency 1 & 2, Motion Sensor, SHT1X
Temperature & Humidity
I/O: DAC, Easy DAC, ADC Proto, 4 x 4 Keypad, Relay 4, Port Expander, SmartMP3,
Microphone Amplifier, Audio Amplifier
Miscellaneous: Bipolar Stepper Motor, Real Time Clock
Contact Mostyn for prices on the accesory boards.
for a second crystal for those micros
with two oscillator circuits, eg, for use
as a real-time clock.
To connect up the various micro
pins to external circuitry, you use the
pin headers on the righthand side of
the PCB. These are grouped in sets
of eight pins by port letter (PORTA,
PORTB, etc) so you don’t have to refer
to the data sheet to figure out where to
connect the rest of your circuit.
There are two headers for each port,
wired in parallel. This can be useful if
you plug in one of the add-on boards
which doesn’t use all the pins in the
port; the other pins can then be accessed via the second header. They
also provide solder pads for semipermanent connections or to allow
probing with a scope or multimeter.
Each port has eight pushbuttons,
one for each pin; PORTE only has
four since that’s the most that any supported micro uses. The pushbuttons
can be set to pull the corresponding
pin either high or low; this is set for
all pushbuttons at once with a single
shorting block. There is also an 8-way,
3-state DIP switch for each port which
allows you to enable a 4.7kΩ pull-up
or pull-down resistor for each pin.
The pins of each port are also connected to a row of red LEDs (via series
current-limiting resistor) and these
can be used to view the state of each
digital output. They are enabled on a
port-by-port basis using DIP switches
– ie, all eight for a given port are on
or off. Glancing at the LEDs to see the
pin states is a lot quicker than probing
around with a multimeter!
44 Silicon Chip
Then there are a couple of small
pots which can be used to drive the
voltage level of one of several analog
input pins on the micro. You use DIP
switches to select which pins are
connected to the pot wiper(s) and can
then vary the voltage fed to the micro’s
internal analog-to-digital converter
(ADC).
In addition to the type-B USB connectors for the in-circuit programmer/
debugger and the USB UART (mentioned earlier), there is a third socket
for those micros which have on-board
USB controllers, so you can test and
debug those functions too.
There are also sockets for connecting
analog or digital temperature sensors.
Virtually all of the on-board peripherals can be connected or disconnected
from the micro pins using banks of
DIP switches. This way, you aren’t
tying up pins with peripherals you
do not need for your application. In
some cases, a peripheral can only
connect to a certain set of micro pins
while for others (eg, the UARTs), you
have many options for which pins to
connect them to.
Accessories
As mentioned earlier, a number of
add-on boards are available. Some
are designed to suit the EasyPIC v7
specifically while others are general
purpose boards which can be plugged
into the various pin headers. In fact,
these accessories can be used with
breadboards and custom PCBs too;
all you need is a pin header with the
appropriate connections to a PIC.
A list of accessories available from
the Australian distributor (Mostyn
Enterprises) is provided at the end of
this article. MikroElektronika make
over 100 different add-on boards,
most of which are compatible with
the EasyPIC v7.
We think the most useful and
popular accessories will be the LCD
modules, Ethernet interface, MMC/
SD card board, accelerometer and the
stepper motor driver.
Just how many accessory boards
you can connect to the EasyPIC v7
will vary, depending on how many
pins each of those accessories uses
and which on-board peripherals you
have enabled. You probably won’t
be able to plug in more than four, as
these will then occupy most of the
PORTA-PORTD pins. Some add-ons
plug into the port pin headers while
others connect to one of the two MikroBUS headers but either way, they
occupy some of the limited number
of microcontroller I/O pins.
Instruction manual
The instructions and software provided with the EasyPIC are top notch.
The manual is large, full of great photos and clear diagrams. It explains all
the features in detail, one at a time so
that you can easily see how the various controls and connectors are wired
up to the micro and power supply. In
fact we would say that the instructions
provided are among the best we have
ever seen.
Conclusion
This is a good board for people who
want to get into programming PICs
or for those who develop a lot of different microcontroller-based designs
and want to be able to engage in rapid
prototyping. While you don’t need
an EasyPIC board or MikroICD to use
the MikroElektronika compilers and
development environment, they go
together particularly well.
Most EasyPIC users will eventually design and build a custom board
for their project. The software can be
developed on the EasyPIC v7, where
connections can easily be rerouted and
probed (and you can even change PICs
if you find the one you chose originally
won’t do the job).
Once the software and hardware
is all working properly, the custom
board can be designed and the software
SC
transferred across.
siliconchip.com.au
|