Before the Arduino took over the hobby market (well, at least the 8-bit segment of it), most hackers used PIC processors. They were cheap, easy to program, had a good toolchain, and were at the heart of the Basic Stamp, which was the gateway drug for many microcontroller developers.
[AXR AMR] has been working with the Pinguino, an Arduino processor based on a PIC (granted, an 18F PIC, although you can also use a 32-bit device, too). He shows you how to build a compatible circuit on a breadboard with about a dozen parts. The PIC has built-in USB. Once you flash the right bootloader, you don’t need anything other than a USB cable to program. You can see a video of this below.
You will need a programmer to get the initial bootloader, but there’s plenty of cheap options for that. The IDE is available for Windows, Linux, and the Mac. Of course, you might wonder why you would use a PIC device instead of the more traditional Arduino devices. The answer is: it depends. Every chip has its own set of plusses and minuses from power consumption to I/O devices, to availability and price. These chips might suit you, and they might not. That’s your call. Of course, the difference between Microchip and Atmel has gotten less lately, too.
We’ve covered Pinguino before with a dedicated board. If you never played with a Basic Stamp, you might enjoy learning more about it. If you’re looking for more power than a PIC 18F can handle, you might consider the Fubarino, a PIC32 board you can use with the Arduino IDE.
Continue reading “Arduino with a… PIC?”
When [hkdcsf] was a teenager, he made a Christmas star with an up counter driving decoder logic and using transistors to light LEDs in festive patterns. He’s revisited this project using modern techniques including a microcontroller, a DC/DC converter, and constant current LED drivers.
The project uses two AA batteries, and that’s what makes the DC/DC converter necessary. Blue LEDs have a forward voltage of just over 3V, and the LED driver chip requires about 0.6V of overhead. Two fresh AAs will run a tad above 3V, but as they discharge, or if he’s using rechargeables, there just won’t be enough potential. To make sure the star works even with whatever LEDs are chosen, the converter takes the nominal 3V from the batteries and converts it to 3.71V.
Continue reading “Christmas Star uses Two AA Batteries”
Sometimes the most mundane products have surprisingly sophisticated internals. What’s in a game controller? If it is a Wii remote, you’ll find a lot inside–an IR sensor, Bluetooth, an accelerometer, and EEPROM. It also has a six pin expansion port that allows I2C peripherals connect to the controller.
[DotMusclera] wanted to experiment with a gyroscope and decided to hook up to the Wii MotionPlus to a Microchip PIC. Using information from the WiiBrew wiki, [DotMusclera] connected a PIC18F4550, an LCD, and a handful of components (mostly to do 3.3V level conversion), he set up the hardware on a breadboard. The only odd part you might have to work around is a Wii breakout board that converts from the breadboard to the Wii interface.
The software is easy to follow since it is written in Hi-TECH C and well-commented. The hardware lacks a schematic, but from the parts list and the video, you can probably figure it out. The setup works well and shows roll, pitch, and yaw on the LCD screen.
The project log is very detailed, with a lot of information about gyroscopes and the communication format the gyro uses. The video demo is worth watching as well.
Continue reading “Wii MotionPlus Gyro to Microchip PIC”
We love cheap stuff here. Who doesn’t? [Oscar Rodriguez Parra] does too, and wrote in to show us his super cheapey robot L.I.O.S. The build was for the AFRON design challenge, which involves building a 10 dollar robot to teach students robotics. The winners of the challenge were neat and all, but they all look too fancy flaunting their molded plastics and electronics breadboards.
[Oscar’s] design is super simple, LDRs as eyes, a PIC12F683 to do the brainin, LEDs for indicators and a couple modded servos to drive the wheels. An extraordinarily complex cardboard flap roller helps the cart turn, but probably isn’t going to see much aside from smooth flooring. The electronics are mounted using one of our favorite techniques, the paper perf board (very similar to the substrate free technique).
Check out the video after the jump to see LIOS in action. This is an excellent introduction to robotics for any classroom. Thanks [Oscar]!
Continue reading “L.I.O.S.: The ten-ish dollar robot.”
[Rajendra Bhatt] writes in to let us know about a nice simple IR bounce tachometer. The project uses a startUSB for PIC board and a 16×2 character LCD with a very basic Infrared bounce circuit. Measuring either a reflective or non reflective spot in the rotating object, in this case a bit of white paper, the micro is supposedly capable of measuring up to 99,960 RPM (we think the paper might fly off at this point) with a resolution of 60 RPM. This is the same concept as a beam-break style tachometer but keeps all your electronics on one end of the spinning hazard.
The article also goes into detail about setting the PIC18F2550’s Timer0 register to enable 16-bit resolution. The PIC is configured to turn on the infrared LED for one second, measure the number of pulses (through timer registers), and multiply that value by 60. We would be more careful with the TMR0H and TMR0L counters as they have to be read and written in a certain order to preserve their values, but you’d need to be measuring upwards of 15,360 rpm to run into that error.
It is a quality writeup for anyone interested in learning about the start USB for PIC board, tachometers, or a new project. Thanks [Raj]!
Arguably, Microchip’s PIC microcontrollers do not get enough posts here. One of the drawbacks for some of us is that Linux support for PICs is not very well known. The information is out there, but no one has laid out the process of going from writing C code to programming a chip. Written for Linux users that are familiar with microcontrollers, basic circuits, the C programming language, and can read a datasheet, this how-to should get you up and programming a PIC quickly with Linux.
Continue reading “How-to: Program PICs using Linux”