Meet the chipKIT uC32

chipkit-uc32-01

The chipKIT uC32 has been around a while, but Fábio Souza at Embarcados has just published a brand new Overview which is worth a look. The article is written in Portuguese; you should be able to use the “Translate” option in your browser to get the English version if needed.

Fábio’s article borrows some diagrams from Digilent’s excellent Resource Center, and also explains how to load chipKIT-core into the Arduino Boards Manager.

Thanks Fábio!

Note: The chipKIT uC32 is our full-featured, Uno-style board with 512K of Flash, 32K of RAM and 47 available I/O lines. It’s fully compatible with Arduino IDE and MPLAB X IDE.

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

P-P-PIC up a TFT with chipKIT and DisplayCore

Did you know that chipKIT boards are probably the best choice for controlling a TFT screen?… Considerably better than most Arduino boards, that is for sure! I say that with confidence for three reasons:

  1. chipKIT boards typically have far more memory and computing power than many Arduino boards, and as a result, they are so much better at manipulating graphics and data for display.
  2. chipKIT boards can get the data out to the TFT screen so much faster though high-speed interfaces, so less time is spent redrawing things on the screen. You’ll find that images appear instantly, as opposed to being drawn out slowly.
  3. Finally my favourite reason: professional-grade library support. I say it’s my favourite because I designed and wrote the library myself, but I’ll tell you more about that journey later on.

First let me introduce you to a little friend of mine:

picadillo

This here is the Picadillo-35T developed by 4D Systems in Australia (also available from microchipDIRECT). The Picadillo is essentially a chipKIT MAX32 board with a nice, high-resolution TFT touch-screen strapped to the back. The meaty PIC32MX795F512L chip (also used on the MAX32) boasts plenty of RAM (128KB) and Flash (512KB) and all the other bells and whistles you have come to expect from chipKIT boards. The board also has the same connectors as the popular chipKIT Uno32, uC32, WF32 etc., so all your shields should just plug in and work. You also get sound thrown in to the mix with an on-board speaker, and of course you get an SD card slot–what self respecting board would be without one these days anyway?!

Ok, enough said about that. The main reason I write this post is to tell you of the most useful part of this Picadillo board: the TFT touch-screen. And let me tell you, it’s not just any TFT screen. It’s an above-average 3.5″, 320×480 resolution, crisp-image delivering screen. Not only that, but the way the TFT is wired to the PIC32 chip is also “above average.” The TFT connection boasts a 16-bit parallel interface, not the normal slow SPI interface that most cheap Arduino TFT screens give you–meaning that it takes one bus clock operation to output a pixel as opposed to 16 (a considerable speed increase!).

But that’s still not all! (I’m starting to sound like a TV salesman now. “Buy now and we’ll throw in this amazing clock radio and set of saucepans absolutely free!”). The TFT’s 16-bit interface has been directly connected to the “Parallel Master Port” (PMP) of the PIC32. The PMP is a bit like the old internal bus of early computers; you get an address bus, a data bus, and a bunch of control signals, meaning there’s no messy twiddling of GPIO pins with the likes of digitalWrite() (or even direct port manipulation using registers). Writing data to the screen takes just one instruction. That’s right – ONE instruction. And that means even greater speed. But wait, there’s more! (Here comes the gold-plated nose-hair trimmer…) It’s called DMA: Direct Memory Access. Guess what that can do! DMA can send data through PMP, and this essentially allows for direct communication with the TFT display, all without the MIPS CPU’s involvement! In effect, you can be outputting data to the screen whilst doing other things! All-in-all it’s really a thing of beauty… if you like that kind of thing, of course.

So what does all that mean to the layman? It means you have a well-designed, well-built bit of kit in a nice compact package with all the power you could ever want to make your perfect user interface. But isn’t programming user interfaces and drawing graphics on a TFT screen a hard job? Isn’t it fairly skilled and in-depth? Don’t you have to write reams and reams of code just to get it to print “Hello World”? Well, yes, you do. However I have already done all that for you. And that is where the journey to the core begins.

Continue reading P-P-PIC up a TFT with chipKIT and DisplayCore

VN:F [1.9.22_1171]
Rating: 9.7/10 (6 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

chipKIT Fubarino Mini Pin Diagram

chipKIT Fubarino Mini Pin Diagram
Ever wanted to see the pin functions at a glance for the chipKIT Fubarino Mini? Well, thanks to Brian Schmalz, you have the above pin-mapping diagram!
VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Difference Between Interrupts and Polling

How does chipKIT Uno32 know when the button is pressed... By Polling or Interrupts?
How does chipKIT Uno32 know when the button is pressed… By Polling or Interrupts?
If you’re new to microcontrollers and you want a quick overview for using polling or interrupts in your sketch, Digilent has just the blog post for you! In this post, James explains the differences between using polling vs. interrupts to determine when an input (like a button press) has occurred.
VN:F [1.9.22_1171]
Rating: 7.3/10 (6 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

chipKIT Cmod Pin Mapping

chipKIT Cmod Pin Mapping
chipKIT Cmod Pin Mapping

If you haven’t checked out the chipKIT Cmod, by Digilent, you might want to. In this post, Larissa points out why she thinks the Cmod is the best chipKIT board for prototyping. She has one caveat, though: she never knows which pin is which. Enter the “chipKIT Cmod Pin Map,” and voila; you are all set to prototype!

VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Useful Resource for Programming chipKIT Pi

chipKIT Pi Development Board
chipKIT Pi Development Board

If you are an experienced Raspberry Pi® user, check out this resource page for the chipKIT Pi expansion board. It includes some useful pinout tables as well as instructions for programming the PIC32 MCU using native tools on the Raspberry Pi.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Digilent Learn – Debouncing Circuits with chipKIT Uno32

Digilent Learn - Debouncing Circuits with chipKIT Uno32 Microcontroller
Circuit with a button and an LED – Learn how to Debounce with chipKIT Uno32

Digilent’s Learn site provides tutorials for learning various hardware and software concepts, and you can choose “projects” (tutorials) based on topic, difficulty, or your personal area of interest. They also group projects together to form modules of related content, and they group modules to form courses, which are structured like college courses.

Today we’re sharing their “Debouncing Circuits with Microcontrollers” module, providing four distinct ways to learn how to debounce circuits, with chipKIT Uno32, whether in your software sketch, by using a library, via RC filter, or with force buttons.

VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

chipKIT WF32 Pin Diagram

chipKIT WF32 Pin Diagram
chipKIT WF32 Pin Diagram

Thanks to Jay at Digilent, the chipKIT WF32 now has an awesome and very useful pin diagram. Note that this diagram is no match for the WF32 Reference Manual; however, used in combination, these two files make getting to know your WF32 board a snap! In addition, two other documentation-type resources that provide even more details about your board include the board definition file and the schematic for each board. Check out Digilent’s blogpost for more details!

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

chipKIT Board Definitions

Where to Find chipKIT Board Definitions
chipKIT Board Definitions on Windows

If you have ever wondered why some example sketches “know” what PIN_LED1 means, then you’ll be glad to know that it’s not magic. PIN_LED1 is an example of a shortcut in the board definition file, a file for each board that contains detailed information about the pins on each board. Check out Jay’s Instructable for how to find and use the board definition files on Mac OS X and Windows.

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)