When writing/porting applications to the Curiosity demo board I found myself looking over and over at the schematic (contained in the User Guide) for the connections between the 20-pin socket and the click board (mikroBUS) connector. Crossing this information with the peripherals and capabilities on chip was not easy. This got old very quickly, so after a couple of days, I drew the tables below:
These made a big difference to me. Hope they will be useful to you (and all other Rocket Scientists) as well.
Finally the new PICDEM-Curiosity (DM164137) board is here! It’s available on MicrochipDIRECT, at most distributors and online catalogs in stock.
There have been a few changes since the first prototype was shown to me during the final edits of the Rocket Science book, but mostly cosmetic.
The board is very compatible with the PICKit3 Low Pin Count + MikroBUS© project (I called it Simplicity at some point) except technically you don’t need the PICKit3 anymore as part of the circuitry is already present on (/under) the board itself. All you need is a USB cable (provided) and a PIC16F1 (samples of the PIC16F1619 are shipped with the board).
This is a great choice as the ‘1619 has a lot of interesting Core Independent Peripherals to play with: CLC, PPS, SMT, Angular Timer, HLT, Math Accelerator.. you name it!
In fact you will be able to try most of the projects I developed [link] for Simplicity as is, provided you get hold of a PIC16F1709 which I used back then or rebuild the projects for the ‘1619 (using MPLAB X – MCC it’s a breeze).
I have already ported and re-tested a few of those projects [link] but will port and re-test more in time. You are welcome to help … (Hint!)
More projects are available directly from the Curiosity Design Center on the Microchip web site.
A few more notes about Curiosity:
- The on chip programmer (PICKOB) circuit can only operate in Low Voltage Mode. Make sure to always keep the PIC LVP configuration bit enabled in your Curiosity projects!
- The mikroBUS connector for Click© boards is not populated (see figure above, board right top corner). You will need to get yourself a pair of female 100mils strips and solder them on to start prototyping.
- An optional PICKit3 (ICSP) connector and 9V power supply regulator are available but not populated (top left corner of the board). By default the board will power from the USB connector.
- An additional Bluetooth LE (RN4020) module can be soldered directly on the board (lower right corner) to provide some interesting wireless connectivity options, but keep in mind that will use up the UART connection that is shared with the MikroBUS interface.
The Upverter Click competition is on, it has been for a while, but I had no time to really look into it… The email announcement had arrived in my inbox a while ago (July, were did the summer go? sich!) but I admit I did not read it all in detail:
“Design your own click board” (nice) …
“the winner gets a nice pack of click boards” (yum) …
What I had not done though was to follow the upverter link to the tool web site! That was until Sunday, and what a surprise! Continue reading
Last night I started looking into the “Analytics” of this very blog. It’s something I had promised myself to do often, but it never happened. Looking at the graphs, prepared by the online (free) tool supplied by my provider, was/is simply such an un-rewarding and dry experience. The fact is, the information I am truly looking for is simply not there.
On the other side the original log files (cvs) are available but are really long and manipulating them with Excel is a tedious and (very) error prone process, even for a “Spreadsheet Master” like me (I have been in marketing for almost 15 years now…).
Enters the Pandas… no, not those in the picture! I am referring to the Python Data Analysis Library , a tool I had heard of many times in the past but always ignored as I considered it a thing for web jockeys… (scoff)!
Turns out I was so wrong! I took the 10 Minutes Intro and … well 10 minutes later I was looking at the data I wanted or rather I had dreamed of for so long!
In the OLED Click project I quickly ported the OLED driver (SSD1306) routines and packaged them with the low level SPI master drivers provided by MPLAB Code Configurator. The functionality test in itself included only displaying an image stored in an array in Flash memory. But unless you intend to use only the one image included in Mikroe examples (image above), editing the image bit by bit in a 480-bytes long array can be quite a … challenge.
This is where knowing a little bit of Python can make life much easier. In a little more than a hundred lines of code I wrote a basic OLED Picture Editor. Python scripts are great for preparing quickly small tools like this and to make them portable across all platforms (Windows, Mac, Linux).
One thing many of my experiments can often use is an alphanumeric display, even better a graphic one. OLED displays have become really cheap nowadays and their low current consumption (when compared to a TFT display or an LCD with backlighting) makes them an attractive solution. But developing an ad hoc PCB and connecting with the typical flex strip can be quite a challenge for most prototyping needs.
Now it happens that there are no less than three OLED click boards currently listed on the Mikroelektronika catalog: a color model (OLED-C), and two monochrome models, white(OLED-W) and blue (OLED-B). I figured the color version featuring a 96×96 matrix with 16-bit color resolution would be cool, but it would also eat up too much memory ( 96x 96 x 2 = 18,432 bytes) if I was ever to use its full resolution/capabilities. The smaller ( 96x 40) monochromatic displays are just slightly cheaper but most importantly require only 480 bytes to paint a complete picture (96x 40 /8 bytes) something that appeared immediately to be more in tune with the needs and capabilities of my typical small 8-bit application (sensor/driver/controller/node…). I bought myself an OLED W click and started experimenting with it right away.
With a thick press release on July 20th, Microchip announced the arrival of two new microcontroller families the PIC16F157x and the PIC16F188xx each sporting numerous (up to a dozen) part numbers. This would be an exceptional announcement from any other company, but it represent normality for Microchip. An expected performance from a company that has been cranking out new microcontroller part numbers almost in the hundreds per year.
The grand total is currently over the thousand but a more focused search, using the online product selector among 8-bit Flash models only, brings the count to 400 of which 180 belong to the PIC16F1 group (featuring the latest core).
It is a fact that such press releases are written mostly for investors and as such are significantly dumbed down in the amount of technical detail exposed but if anything, hyped up on the potential applications, which invariably include most anything in embedded control (also see image above from the original media package). This includes the Internet of Things too in case you were wondering (see tags line).
But aside from common tags du-jour, the two families are/were significantly different and because of this more interesting than the press release might have led you to believe.
I did spend a bit of time today studying the first: PIC16F157x family and I found a few points that might interest some of you my fellow Rocket Scientists (readers). I will reserve some attention to the second: PIC16F188xx family in a future post.
While I was waiting for the Curiosity board to arrive, I started experimenting with my home made Simplicity board (really a PICKit3 Low Pin Count demo board with a microBUS connector soldered in the prototyping area), and I decided to take the Bluetooth Click© out for a spin. What better exercise than writing a wireless boot loader?
As advised by a friend, I am going to try and support a Google Group appropriately named “This is (not) Rocket Science”. The idea is to provide timely errata information and ultimately to enable readers of the book to exchange ‘experiences’ , good and bad ones (possibly mostly good ones…)
I promise to sneak in from time to time and help, but my email address (email@example.com) remains open and is available for all readers and friends who want to contact me directly and/or privately.