Timer Interrupts on the chipKIT DP32

Timer Interrupts on the chipKIT DP32
Timer Interrupts on the chipKIT DP32

Have you ever needed your code to run repeatedly after a very precise amount of time?

In this tutorial, Jay explains how to accomplish this task by setting up a timer and connecting an interrupt to it. This project utilizes a chipKIT DP32, but a WF32 or uC32 would work as well.

See all the details on the Instructables tutorial.

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

Using a chipKIT WF32 and a Raspberry Pi to set up fan control for XBOX

Fan Control Using WF32 and Raspberry Pi
Fan Control Using WF32 and Raspberry Pi

Has your XBOX ever overheated due to excessive use? If so, have you ever wondered what you can do to stop it?

In a fan-control project–developed by Austin Stanton after his XBOX 360 died–this is exactly the issue he is trying to correct. Once he finished grieving for his lost gaming system, Austin was able to focus on how to fix the problem so that his next system doesn’t die. After doing some research, he suspected his entertainment system was the culprit, not allowing enough heat to escape.

Austin decided that the best way to regulate the temperature was to regulate the airflow, which he achieves by using two fans and a servo; the servo was positioned so it would open a door (to increase airflow). A chipKIT WF32 monitors temperature and operates the fans, while a Raspberry Pi was controls the WF32 over Wi-Fi by means of two switches.

Pretty good sleuthing on Austin’s part, I’d say! You can check out the details on the Digilent blog, where his project is broken down into two posts. The first one describes how to set up fan control using LabVIEW, and the second one describes how to add a Raspberry Pi to the whole thing.

Good luck with all your DIY life hacks!

VN:F [1.9.22_1171]
Rating: 9.0/10 (2 votes 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)

External Interrupts for chipKIT

Interrupts with chipKIT DP32

Jay Weeks of Digilent is back with another very useful “Instructable” about external interrupts. Armed with a chipKIT board, a USB cable, and a piece of wire, he guides you through some example code, so that you can see for yourself how interrupts really work! Using very simple explanations, he discusses polling vs. interrupts, and then he delves deeper into the topic to discuss debouncing, interrupt service routines, volatile variables, and more. Check it all out at Instructables.

Interrupt away!

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

OpenBCI Harnessing Brain Signals with chipKIT

OpenBCI 32-bit Board Kit (chipKIT)
OpenBCI 32-bit Board Kit (chipKIT-compatible)

Have you heard? OpenBCI (the open-source brain-computer interface) is a community of researchers, engineers, artists, scientists, designers, makers, and more sharing a passion for harnessing the electrical signals of the human brain and body to further understand its complexities.

OpenBCI’s 32-bit OpenBCI board—a versatile analog-to-digital converter compatible with any type of electrode—is used to sample electrical brain activity (EEG), muscle activity (EMG), heart rate (EKG), and more. This 8-channel neural interface uses a Microchip PIC32MX250F128B 32-bit processor that comes pre-flashed with the chipKIT bootloader and the OpenBCI System Firmware. The board communicates wirelessly to a computer via the the OpenBCI programmable USB dongle (based on the RFDuino radio module), and it is also able to communicate wirelessly to any mobile device or tablet compatible with Bluetooth Low Energy (BLE).

OpenBCI is supported by an ever-growing, open-source framework of signal processing applications. They chose the open-source format because they believe that ground-breaking discoveries in the field of brain science will benefit more from an open forum of shared knowledge by people from various disciplines than from companies, institutions, or even the entire field of science itself.

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

chipKIT Tilter the Self-Balancing Ridable Robot


Imagine the cross between a skateboard and a Segway!

This guy not only imagined it; he built it using a chipKIT Uno32!

Check it out! Get the scoop on how he built this thing on Let’s Make Robots!

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

Digilent Design Contest 2015

Digilent Design Contest 2015 - 11th Edition
Digilent Design Contest 2015 – 11th Edition

Are you a student? Do you love contests? Then get ready for the Digilent Design Contest 2015, a hardware design competition with the challenge of developing innovative projects using Digilent products, including chipKIT boards.

For more information about how to participate, please visit: digilentdesigncontest.com

Good luck!

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

Powering chipKIT

Power chipKIT with a DC Power Source
Voltage regulators on chipKIT

Ever wanted to power your chipKIT board without having to go through the USB cable (usually plugged into your computer)? Well, there is good news for you. Digilent has a blog post about how you can power your chipKIT without frying it, plus some useful tips.

Happy Powering!

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

LabVIEW: LINX and chipKIT

LabVIEW Interface for chipKIT
LabVIEW Interface for chipKIT is now LINX

Do you use LabVIEW? Well even if you don’t, you might decide to try it once you hear what’s in store for those who do. A relatively new LabVIEW interface called LINX actually supports the chipKIT platform, though support really isn’t such a new thing. As you can see in this post from a year ago, LINX actually started out as LIFCK (LabVIEW Interface For chipKIT).

In more recent news, this post provides a brief summary for how LabVIEW’s LINX and chipKIT together provide students and hobbyists a low-cost DAQ (Data Acquisition) or Control System.

For “Getting Started” material and support, please visit: labviewhacker.com/linx.

Tell us about your data acquisition and measurement projects in the comments!

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