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.
“most hackers used PIC processors”? I beg to differ. Maybe in ‘Murica, but not over here in Europe. Most projects I know used AVRs, as soon as they were introduced around 2000.
In the UK, the biggest electronics magazine (EPE) always used PICs. Also, there were quite a few years of microcontroller projects before the year 2000 and the PIC16C84 was a very convenient device for hobbyists.
So, @hennichodernich is right, not in Europe.
Aha! Good point! (If it ever actually happens, that is…)
Except that the UK will always be in Europe just not part of the European Union (probably)
Erm.. The UK is still in Europe it’s just just the European union that we’ll be leaving…..
Ah, didn’t see John’s comment :)
PICs were around in the 90’s if not before. The OTP PIC16C57 and PIC16C84 were the most popular and then when the re-programmable 16Fxx series came out they were even more popular.
Pre-2000 basically everything was 8051. OTP devices have always been a PITA for the hobbyist, so the AVRs with ISP (4 wires from the parallel port!) as standard were a revelation. Also because of the free IDE and the possibility to conveniently program them in C.
From ‘Murica. — I also switched to AVRs long before ever hearing of Arduinos. — The PICs were okay, but they only got .25 MIPS per MHz, and there wasn’t good tooling support. — Like even GCC could barely deal with them because of their weak-ass memory banking / Harvard architecture bullshit.
No no no, this is against God and nature. What’s next? Liberals and conservatives actually cooperating and being civil to each other?
32 bit PICs cost as much as a ARM6 SoC with 10 times the cpu, and 5000 times the memory.
Ahem, politics are complex:
https://www.youtube.com/watch?v=rStL7niR7gs
I wonder under how much pressure Arduino and Arduino are right now.
Chipkit is based on PIC32 and can be programmed in Arduino IDE just add board in board manager. I designed slim board … https://hackaday.io/project/14792-pixi32-chipkit-compatible-slim-pic32-usb-stick
Don’t forget the CHIPINO which is a PIC based alternative to use Arduino shields but program with any compiler you want. PICBASIC Pro for Stamp type code, Microchip XC8, Great Cow Basic, Assembly, etc. You just need a programmer such as a PICkit 2 clone. With MPLAB you can also debug beyond the serial monitor of an Arduino. http://www.chipino.com
This is my diy version with some extras:
http://danjovic.blogspot.com.br/2015/08/pinguino-com-alguns-extras.html
http://3.bp.blogspot.com/-H7bSSagefRw/Vdqgqa3tiUI/AAAAAAAAFiE/wv2EOBRgJDg/s1600/pinguino1.jpg
Mine Pinguino looks like this:
//s.imgur.com/min/embed.js
It has I2C port added for some special hacking I did…
My version, with additional I2C port for hacking:
I’m curious to see it now can you post just a plain link, that wont show the image but I could copy and paste it. Not the embed link or javascript as that wont work at all. The people that wrote the image link processing script for word press made it compatible with the RFC for a URL. Someone forgot to tell them that it also needs to be compatible with the RFC for a URI.
I’ve always hated PIC processors and still do.
As a PIC guy since about 2007, but also (this year) trying out the Arduino universe, mostly because of its port to the ESP8266… it’s all good.
I’m now playing with Arduino Nano clones for some applications, but I still like PICs for simple 8-bit “digital dirt” stuff. My preferred C compiler for PICs is sourceboost, but updates have been glacial.
The best part of PICs is the PICKIT. Without any reasonably priced and functional HW debugger, the AVR is either a kids toy or an area of professionals who can spend some $$$ for a proper debugger.
Neverteless, as soon as someone puts a reasonably beefy Cortex M3 in DIP28 or DIP40 in the market, both PICs an AVRs became obsolete even in the hobby market.
AMEN… The LPC810 with its meagre 4kB flash is a joke. I bought a couple thinking I’d be able to do something useful with them, then found my code compiled for Cortex M0+ is double the size of the same code for ATTiny85… it puts up a fight against a ATTiny25 but not the 45 or 85.
A Cortex M3 with >16kB RAM in DIP would be wonderful.
Solder a TSSOP/TQPF Cortex-M3 on an adapter board? It is almost like a DIP then…
I don’t have to solder a DIP package chip on any adapter board. Most of the adapter boards I’ve seen though are “restricted availability”, thus there’s no option for me to buy them.
If they can fit one of those chips into a 24-pin QFP package, then they can fit that same die into a 24-pin DIP, and in the latter it’ll take up less space than the QFP on an adapter.
The moment they launch even a Cortex-M0 on DIP packages I’m buying it … and never looking back at 8/16-bit stuff
NXP did a couple: http://au.mouser.com/Semiconductors/Integrated-Circuits-ICs/Embedded-Processors-Controllers/Microcontrollers-MCU/ARM-Microcontrollers-MCU/_/N-a86nc?P=1z0z63x
One’s “end of life” the other has pitiful specifications.
Really? Sometimes you just need a quick’n dirty ‘n reliable self-contained 8-bit micro with some decent peripherals. I don’t need a 32-bit chip with an RTOS to dim some LEDs or fart serial. I can’t see the low-end MCUs disappearing, just becoming less expensive and easier to use.
I was one of those PIC guys….I designed them into a lot of commercial products for others as a consultant, and also my own junk, like a standarized geiger counter….I just happen to have a ton of 18f pics left over, and will definitely be looking into this for some types of thing (low power especially, where they really do have an advantage over most Atmel stuff). I have some chipkit boards, but ended up deciding they aren’t worth the money and they sit idle. Then arduino, pi, ESP8266 came around and I forgot about PICs. I was into them from the very old days, so their quirks are things I understand fine. It’ll be fun…(quoth the Black Widow…).
There are quite a few boards compatible with ChipKit which makes Arduino compatible with PICs. I’ve used it with MikroE’s Clicker 2 board with a PIC32MX and it works really smoothly.
Microloosers from microshit are capable of nothing but screwing your design
I use PICs because I don’t need a whole dev board most of the time. AVRs are cute, but they just don’t have all the peripherals that PICs have across the amount of package choices you get with PICs.
If I need a 6 pin SMT micro, I can get one in a PIC and with very little massaging, have code that will work based off of something I had running on a much larger part. Or, if I need something with a higher pin count, I can go that direction.
I also don’t enjoy fussing with libraries and abstraction. I need to know what my code is doing, what calls, who’s on first, who shot JR etc… With arduino, you have 50 people writing 20 different versions of the same code and then you struggle to figure out how to interface your stuff with it. Its just easier to start from scratch most of the time.
I find arduino people happy with their bicycles with the training wheels and tassels coming out of the handlebars as I am blowing by them in a classic muscle car. Which sure, may be older, but its sure the fuck more refined and gets you a lot farther down the road.
As soon as you give up the training wheels, you’ll be amazed at what you can accomplish.
“I need to know what my code is doing”
So I am guessing that PICs still have that 12 to 16 level stack
The company I work for has a couple of PIC boards that can use Arduino shields:
https://vestatech.com/shop/current/vt03-merc16r-copy/
https://vestatech.com/shop/current/vt03-merc18/
The idea of open source, cheap evaluation circuits (Arduino) is a great idea. But lets look at the reality, the Arduino source code makes MAME look tidy. The big bowl of spaghetti we call the Arduino is never going to run well on a low end PIC (18F). The time you’d spend cleaning the mess, you could have re-implemented the API in a sensible manner. But then again, tools like Code Vision, MikroC, IAR, Keil and STM32CubeMX already do that, but they’re light years better than Arduino.