This is only a preview of the May 2019 issue of Silicon Chip. You can view 46 of the 112 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. Articles in this series:
Items relevant to "DSP Active Crossover and 8-channel Parametric Equaliser":
Articles in this series:
Items relevant to "Solar-powered data repeater for 433MHz remotes":
Items relevant to "Bridge adaptor gives four times your amplifier power!":
Items relevant to "Low-cost 3.5-inch LCDs for Arduino or Micromite":
Purchase a printed copy of this issue for $10.00. |
Hot on the heels of the new PICkit 4 comes the Snap Debugger/Programmer,
and it’s a fraction of the price of a PICkit 4. So how does it compare?
Read on and see.
Review by
Tim Blythman
ICROCHIP SNAP
DEBUGGER/PROGRAMMER
Y
ou’d probably recall our review
of the PICkit 4 in the September
2018 issue (siliconchip.com.
au/Article/11237). We noted that the
PICkit 4 is faster than its predecessors,
both for programming and debugging.
Clones of the PICkit 2 and PICkit
3 are both in circulation, and given
that Microchip has open-sourced the
designs of both, the clones appear to
work similarly; there is no reason for
them to be significantly different to
the originals.
Either of these can be had for around
$20 from many online sellers.
The Snap is made by Microchip and
appears to be selling at a similar price
to the PICkit 2 and PICkit 3 clones, so
it’s worthwhile comparing them. Microchip Direct (Microchip’s online
store) sells the PICkit 4 for US$47.95,
siliconchip.com.au
while the Snap is US$14.95.
The Snap Debugger/Programmer is
based on the same Atmel SAM E70
32-bit MCU and has the same 8-pin
header as the PICkit 4, although it’s
somewhat less complex, which is how
Microchip can reduce the cost compared to the PICkit 4.
For a start, there is no enclosure; all
you get is a bare PCB populated with
Australia’s electronics magazine
components. But we found a link on
the Digi-Key website to download a
set of 3D printable case files, at: www.
thingiverse.com/thing:3074301 We’ll
have more on that case later.
Also, the PCB is much smaller than
even the PICkit 2, let alone the PICkit 4. Partly this is because it lacks a
microSD card socket, so presumably,
the Programmer-To-Go function is not
available.
There is a QR code stuck to the top of
the main IC. It leads you to information
on the Snap, at this link: siliconchip.
com.au/link/aanq
First use
We are currently using MPLAB X
version 5.05 (on Windows 10; Windows 7, macOS and some Linux variants are also supported). This is the
May 2019 83
minimum version required to use the
Snap, so we didn’t have to install any
new software.
We then tried to program a PIC32MX170 chip (on a Micromite BackPack), but this failed.
It turns out that the Snap Debugger/
Programmer is not capable of providing power to the target, even though
there is a checkbox for this in the power settings page.
Once we realised this, we connect
an external DC supply to the board
and were then able to program the
PIC32MX170. The programming speed
appears comparable to the PICkit 4,
which we expected based on them
using a similar SAM E70 processor.
A further peruse indicated that highvoltage programming is not supported either, which rules out its use with
many ‘legacy’ PICs such as the (still in
production) PIC16F84A.
So it seems that the main reason for
the Snap being so much cheaper is that
they’ve left off some of the features of
the PICkit, some of which are mainly
for convenience (eg, providing power
to the target processor) while others are
only needed for use with older PICs.
A closer look
On this basis, we decided to take
a closer look at Microchip’s information sheet to see what else sets the
Snap apart from the PICkit 4. It can
be downloaded from siliconchip.com.
au/link/aanp
The manual mentions that the emergency recovery jumper is unpopulated;
you activate it by shorting the header
pins, while on the PICkit 4, a tactile
button is provided for this function.
There is also a comparison table between the two programmers (see above
right). In particular, the programmable power options are missing on the
Snap, as are the configurable pull-ups
for the programming pins.
There is an ‘interface comparison’
which notes that practically the same
programming interfaces are available,
with the proviso that only the low voltage version is available for some chips.
It also confirms that there is no programmer-to-go feature, and that the
Snap is not intended to be a production programmer, while the PICkit 4 is.
The PICkit 4 is also claimed to support
all Microchip flash-based MCUs, while
the Snap supports most.
This is slightly vague, but makes it
clear that the Snap is not a direct sub84
Silicon Chip
Using the IPE (integrated programming environment) version 5.05 with the Snap
programmer. It looks similar to when using the PICkit 4; in fact, the only visible
difference is the programmer name.
stitute for the PICkit 4.
Take it for a spin
Once we’d cleared up the issue of
powering the target, we tried a few
programming and debugging exercises using many PIC32 devices, including PIC32MX170s and PIC32MX470s
in various Micromites, as well as the
PIC32MX270 in the February 2019
USB Mouse and Keyboard Interface for Micros (siliconchip.com.au/
Article/11414).
The speed of working with Snap
seemed to be on par with the PIC
kit, so if you only need to work with
PIC32 devices, the Snap could be a
good choice. We checked the device
support list for MPLABX 5.10, and it
appears that the Snap now supports
most (but not quite all) PIC32 devices
to some extent.
Programming 8-bit & 16-bit PICs
Next, we tried the PIC16F1455,
which has appeared most notably in
the May 2017 Microbridge project
(siliconchip.com.au/Article/10648)
and as the USB/serial interface of the
Australia’s electronics magazine
Micromite Backpack V2 (May 2017;
siliconchip.com.au/Article/10652)
and the USB Digital Interface Module
(November 2018; siliconchip.com.au/
Article/11299).
Initially, we tried a chip that had already been programmed for the Digital
Interface Module, but could not get the
Snap to communicate with it. Using a
PICkit 4, we found that the LVP (low
voltage programming) option on that
chip had been disabled.
After using the PICkit 4 to reset this,
we found that Snap could happily read
and program the 16F1455. As noted
earlier, the Snap cannot do high-voltage programming.
Other 8-bit PICs such as the 12F617
and 16F84 require high voltage programming, so we did not try to program these. As expected, the device
support list (for both MPLABX 5.05
and 5.10) indicates that these devices
are not supported by the Snap tool.
Give me power
We note that the Snap board has
pads for 3.3V, 5V and GND easily accessible, so it may be possible to rig
siliconchip.com.au
There’s not much to the
Snap PCB. At left there are a few
support ICs, including an MCP1727 voltage
regulator. At centre is the SAM E70 processor, and at right is
the I/O pin interface circuitry. In comparison to the PICkit 4, it
lacks high voltage circuitry and target power supply amongst others.
up a jumper wire to provide power to
the target board if necessary.
These pads are next to a DFN-8 chip
marked as U5, which is an MCP1727
voltage regulator.
The MCP1727 is capable of 1.5A,
although its power dissipation while
dropping 5V down to 3.3V would
bring it close to its thermal limit. In
any case, the typical 500mA limit of
the USB is sure to come into play long
before 1.5A is reached.
We 3D printed one of the Digi-Keydesigned cases, just to protect the unit
from damage.
Before we fitted the case, we noted that the board appears to get quite
warm, even when idle.
As it is, we’ve left the lid off the
case for now, as we don’t want it to
overheat.
There appear to be some other
spare pads around the board, including a pair of test points, another pair
marked RX0 and TX0, a small pitch
8-way header marked J2, a small pitch
2-way header marked J3 and a row of
five headers marked for synchronous
serial data of some sort.
None of these are noted in the information sheet, so we can only speculate as to their purpose; they may be
for some as yet, unreleased feature.
programming.
Part support is still in progress. It
appears that many parts are still only
at the preliminary or beta stage of support, including those we have tested.
Nonetheless, we found that they
worked fine for programming and sim-
ple debugging.
If you are only working with 32-bit
PICs, the Snap appears to be an economical option which provides practically all the upsides of the PICkit 4,
as long as you can live with providing
power to your target micro independently of the programmer.
If you plan to use other devices, we
would not recommend it.
There are a small number of 8-bit
devices that it supports, such as the
16F1455, although some of these parts
offer high voltage and low voltage programming.
This means the Snap programmer
would work if the chip is configured
with low voltage programming disabled.
But keep in mind that the low-voltage programming can typically only
be disabled when using a high-voltage
capable programmer, so you should be
safe to use these parts with the Snap.
Overall, it’s ideal as an economical
first programmer, or as a second device
to carry with your laptop or notebook,
although we would recommend taking
a good look at the device support list
before making a decision.
SC
Our verdict
The Snap Debugger/Programmer is
clearly an economy device intended to
be used with newer microcontrollers,
especially as it cannot work at all with
older devices that require high-voltage
siliconchip.com.au
MPLAB SNAP vis MPLAB PICkit 4 comparison.
Australia’s electronics magazine
May 2019 85
|