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)

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)

Send Local Temp from chipKIT and Raspberry Pi to Exosite Cloud

Local Temp from chipKIT and Raspberry Pi published to Exosite Cloud
Local Temp from chipKIT and Raspberry Pi published to Exosite Cloud

The tutorial we’re sharing today is a follow-on post to the Local Temp with chipKIT and Raspberry Pi post, and is an example of how you can take the previous tutorial to the next level.

So, you’ve collected the temperature data via the chipKIT uC32 and the Basic I/O Shield, you’ve sent the data to the Raspberry Pi, but now what do you do with it? This tutorial will show you how to take that data and publish it to the cloud, the Exosite cloud to be sure! For more information on how to create your own IoT application, see a previous post about Exosite, a company that makes connecting devices, networks, and users a breeze via their cloud-based data platform.

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

Local Temp with chipKIT and Raspberry Pi

Local Temperature from chipKIT uC32 & Basic I/O Shield sent to Raspberry Pi and displayed on screen via Python
Local Temperature from chipKIT uC32 & Basic I/O Shield sent to Raspberry Pi and displayed on screen via Python

The tutorial we’re sharing today shows you how to take temperature readings via chipKIT uC32 (or Uno32) and the Basic I/O Shield, and send this information to Raspberry Pi, where the sky is the limit with the things you can do. In this particular example, you can display the temperature readings in the GUI via a Python script.

Find the tutorial and more information on the RedAcacia blog.

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

Webinar – Introducing the chipKIT Pi Expansion Board for the Raspberry Pi

Watch while Marc McComb of Microchip Technology provides an overview of the new chipKIT Pi Expansion Board for the Raspberry Pi®. The board was co-developed by element14 and Microchip to enable anyone to easily create 3V Arduino™ compatible applications for their Raspberry Pi, using a 32-bit, high-performance PIC32 MCU in a prototyping-friendly package. Marc, an admin of this site, manages the academic and chipKIT Embedded Platform programs for Microchip.

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

DC Motor Control using Raspberry Pi, chipKIT Pi and the Arduino Motor Control Shield

Overview

This post is intended to demonstrate compatibility of the chipKIT Pi with certain existing Arduino shields. In the second part of this post, we will also demonstrate how to communicate with the chipKIT Pi over a simple I/O line on the Raspberry Pi®, from a terminal window, to control the Arduino™ shield connected to the chipKIT Pi.

Hardware/Software Needed

Procedure

Let’s begin by simply controlling a common Arduino shield. NOTE: Always check the electrical characteristics of any shield that will be connected to the chipKIT Pi. As with the Raspberry Pi, this is a 3.3V system. Therefore, if a shield outputs voltages greater than 3.3V there is a possibility that you could damage the chipKIT Pi or the Raspberry Pi. Connect the Arduino Motor Control Shield as shown:
motor shield 1
  1. Start a new sketch in MPIDE
  2. We will be using Brian Schmalz’s SoftPWMServo library for this application. This is a very flexible library that will enable a PWM (square wave) output on any pin we like. This library comes already included as a core library with the MPIDE. Therefore, to use, simply add the header file to the library at the top of your sketch as follows:
      #include <SoftPWMServo.h>
  3. The remainder of the sketch follows set up as per the Arduino Motor Control Shield specifications. I’ve added comments to explain each line of code.
    //Include the SoftPWMServo Library
    #include<SoftPWMServo.h>
    void setup() {
      //set up channel B on the Arduino Motor Control Shield
      pinMode(13, OUTPUT); //Pin 13 controls direction
      pinMode(8, OUTPUT); //Pin 8 controls the brake
    }
    void loop() {
      //Turn the motor
      // First we disengage the brake for Channel B
      digitalWrite(8,LOW);
      //Depending on how your motor leads are connected to the Arduino
      //motor B header, the direction could be clockwise or counter clockwise
      //So let's just start by calling this direct 1 and drive pin 13 HIGH
      digitalWrite(13,HIGH);
      //We need to send a PWM to the Arduino MC shield to start the motor
      //turning. We also define a duty cycle that will set the motor speed.
      //The higher the duty cycle, the faster the motor will turn. Duty cycle
      //is set between 0 and 255.
      //So we send the PWM to pin 11 according to the Arduino MC specs at say
      // a duty cycle of 100
      SoftPWMServoPWMWrite(11, 100);
      //Let's run the motor for about 5 seconds
      delay(5000);
      //Now lets brake the motor
      digitalWrite(8,HIGH);
      //Give the motor a chance to settle
      delay(500);
      //change directions
      digitalWrite(13,LOW);
      //and run the motor for about 5seconds in the other direction
      delay(5000);
      //Again, we brake the motor
      digitalWrite(8,HIGH);
      //give the motor a chance to settle
      delay(500);
      //and repeat
    }
So, this is nothing really special and can be done on any chipKIT Board. However, we can make something pretty interesting by introducing some Python-based communication from the Raspberry Pi to the PIC32 MCU on the chipKIT Pi. Proceed to the next page to continue.
VN:F [1.9.22_1171]
Rating: 6.6/10 (10 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)