Posts Tagged ‘PIC’

Microchip Joins Arduino’s Bandwagon: Welcome chipKIT MAX32

September 27, 2011 Leave a comment

Microchip is very much into the fast prototyping ball game. In fact, years earlier than the introduction of the Arduino prototyping boards, Microchip’s PIC line of microcontrollers had already established its own prototyping setup. If Arduino had its Arduino IDE, PIC had MPLAB years back. However, Arduino’s magic comes from the opensource community that gave birth to Arduino-based hardware and software libraries development. Naturally as signaled by the two Arduino-compatible boards with 32-bit PICs, Microchip wants in.

Figure 1.0. Microchip’s chipKIT MAX32

Figure 1.1. Microchip’s chipKIT UNO32

To make it Arduino compatible, they edited the Arduino IDE, which now supports these two new Arduinos as well as backwards compatible with all other Arduinos. The chipKIT Arduinos are tested to run properly with the example codes available with the IDE.

Now to the tech specs:

1) For the MAX32

  • Microchip® PIC32MX795F512 processor
    • 80 Mhz 32-bit MIPS
    • 512K Flash, 128K RAM
    • USB 2.0 OTG controller
    • 10/100 Ethernet MAC
    • Dual CAN controllers
  • Provides additional memory and advanced communications peripherals
  • Compatible with Arduino IDE and libraries
  • Can also be programmed using Microchip’s MPLAB (along with a PICkit 3 or 6-pin header)
  • Arduino Mega form factor
  • Compatible with Arduino shields
  • 83 available I/O
  • User LED

2) And the UNO32

  • Microchip® PIC32MX320F128 processor
    • 80 Mhz 32-bit MIPS
    • 128K Flash, 16K SRAM
  • Compatible with existing Arduino™ code examples, reference materials and other resources
  • Can also be programmed using Microchip’s MPLAB® IDE (along with a PICkit 3 and our PICkit3 Programming Cable Kit, seen below)
  • Arduino™ “Uno” form factor
  • Compatible with Arduino™ shields
  • 42 available I/O
  • User LED
  • Connects to a PC using a USB A -> mini B cable (not included)

This is something worth looking into as well considering 32-bit microcontrollers at 80 MHz coming at US$50 for the MAX32 and US$27 for the UNO32, which is the same range for the 16 MHz, 8-bit for the Arduino MEGA and UNO respectively. Looks like a winner if it’s a complete Arduino. Let’s see how the Due will be introduced into the game later this year: Arduino IDE or Linux or RTOS? One thing’s for sure, rapid prototyping with higher processing power is becoming a common commodity with these new boards.

I’d better get my hands on these boards soon. 😀


What do I have so far?

September 25, 2011 Leave a comment

I have worked with several  since my college years. My first robot was a  that was outfitted with sensors to follow a black line printed on white tarpaulin race track. I had several versions of that line-follower. The first one was based on an 8-bit microcontroller, the . They are the sponsor for an annual robot competition. Back in 2003, we were using this . Burn it and that’s it.

You are probably asking how do we optimize or test our hardware with the software we load on an OTP. The answer is it depends on whether you placed variable inputs such as switches on digital ports or ADC ports probing  values or none at all. Clearly, if the software was designed without any appropriations for variable inputs then the controller will be fixed and therefore a candidate for a push pin on your cork board when it fails to do your design task. So that’s as far as you can get with OTPs. If you want to test software prior to burning it on the chip, there is an emulator that will act as the . The drawback here is that your mobile robot needs to be connected to the emulator board by some long cabling. The cabling usually interferes with the mobility of the robot.

At that time neither  nor  microcontrollers were not yet available to us. So I worked on an analog negative feedback control version of that robot. That was easier to tweak. Also, back then as an undergraduate, use of op-amps and comparators were quite fresh from our electronics classes. So the analog version worked well completing the track even though it wiggles much. This thing though does not recognize cross tracks. Will need a microcontroller for that.

The next robot I have and am still working on is a quad rotor . My goal is to make it autonomous and fly a camera and take shots. Right now, it is controlled using fly-by-radio with attitude assists and accurate motor and rigid body models. Also, the quad rotor is a property of the university I studied in so I will be working on something new soon to continue my work.

On my next posts on the line follower, I will try to put together something similar to the robot back in 2003 only this time incorporating PID and motion kinematics for good state estimation.

On my next posts on the UAV, I will try to recreate the work that I have done and let’s see when we will be able to reach the autonomous flight goal.

Right now, the applications I have in mind for such robots are  and  trucks. In hindsight, the sensor suite on the UAV is quite robust and can be used for  and . Let’s see what else these two robots can do.