This is only a preview of the September 2025 issue of Silicon Chip. You can view 42 of the 104 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 "Power Breakout for PICkit Basic":
Articles in this series:
Items relevant to "HomeAssistant, Part 1":
Items relevant to "HomeAssistant Satellite":
Articles in this series:
Items relevant to "Ducted Heat Transfer Controller Part 2":
Items relevant to "USB-C Power Monitor, Part 2":
Purchase a printed copy of this issue for $14.00. |
PICkit Basic & MPLAB X 6.25
Programmer/Debugger
The MPLAB PICkit Basic is a new cost-effective
programmer and debugger from Microchip Technology.
It requires the latest version 6.25 of the MPLAB X IDE
software, so we decided to see what new features
are available. We’ll also mention some other recent
announcements from Microchip.
Review by Tim Blythman
W
e’ve seen a number of interesting
announcements from Microchip
Technology lately, so we thought that
this article would be a good place to
wrap up the latest news. While we
don’t exclusively use their microcontrollers in our projects, we do use
them quite frequently, so we take an
interest in new tools, parts and software they offer.
Readers often ask about the best programmer to get; many need to program
just a single chip to get their project
working. So it’s often the case that the
cheapest thing that will do the job is
the best. Thus, the cost-effective PICkit
Basic programmer/debugger caught
our attention.
The related MPLAB X IDE software
includes features such as an editor,
compiler and programmer interface
to integrate all the steps needed to
develop software for microcontrollers.
The release notes for MPLAB X IDE
version 6.25 mention support for the
new PIC32A and dsPIC33A families
of processors, so we’ll look at what
they offer.
We’ve also designed a small USB
power PCB to enhance the PICkit
Basic. We describe its purpose,
construction and use in an separate, accompanying article.
Previous programmers
Before getting to the details
of the PICkit Basic, let’s take a
quick look at what led up to
it and some related concepts
and articles.
We reviewed the PICkit 5 programmer and debugger in November
2023 (siliconchip.au/Article/16016).
Externally, it looks quite similar to
its PICkit 4 predecessor, although it
has a modern USB-C socket instead of
the 4’s micro-USB socket. That article
also covered the new features of the
MPLAB X IDE v6.x, which had just
been released then.
The PICkit 5 has a Bluetooth module and can communicate wirelessly
with a Microchip smartphone app,
allowing a PICkit 5 to use its PTG
(programmer to go) features without
needing to be connected to a computer.
This provides full galvanic isolation
whilst using the PTG feature, since the
PICkit 5 can also be powered from its
target circuit.
The PICkit Basic comes with more accessories than the more expensive
PICkit 5. The serial wire debug (SWD) adaptor and cable will be handy
for those working with ARM chips, while the eight-way connector with
colour-coded extension wires are suitable for all processor types.
siliconchip.com.au
Australia's electronics magazine
In case you are not aware, a programmer is used (among other things)
to load a program file onto a microcontroller platform. For modern systems,
that typically means writing to the
micro’s internal flash memory.
A debugger can be used to monitor
and control a running microcontroller
so that its operation can be checked.
As the name suggests, this can help to
find bugs (ie, faults in the software).
You might hear it called in-circuit
debugging (ICD) to emphasise the fact
that you can debug the microcontroller while it is connected to a working
circuit.
Devices like the PICkit 5 can pause
the microcontroller’s operation and
even read and write its memory.
‘Breakpoints’ make it pause when the
program reaches a certain point. All
the currently supported Microchip
programmers also incorporate comprehensive debugging features for the
PIC microcontrollers that we use, so
we will simply refer to them as programmers.
Our review of the PICkit 4 included
a panel about debugging if you want
to read more about this process using
the MPLAB X IDE (September 2018;
siliconchip.au/Article/11237).
The Snap programmer was released
September 2025 33
The pin markings on the top of the PICkit Basic’s case are a very nice touch. The
colour codes match those on the eight-way connector cable. The slot at lower
left gives access to a pushbutton that can be used to hard-reset the programmer.
not long after the PICkit 4. We
reviewed it in May 2019 (siliconchip.
au/Article/11628) and found it to be a
cut-down (and thus cheaper) version
of the PICkit 4. While it lacks some features, we have been using the Snap for
most of our programming and debugging needs over the last five years.
Other articles that might be helpful
include our feature from January 2021
about installing and using the MPLAB
X IDE (siliconchip.au/Article/14707).
Also, the PIC Programming Helper
project (June 2021; siliconchip.au/
Article/14889) still works with recent,
small (eight- to 20-pin) 8-bit PIC microcontrollers.
The PIC Programming Adaptor (September 2023; siliconchip.au/
Article/15943) is designed
to ease the process of programming micros outof-circuit. We use this
frequently to program DIP chips for
sale in the Silicon Chip Shop. It can
handle just about all the through-hole
PIC micros we sell that have no more
than 40 pins.
For programming microcontrollers
in SOIC and SSOP SMD packages, we
use commercially available SMD-toDIP adaptors, which are discussed on
the last page of the Adaptor article. For
larger parts in the TQFP (thin quad flat
pack) form factor, there is the option of
using the TQFP Programming Adaptors project (October 2023; siliconchip.
au/Article/15977).
The PICkit Basic
The PICkit Basic appears to be a lowcost variant of the PICkit 5, much like
the Snap was for the PICkit 4. Like the
Snap, it cannot power the target microcontroller or perform ‘high-
voltage
programming’.
The Snap programmer
shares a close resemblance
to the PICkit Basic.
They both boast a
SAME70 processor
and are very
similar in size
and layout.
The PICkit Basic rounds out the product range
neatly, with it being the low-cost version of the
PICkit 5. Similarly, the PICkit 4 was followed by
the low-cost Snap programmer.
34
Silicon Chip
Australia's electronics magazine
Target power is definitely a handy
feature, especially when chips are
being programmed out of circuit, but
it is by no means essential. Our PIC
Programming Helper project noted a
small modification that can be made
to the Snap to allow it to provide 5V
or 3.3V target power.
High-voltage programming (HVP)
uses a voltage much higher than the
chip’s normal supply voltage to signal entry to programming mode; 9V
or higher is typical. Earlier parts like
the PIC16F84 required HVP, but newer
parts from most families now have
a low-voltage programming (LVP)
mode.
HVP is not so easy to simulate,
since the high-voltage pulses have to
be delivered with the correct timing
and in synchronisation with the programmer’s actions. Some of the newer
AVR chips can be reset to LVP mode
by a single high-voltage pulse to the
right pin, but it is more typical that
the HVP and LVP protocols are completely separate.
Some microcontroller features can
only be accessed with HVP. This usually allows an extra pin to be used as a
digital input; a minor advantage compared with the ability to use a much
cheaper programmer. So for the most
part, we prefer to design our projects to
use LVP and thus transparently allow
use of cheaper programmers like the
Snap and PICkit Basic.
The PICkit Basic has the eight-pin
header that was introduced with the
PICkit 4. This was around the time
that Microchip took over Atmel, and
started adding support for the protocols of the various AVR and SAM chips
produced by Atmel.
Since they make up the bulk of
the micros that we use, our review
will focus on using the PICkit Basic
with PIC microcontrollers. But it will
work with many of the other microcontroller families that are offered by
Microchip.
There is no microSD card slot on
the PICkit Basic, and no Bluetooth
module, so there is no PTG (programmer to go) feature or app connectivity.
The PICkit 5 also has a hidden pushbutton switch actuated by pushing
on the top of the unit that the PICkit
Basic lacks.
The status of the PICkit 4 or 5 is
shown through a stripe-shaped light
guide on the top of the case, while
the Basic has two small round holes
siliconchip.com.au
through which LEDs are visible. There
are two larger holes in the top of the
case, one of which allows access to an
emergency recovery pushbutton. The
Snap only offers a pair of pads that can
be shorted to provide this function!
Unlike the Snap’s bare PCB or even
the fully-featured PICkit 5, the PICkit
Basic has a plastic case marked with a
pin connection guide for six different
microcontroller families. So our initial perception is that the PICkit Basic
is similarly featured to the Snap, but
with a number of niceties, like the case
and a USB-C connector. These make it
a better tool overall.
Accessories
The PICkit 5’s only supplied accessory was a USB-A to USB-C cable,
while the PICkit Basic comes with
a USB-C to USB-C cable. Also supplied is an eight-pin SIL connector
with colour-coded wires; the coding
matches the main unit. The colours
are the same as resistor colour codes,
except that brown and orange (for one
and three) are swapped! Presumably,
this is to keep us on our toes.
An ARM SWD (serial wire debug)
adaptor is also supplied, adapting the
8-pin 2.54mm (0.1in) pitch to a 10-pin
1.27mm (0.05in) box header. It comes
with a matching ten-pin IDC cable with
socket headers at both ends. These suit
the SWD headers found on many ARM
development boards.
SWD is an implementation of the
JTAG (Joint Test Action Group) standard designed for use with ARM processors. It performs much the same
role as ICSP (in-circuit serial programming) on PIC microcontrollers,
and can be used for programming and
debugging. You can see the SWD and
JTAG pinouts marked on the top of the
PICkit Basic.
The eight-pin SIL header suits just
about all of our PIC projects that incorporate an ICSP header. Typically, only
Screen 1; the ‘data
stream interface’ is a
USB-serial port that is
connected to pins 7 and
8 of the PICkit Basic’s
headers. It can be used
independently of the
ICSP programming
pins (refer to Table 1).
five of the eight connections need to
be made for PICs.
The package also includes a sticker
sheet with two MPLAB PICkit Basic
stickers.
Table 1 shows the pinouts for the
various supported interfaces, as listed
on the PICkit Basic’s label (plus the
AVR ISP pinout, which many readers
might find handy).
The rightmost column shows the
pinouts for the so-called data stream
interface. This is effectively a USB-
serial adaptor built into the programmer; it appears as a virtual serial port
on our computer.
Internals
We popped the PICkit Basic out of
its case to see what’s inside; the photos overleaf show the PICkit Basic’s
red PCB. The family resemblance to
the Snap is striking, with a SAME70
processor dominating both boards.
Much of the remaining circuitry
looks almost identical to the Snap,
with the emergency recovery pushbutton labelled SW1 and two larger LEDs
being the most obvious differences.
Hands-on testing
The PICkit Basic is not supported
by versions of the MPLAB X IDE prior
to 6.25, so we had to install the latest
version before using the programmer.
From there, operation of the PICkit
Basic was quite seamless. We selected
the new programmer in our current
PIC project and, after a brief delay to
Pin
Colour
ICSP
MIPS EJTAG
SWD
JTAG
1
Orange
MCLR
MCLR
RESET
2
Red
VDD
VDD
VDD
VTG
VTG
3
Brown
GND
GND
GND
GND
GND
4
Yellow
DAT
TDO
SWO
TDO
5
Green
CLK
TCK
SWCLK
TCK
6
Blue
7
Purple
TDI
8
Grey
TMS
Table 1 – PICkit pin mappings
debugWIRE
UPDI
AVR ISP
UART
VTG
VTG
VTG
GND
GND
GND
DAT
MISO
RESET
RESET
CLK
RESET
TDI
SWDIO
update the firmware in the programmer, everything simply worked. Fortunately, the project we used to test this
has an internal power source, so the
lack of target power was not a problem.
We then tried out the data stream
interface. On Windows, we did not
need to install any drivers, but were
greeted with a new COM port named
“PICkit Basic Virtual COM port” (see
Screen 1). We could open this port in
the TeraTerm terminal emulator, even
while programming a PIC using the
IDE. It’s as though they are two completely separate hardware devices.
Of course, some of the other available device types require the data
stream interface pins, so this feature
will not be available when the PICkit
Basic is configured for other devices.
We’ve taken our Snap programmer
for granted for a while now, and its
micro-USB socket is starting to misbehave with wear and tear. The PICkit
Basic has come along at a good time
and it has quietly replaced its predecessor without any fuss.
So there really isn’t much more to
say; the PICkit Basic offers much the
same experience as the Snap, but with
a case and a USB-C socket, it’s sure to
be a more robust tool. There is a user
guide, but we imagine that anyone
that has used a Snap will not even
need that.
We noted in the PICkit 5 review
that the PICkit 4 was quietly relegated
to the status of ‘not recommended
for new designs’. We would not be
TMS
Australia's electronics magazine
RESET
MOSI
TX
RX
September 2025 35
Screen 2: the note at the bottom of the MPLAB X v6.25 installer marks the
dropping of support for the PICkit 3, among other older development tools.
surprised if something similar occurs
with the Snap programmer. At the time
of writing, some retailers are listing
the Snap quite cheaply, but many also
have them on back-order. The Snap
may be hard to buy in the future.
We purchased our PICkit Basic for
just over $50 from Mouser Electronics; it is listed for much the same price
at DigiKey. Both these stockists have
free shipping for orders over $60. By
adding a few extra parts to our order,
we were able to get our PICkit Basic
shipped for no extra cost. Its Microchip part number is PG164110, so a
web search for that should find other
suppliers.
The installation process of MPLAB
X version 6.25 shows this (Screen 2).
Older versions of the IDE are still available for download from the MPLAB
archive at siliconchip.au/link/abpn
Like the transition from the Snap
to the PICkit Basic, the new version
of the MPLAB X IDE works in much
the same fashion as its predecessor.
The older versions would occasionally
fail to compile a project, apparently
for no reason, since the compilation
would complete without problems
when started a second time. We’ve
seen less of these sorts of difficulties
with version 6.25.
MPLAB X 6.25 IDE software
This version of the MPLAB X IDE is
the first to offer support for the PIC32A
and dsPIC33A families of parts. For a
long time, we have used the PIC32M
series of microcontrollers, such as
the PIC32MX parts used in the many
Micromite variants. These have a MIPS
(Microprocessor without Interlocked
Pipelined Stages) processor core.
MIPS is a type of RISC (reduced
instruction set computer) processor
and is typically contrasted with CISC
(complex instruction set computer)
processors of which the x86 and x64
families are probably the most widely-
known.
The PIC32C family is based on the
ARM RISC architecture, while the
The MPLAB family of programs
goes back over 20 years, with the
MPLAB X variants appearing around
12 years ago. The latest versions are
highly modular, with separate compiler programs and loadable device
family packs for different processor
families. There are add-ons such as
MPLAB Harmony that can be used to
simplify device configuration.
The previous version (6.20) was the
last to support the venerable PICkit 3.
The PICkit 3 was released in 2009 and
has now been copied so much that if
you were to try to buy a PICkit 3 today,
it would likely be a clone instead of
the real thing.
36
Silicon Chip
The PIC32A and dsPIC33A
Australia's electronics magazine
PIC32A and dsPIC33A families are a
32-bit evolution of the familiar 8-bit
and 16-bit PIC processor cores. Users
of the 16-bit PIC24 and dsPIC33F parts
will note a similarity in the architecture and instruction set.
We’ve had a look at the data sheets
for these parts and there is lot of similarity with the PIC24 family. The
instruction set is quite similar. So we
anticipate that they will be of interest
to those who work with PIC assembly
language. The register set and status
bits are also quite familiar. The new
family also features a 64-bit floating
point unit, and two 72-bit multiply-
accumulate units.
Those latter features may sound
pretty straightforward but they represent a very large increase in number-
crunching computing power compared to chips that lack such dedicated hardware.
We’ve seen these new parts being
pitched as low-cost, and a search on
the likes of DigiKey and Mouser suggests they are available for around $3
in single quantities (and, of course,
somewhat cheaper if you buy many).
The dsPIC33AK128MC102 is a
28-pin part in a SSOP package.
Another example we found is the
PIC32AK3208GC41048, available in
a 48-pin TQFP package.
The PIC32AK3208GC41048 is no
slouch, with a 200MHz clock speed,
32kiB of program (flash) memory
and 8kiB of SRAM. The usual digital peripherals such as PWM, UART,
I2C and SPI are present. The analog
peripherals are impressive, with two
12-bit, 40MSa/s ADCs. There are also
onboard comparators, op amps and
three 12-bit DACs.
Internal peripherals include peripheral pin select (PPS), which allows
remapping of many digital peripherals
to different pins. There are also four
CLC (configurable logic cell) instances.
The CLC can be used as internal ‘glue’
logic between peripherals.
We previously used the CLC in an
8-bit PIC16F18146 to combine the
comparator and PWM features to
implement a simple but effective voltage boost controller. This was documented in the Digital Boost Regulator
project (December 2022; siliconchip.
au/Article/15588).
So there is a lot of commonality for
those accustomed to other PIC families. Even the configuration bits have
familiar names and behaviours. These
siliconchip.com.au
chips also have a security module to
allow secure booting and code protection.
The dsPIC33A family, like other
dsPIC families, is clearly aimed at
real-time digital signal processing
applications. This also includes
machine learning algorithms, as well
as the more traditional DSP applications, like audio and image processing.
These are capable chips at a good
price, and with their PIC pedigree,
should be easy to work with for those
who are familiar with other PICs. The
fast ADC alone may make it the part
of choice for certain projects.
Other news
There is also a 64-bit PIC family,
the PIC64GX, which has four RISC-V
cores. RISC-V is an open-source RISC
architecture, so manufacturers are not
encumbered by license fees as they
might be with other architectures. The
PIC64GX family is capable of running
Linux, so it appears to be suited to a
general-purpose computing role.
The writing of this article coincided with the Electronex trade show,
and we had the opportunity to talk to
the staff at Microchip as well as see a
presentation on the PIC64GX family.
We learned that there are other PIC64
RISC-V families planned for launch
later in 2025.
The Microchip engineers spoke
about how the PIC64GX offers true
asymmetric multi-processing. This
allows one of the processor cores to
be dedicated to real-time applications, such as motor control, while the
remaining cores can run operating system or application software.
We have also read that there is now
a Microchip MPLAB extension for the
Visual Studio Code IDE (VS Code). We
previously noted that the official Raspberry Pi SDK (software development
kit) for the Pico family of processors
has now moved to use VS Code; see
the article about Transitioning to the
Pico 2 from (March 2025; siliconchip.
au/Article/17796).
To get started with the Microchip MPLAB extension, search for
“MPLAB” in the VS Code Extensions
Marketplace and install the MPLAB
Extension Pack.
This should also install other features like project import and toolchain
support. As with the MPLAB X IDE,
compilers are installed separately.
There is also an AI coding assistant,
which we plan to test out in the near
future.
Where to buy it
Our Snap programmer has seen six
years of good use and the PICkit Basic
has come along at a good time. It has
quietly and seamlessly replaced the
Snap and we expect it should be good
for many more years, since its case
and USB-C socket will make it a more
robust tool. It just works!
There have been no real surprises
in the new version of the MPLAB X
IDE. We will pay close attention to
the Microchip MPLAB extension for
the VS Code IDE, especially given that
we can also use that IDE for development of projects for the Raspberry Pi
RP2xxx processors used in the Pico
and Pico 2 boards.
The new processor families being
released look very promising to us,
so we’ll monitor developments with
the new PIC32A, dsPIC33A and PIC64
parts that are now available.
For more information on the PICkit
Basic, see www.microchip.com/en-us/
development-tool/pg164110
Buy the PICkit Basic from Microchip Direct: www.microchipdirect.
com/dev-tools/PG164110
DigiKey: www.digikey.com.au/en/
products/detail/PG164110/25965142
Mouser: https://au.mouser.com/
SC
ProductDetail/579-PG164110
We removed the PICkit Basic’s plastic case to get these photos of the top and bottom of the PCB.
Readers who have a Snap programmer will see the similarities.
siliconchip.com.au
Australia's electronics magazine
September 2025 37
|