There is Pinguino project which use SDCC C compiler (Win, Mac, Linux) to provide Arduino sketch compatibility. Though, it is only a C and not C++. Some classes are simulated via a parser but this is made under the hood.
Anyway, personally I use JAL (this compiler is also available under Win,Mac,Linux) language which produce a much smaller and faster code. I'm using the board with an USB bootloader but also directly with Pickit2 programmer when I test other compilers/languages.
Here are some links for anyone inteested: Jallib group - a discussion group about JAL libraries development Jallib code - Jallib project hosted onGoogle code Just another language.org - The official site of Jallib project which include tutorials and free books (entire project is free, open source)
If I understand correctly, you bought a board made for a PIC but, because you are AVR programmer, you would like to stick an ATmega instead - you want an adapter for that.
Well, an image and a link would help a lot. Generally, you can use (via wires) the oscillator connections (if the quartz frequency fits for an ATmega), and voltage and ground. For other peripherals (see, is hard to make an analysis without seeing the board) you must find out what peripherals are (SPI, I2C/TWI, Onewire, etc.) and connect them according to AVR specifications... no big deal... For LED's, relays, buttons, you decide which AVR pins must be used, because you are the designer of your application. The application which come for PIC microcontroller is not good for AVR. [Guessing... guessing...]
I'm doing exactly opposite: I'm using the peripherals of an ATmega board (EvB4.3) with a PIC microcontroller.
Well, we have already one (FreeJALduino) based on PIC18F2550 with USB support, Arduino compatible pinout, but as Arduino MEGA, it offer SPI and I2C compatibility only at software level.
With PIC18F25K22 and better, 18F26K22 (announced but not yet in production), we can match Arduino performance and also offer hardware SPI and I2C (pinout) compatibility. So, I expect that Sebastien will make it possible.
P.S. But about FreeJALduino and Pinguino boards is already a topic on your forum at Portugheze section: "Arduino com Pic". And, as you can see, we are on the PIC side but also on your great family. We are glad about this achievement.
Here are photos from an workshop in Venezuela (South America) with Pinguino and Arduino language (Pinguino IDE).
It can be a "hungry for tech" market for ATMEL if can provide an USB chip 28/40 pin DIP in enough quantities and cheap. Until then, there is PIC18F2550/4550 as the only solution to simulate an Arduino like chain development. And Jean-Pierre Mandon and his team are working hard to address all aspects of a complete Arduino language solution. And for people not accustomed with C/C++, here will always be JAL language.
Regarding to PIC18F2550/4550 availability there are no problems. Is easy to find it on South America continent (I am from Europe) than any other ATmega. Though this is not an obstacle for fans if they find Arduino language to be easy and want to benefit from the huge community of Arduino programmers. How?
Using a Pinguino board (PIC18F2550/4550) with Pinguino IDE(Arduino language for PICs using the humble SDCC compiler). A Pinguino board is more easy and cheap to build by anyone. This is a great example of how to benefit from the both worlds. Right now, Pinguino board is successfully used in South America Universities as an Arduino teaching tool.
"To prefer" is a way of discussion but ... Personally, I like both processors. Right now I just learning PICs but not in an exclusive way (I have an ATmega32 which I bricked already - don't laugh - and I want to unbrick it using PIC18F2550 and JAL language).
"Benefit for PICs users"... well, as I said, we have our own Arduino boards and we can use Arduino shields and also our own.
Is a good way to combine both worlds of fans. AFAIK, Massimo Banzi is an "old" PIC and JAL programmer. In those early times, JAL was a good compiler but lacked many features of modern compilers. Not the case anymore.
There, at Jallib project, we have JAT (in develoment right now but already good results), some kind of JAL to C translator (in fact, is more than that) which permit to program in JAL and target many families of processors. AVR, ARM, etc... As you can see, we (well, some of us) are multiplatform oriented.
And not the last, many beginners find PICs more accessible and start with PICs. Why not have this bridge between the worlds?
We have such boards (Pinguino, FreeJALduino) but here can be many reasons of why to do this:
- you have already an Arduino and fitting an 18F25k22 is more easy this way, because soldering a FTDI chip can be impossible for many. - you cross develop and want to quickly test between the two platforms. - you have a bricked ATmega and also have PIC background. - you are bored by your Arduino? - you are designing a "pure" Arduino board based on 18F25K22 and want to test the concept... - you don't want to make another complex board as is an Arduino clone... - you want to enter inside PIC world without giving up on your Arduino board (psychologically, can be helpful). - just for fun