chipKIT™ Lenny: Sneak Preview

chipKIT Lenny Development Board

If you saw our post about the new chipKIT Lenny, and you’re totally excited, we have more news for you! In advance of the production release, Majenko Technologies, originator and designer of the Lenny, is offering early access to this new board. You can purchase a limited edition, sneak preview of the Lenny before the production boards roll out. These boards are production-ready, just without the packaging. So get yours today!

For all the details, see Majenko Technologies’ chipKIT Lenny page.

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

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: 8.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

chipKIT™ Attends Arduino Developer Summit 2016

Arduino Developer Summit 2016 - Mont Blanc
Arduino Developer Summit 2016

The first ever Arduino Developer Summit took place last week, Thursday, June 30th and Friday, July 1st, 2016 in the gorgeous Italian Alps at Skyway Monte Bianco. Top developers from the open-source community all over the world met to discuss greater collaboration in their effort to continue enhancing the support and solutions they provide to the ever-growing Maker community. Check out the program for the lineup of speakers.

Representing the chipKIT platform was Microchip’s Guy McCarthy, who presented an intro to the chipKIT platform, discussions about extending the Arduino system, lessons learned, and what’s coming soon to chipKIT! Check out his presentation–Arduino Developer Summit 2016 – chipKIT Runtime Evolution–for more information.

We hope this year is the first of many summits to come!

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

Coming Soon: chipKIT Lenny!

Render
The new chipKIT Lenny!

We have some great news for USB lovers! A new board, chipKIT Lenny, is in final prototype stages and preparing for production. If you haven’t already guessed, the chipKIT Lenny is the PIC32 equivalent of the Arduino Leonardo, only considerably advanced, with more peripherals and overall power.

The Lenny features a direct USB connection that provides a separate USB serial connection in addition to the two UART serial connections provided on the GPIO headers. Advanced users can use the Microchip Harmony framework in MPLAB X IDE to emulate further USB devices such as HID keyboards and mice. For chipKIT core users, enhanced support for emulation is being actively worked on and can be previewed by using the Harmony USB core in UECIDE.

The PIC32 microcontroller on the chipKIT Lenny is a PIC32MX270F256D MCU at 40 MHZ with 256K of Flash and 64K of RAM. This board features the following, and much more!

  • Two I2S/SPI modules for Codec and serial communications
  • Parallel Master Port (PMP) for graphics interfaces
  • Charge Time Measurement Unit (CTMU)
  • Two UART and I2C™ modules
  • Five 16-bit Timers/Counters (two 16-bit pairs combine to create two 32-bit timers)
  • Five Capture inputs and Five Compare/PWM output

Keep your eyes peeled for the chipKIT Lenny release, coming soon!

VN:F [1.9.22_1171]
Rating: 6.4/10 (5 votes cast)
VN:F [1.9.22_1171]
Rating: -1 (from 1 vote)

Trophy for chipKIT WF32 Controlled iPad Mount for the Sight Impaired!

chipKIT Controlled iPad Mount for the Sight Impaired
chipKIT WF32 Controlled iPad Mount

In a Digilent-sponsored senior design competition, Kaitlyn Franz’s team won a second place trophy for their project. The team created a Wi-Fi controlled iPad mount for assisting the sight impaired to find lost items. To accomplish this, the team utilized a chipKIT WF32, which has a Wi-Fi capable PIC32 microcontroller on board.

To check out more details, head over to Digilent’s Blog.

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

Trouble with Arduino IDE v1.6.8

Note: This problem was repaired in version 1.6.9 of Arduino IDE

The latest release of Arduino IDE (v1.6.8) has introduced a problem that prevents sketches from running on many chipKIT boards, in addition to some Arduino boards. It appears that any board using an FTDI chip for serial bootloader communications is adversely affected.

A temporary solution is to re-install the previous version, Arduino IDE v1.6.7, which has been well-tested and known to work fine with chipKIT-core selected in the Boards Manager. For more information about installing Arduino IDE and chipKIT-core, refer to the chipKIT-core Wiki page.

When the problem with v1.6.8 occurs, the sketch compiles and downloads from the IDE just fine, but does not appear to execute on the chipKIT board. This is because the serial DTR line between the FTDI chip and MCU is being toggled approximately once per second. DTR is typically tied to the MCU’s RESET line, causing the board to reset before the sketch has had a chance to execute.

The reason for toggling DTR is not currently known, but appears to be a consequence of enumeration of the USB bus. One of our team members writes:
On further investigation it is my belief that the Arduino IDE is not explicitly toggling DTR, but rather enumerating the USB bus repeatedly. As a byproduct of USB enumeration the FTDI chip toggles DTR. This may be the reason the Arduino boards are not affected as they have their own USB/Serial chip and it may not have the same effect on USB enumeration. This “side-affect” is specific AND annoying with to FTDI chip. In theory, DTR should only be toggled when commanded to do so on the COMM port; or maybe (but I don’t think it should) when the COMM port is opened. Just USB enumeration should not toggle DTR, but the FTDI chip/driver has always done this. I have noticed this for a long time as if you plug in any USB device to any port on the same hub as a chipKIT board, the board gets reset. So for example, if you plug in a memory stick, all chipKIT boards on the hub reset due to the USB enumeration.
At the time of this writing (4/20) a temporary solution is to avoid using Arduino IDE v1.6.8. The previous version (Arduino IDE v1.6.7) works fine with chipKIT-core selected in the Boards Manager. chipKIT team members are looking into this problem and will submit a detailed report to the Arduino IDE bug list at the earliest opportunity.
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

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: 10.0/10 (3 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

New FAT File System in chipKIT-core

microSD cards are supported on several chipKIT boards
microSD cards are supported on several chipKIT boards
Did you know that a robust FAT file system is now available in chipKIT-core? Keith Vogel of Digilent recently ported the file system library by ChaN at elm-chan.org. You can use this library to create and access files on microSD cards, as shown in the photo above.

But wait… what is a FAT file system, anyway?

FAT stands for File Allocation Table. It’s a method of organizing data on disk drives. Designed way back in 1977, FAT was the standard file system used on disk drives for at least two decades. While modern computers now use more sophisticated systems, FAT is still the standard for USB sticks, Flash drives and solid-state memory cards.
DSDVOL example in Arduino IDE
DSDVOL example in Arduino IDE


Several chipKIT boards (such as the FubarinoSD, WF32, Wi-FIRE, and WiFi Shield) include a microSD card slot where a solid-state memory card can be inserted. The new library allows your sketch to create and access files stored on the memory card. Files can be used for serving up web pages, storing large amounts of data collected from sensors, or anything else you can think of.

chipKIT-core combines the FAT file system with improvements to the DSPI and SoftSPI libraries. (DSPI uses the hardware SPI ports, while SoftSPI uses any combination of unused I/O pins to create a virtual SPI port.) When a microSD card is inserted, your sketch can easily mount it as a disk volume to access files. An example sketch is included with chipKIT-core, and appears as DSDVOL under the File:Examples menu item. Here is a snippet of code from DSDVOL:
Mounting a volume using the new FAT file system
Mounting a volume using the new FAT file system
Up to 5 volumes can be mounted and used at the same time. While most chipKIT boards have only one microSD card slot, virtual disk volumes in RAM or MCU Flash will be supported soon.
VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: -1 (from 1 vote)