Adding Wiring S board to Arduino IDE

Adding another board to the Arduino IDE.

So far I found that the boards.txt file and the Cores folder needs additional information for the new board.

Does anyone have experience how to add the Wiring S board?

The board has a Mega644PA.

I am;

  • using a usbtinyisp external programmer ex Sparkfun
  • ICSP pins are configured the same as for an UNO or mega2560
  • need to add the 644PA data

It would be very helpful if there was a tutorial how to add any device to the IDE, well at least the 8 bit types.

"It would be very helpful if there was a tutorial how to add any device to the IDE, well at least the 8 bit types."
Agreed.

Until then, you can look at how maniac bug created the '1284P files and follow the same for the 644A.

  • copy the boards.txt entry, make a new section for the new chip with the smaller memory size
  • confirm that avrdude.conf has an entry for '644A, if not copy the 1284P section and change the signature bytes and memory size
  • pins_arduino.h exists for a couple of pin mappings. The Bobuino variant for cards like mine, where I tried maintain pinouts for shield compability, and the other variants which are more like Sanguino pinouts, where D0 starts at the corner of the chip.
    Cross Roads Electronics D0, D1, for Serial. D11-12-12 for SPI.A4/A5 for I2C.
    http://sanguino.cc/
    Follow the same Variants formatting for file placement that maniacbug did.

Thanks for the leads.

Yes it's quite messy doing it this way but it's all there is at this stage.

I propose that perhaps Arduino, who have the software, add this following functionality to the IDE.

Instead of locking the boards menu to a few simple options, allow each user to enter the 8 bit device they are using. The IDE then updates the boards.txt and adds the new Core functions to the Cores Folder - much easier to do once the IDE is the handler, not the user.

It may be possible to also add 16 and 32 bit AVR devices and perhaps even ARM cores once the IDE has evolved.

There is a need for this type of IDE rather than using more complicated and cumbersome types such as Studio6, Atmel32 etc.

For most work the Arduino IDE is fine, but it really does need to have this new 'Core' choice functionality to make it a versatile IDE.

Perhaps Arduino engineers could think about that - it will make this IDE quite powerful.

There are a couple of threads going on updating the IDE - browse for those and join the discussions.

I added the Wiring board to the boards.txt, but the IDE cannot see it - likely due to some missing core data in the cores folder, however, no procedure to follow to complete.

I found a site that gave the fuse data - its a fuse calculator;
www.frank-zeal/fusecalc/fusecalc.php?chip=atmega644pa

However the unlock bit data is missing.

And of course, it is uncertain if this fuse calculator is correct.

There is more to this procedure, but cannot find a way to complete - maybe Arduino can tell everyone how they add a microcontroller, then everyone will benefit.

For those interested there is some more information about this topic.

First the mega644pa in my Wiring S board seems to have a fault.

I used the WinAvr Programmers Notepad for the testing as this quite a good C++ interface and has no issues that might be a problem in either the Arduino or Wiring IDEs.

If you need a good tutorial about how to start off with Programmers Notepad lookup www.newbiehack - some basic videos on how to program and set up AVRs.

The good thing about Programmers Notepad is that you can setup and test just about any Atmel AVR controllers- 8 to 16 bit. Not sure if it does 32 bit, but it handles mega and xmega chips.

Avrdude replied that device signature was different from that expected - it was close, only one hex character different, but not close enough.

So I used one of my 328p chips in the Eleven board to test the problem.

Avrdude replied with a success in the CLI.
The code was: Avrdude -c usbtinyisp -p m328p

And the chip initialization passed.

So the 644pa has some type of internal fault associated with ICSP.

Arduino has replied to me that only their boards are available and they don't seem to have any plans to open it up for all and any AVRs, for this you might need to use Programmers Notepad, but it is pure C++ based not Arduino speak.

However the Programmers Notepad is a good place to learn about C++ programming, how the device Port system works and allows the user to really get into some powerful C++ features.

I would suggest to use both IDEs and even try Atmels Studio 6 which has a lot of usefull information about all the devices including fuse data.

I think that finishes this thread for me, good luck.