HelveKit Robot: A chipKIT Robot Design

HelveKit Robot

There are plenty of “how to design a robot” tutorials out there; this is not one of them. Why is this one different? Because the author, GastonLagaffe, doesn’t want to tell you what to do, as he doesn’t want to limit your creativity. 🙂 His personal goals for this robot were for it to be small, autonomous, cheap, easy to solder, easy to program, with plenty of holes, and swarm capable, and although the journey to get from concept to implementation took him 12 months, he learned a lot along the way.

So if you want to make a robot, why not dream big as you read about how Gaston took what started as a small wish and made it a reality, Gaston-style. To see his journey, check out this HelveKit Robot Design Journey on Instructables. You may smile as you see his approach and decide you would have done it differently, but that’s exactly what Gaston would want you to do!

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

chipKIT Drum Set with MikroE Clicks

chipKIT: TouchClamp Click Drum Machine

Drum sets are fun to play! Now you can make your very own noise (or shall we say ‘music’) maker, and all without soldering a thing. All you need are a handful of bottles and cans (which will act as the drum pads) with some alligator clip wires (clips on both ends) connected to a chipKIT Uno32 via an Arduino Uno click shield and two MikroElektronika click boards with audio and touch sense capabilities. The TouchClamp click acts as the input for the drumming, and the MP3 click provides the audio for each “drum.” A clever little idea, we thought.

Why not make some noise with your own drum set. For all the details, check out the chipKIT drum set tutorial!

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 Uno32 and Nokia 5110 LCD

I have just finished writing up a new tutorial on using the Nokia 5110 graphical LCD with the chipKIT platform. Nokia 5110 LCD was used in Nokia’s popular 5110 and 3310 model cell phones and is a very popular display among the Arduino community because of its low cost (~$3 on eBay). It is a 48×84 pixels matrix LCD driven by the low-power PCD8544 controller chip. It is powered by 3.3V and includes on-chip generation of LCD supply and bias voltages, thus requiring minimum external components for its operation. This tutorial explores the PCD8544 serial bus interface and its connection with chipKIT Uno32 board for displaying text, graphics, and bitmap.

 

chipKIT Uno32 and Nokia 5110 LCD

Read the full tutorial!

VN:F [1.9.22_1171]
Rating: 9.2/10 (5 votes cast)
VN:F [1.9.22_1171]
Rating: +3 (from 3 votes)

Visual Programming for chipKIT

Drag-and-drop visual programming for chipKIT using ArduBlock
Drag-and-drop visual programming for chipKIT using ArduBlock

Newbie programmers, have you ever wanted to program visually by dragging and dropping your “code” instead of tediously writing lines and lines of it? If so, ArduBlock is for you! And Tayeb, of RedAcacia blog, has posted a tutorial to get ArduBlock up and running with your chipKIT board! To get started, you’ll need one of the following: chipKIT Uno32 (or chipKIT uC32), chipKIT Basic I/O Shield, breadboard, light sensor LDR, 10KOhm resistor, and buzzer.

What are you waiting for! 🙂

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

chipKIT LED Graduation Hat


If you are graduating or you know someone graduating, help friends and family find the graduate in a crowd by making a unique graduation hat! This “Instructable” guides you through the process to create a hat that will make you stand out in a crowd of boring graduation hats. This tutorial uses a chipKIT uC32 and WS2812 LED (neopixel) strips!

Have fun! And congratulations to all the graduates!

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

chipKIT Pro and Stepper Motors

A typical stepper motor
A typical stepper motor


Stepper motors seem to be the thing these days! As a follow-on to a couple of posts regarding the use of chipKIT Pro with I/O control and Delays, we want to share Learn.Digilentinc’s chipKIT Pro with Stepper Motors project, which builds upon the knowledge learned in the two previous projects and teaches you how to apply a software-based state machine approach to control the speed, rotation direction, and operation mode of stepper motors. It requires knowledge of C or C++ programming, MPLAB X IDE, finite state machines, and the two previously mentioned projects. Go get your learn on!

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

chipKIT Pro and Delays

Screen capture for 20 ms delay (using Digilent WaveForms on Microsoft Windows 7).
Screen capture for 20 ms delay (using Digilent WaveForms on Microsoft Windows 7).

As a follow on to a recent post about chipKIT Pro and I/O Control, the Learn.Digilentinc site has put together a chipKIT Pro and Delays project to teach methods for using software delays in your code. Because the microcontroller executes code so quickly, you may want to slow down the processor to meet the needs of your application. This project includes a background on timing of microcontrollers and requires knowledge of C or C++ programming, MPLAB X IDE, binary math, Boolean algebra, bit manipulation, and I/O Pin Control.

Get your Learn on! 🙂

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

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