I've been programming it with ICSP, using my Pololu USB AVR programmer, so I can't speak to how it works over FTDI or that Mikroelektronika board (I put the FTDI header on, but didn't buy a Mikro to put on). I still haven't got the Arduino software to be able to burn to it directly (keep getting data mismatch errors when avrdude tries to verify the burn), but after it fails, I can find the .hex file it leaves in the temp directory and burn that using AVR Studio 5. I'll see about getting a picture up tomorrow. For now, it's bedtime. ![]()
amateurasu:
I've been programming it with ICSP, using my Pololu USB AVR programmer, so I can't speak to how it works over FTDI or that Mikroelektronika board (I put the FTDI header on, but didn't buy a Mikro to put on). I still haven't got the Arduino software to be able to burn to it directly (keep getting data mismatch errors when avrdude tries to verify the burn), but after it fails, I can find the .hex file it leaves in the temp directory and burn that using AVR Studio 5. I'll see about getting a picture up tomorrow. For now, it's bedtime.
So basically you haven't proved that you can program the board using the arduino IDE with either ICSP or bootloader. Are you planning on pursuing that 'problem'?
Lefty
I was having the same problem even with just a basic breadboard setup. The Arduino software sees the 1284P, gets the right Device ID response, and I can successfully burn the bootloader and set the fuses. But when I try to actually upload a program, avrdude seems to get the responses it's looking for and sets about programming the chip, but then when it's checking the burn, it gives me a "verification error; content mismatch". It's not always at the first byte, either. On my breadboard setup, the mismatch would happen at 0x0000 or 0x0002, seemingly randomly, but on the board it's happening at 0x0157 pretty consistently. I've attempted to use the IDE to program some other ATtiny's, offboard 328P's, etc. before, and it never seems to work right. The few times I've been able to get it to work, if I change settings to do something else and then change back to what worked, it no longer works. Personally, I just don't think it's worth the effort trying to force the Arduino IDE to do something it is so clearly ill-suited for, when I have a workable, if inelegant, solution using AVR Studio. Arduino IDE works great if you're plugged into an Arduino over USB. Everything else I've tried has been a headache.
Anywho, pictures! If you could all just pretend not to see that poor little polyfuse, I'd appreciate it.
edit: Wow, didn't notice until I looked at the pictures, but looks like I must have hit the female header strip with my soldering iron near D5. Oops... ![]()
Beautiful board!
Regarding burning the bootloader on 1284 and using it with Arduino IDE, did you follow this thread (especially the last few posts)?
Nice job!
Wow, those resistors look so old school now.
I was envisioning the 2x3 header in the corner to be pins also, to select whether SCL/SDA or A4/A5 (or) D18/D19 went over to the shield header.
Did you cutoff the Power header to make it 7 pins instead of 8?
Oh, I thought they were just extra breakouts for SCL/SDA/etc. Oh well, easy enough to remove and replace with male header. The 7 pin one is just because as I was cutting one of the strips of 8 from my big strips of 40, the cut went badly and the 8th one was all messed up. You can see similar damage on some of the other headers, like at D8 and D31, but this was much worse. Most of the fork was exposed, and it was questionable if it would even stay in there. The plastic these headers are made of is pretty brittle. Anywho, since that last spot is NC anyway, I figured I'd just cut the busted one off and use it on the other 7.
..you may try linux on the 1284p then
http://dmitry.co/index.php?p=./04.Thoughts/07.%20Linux%20on%208bit
![]()
p
CrossRoads:
1284 thruhole, Duemilanove style boards are in!
Working! Mostly assembled (no power supply, since I'm using mostly USB), optiboot loaded (using avrdude, manually), and a "blink" successfully uploaded and running. My fuse soldering is ugly too; Hmmph; I didn't expect that to be difficult; it's so big...
Suggestion for future versions: hole for the center GND pin of a resonator (there was plenty of room to scrape off some top soldermask and attach it there, but that lacks a certain elegance...)
Is there a pins_arduino variant for this board? The "Mighty" and AVR-developer pinouts didn't seem to work. What's running here is a direct port IO based off the schematic...
[Edit: Found it. I needed a newer copy of ManiacBug's code, where it is identified as "Bobuino."
I think the others would work also, pins are just mapped differently. If you look at the schematic, you can see where I didn't start with D0 to D7 and working around the ports Sanguino style, but instead tried to maintain shield function compatibility, such that D0/D1 go to the serial port, D11-12-13 are still SPI, A4/A5 can connect as D18/D19 or as SDA/SCL.
I didn't think the fuse would be hard. One not as if one side is the ground plane, just power traces.
I should look into thru hole for that as well.
Ground for the resonator - I suppose you could wire the Gnd to one of the cap holes too.
I was expecting folks to use a crystal there, using a resonator never came up in pre-release design discussions.
(the other 1284 types compiled and uploaded ok, but they didn't blink the LED on pin 13...)
BTW, this also highlighted that optiboot doesn't flash the "correct" pin for LEDs either. It's based on the Sanguino, which had an LED on PORTB0... I'm probably not going to 'fix' this; it would require a bunch of additional 1284 targets in the makefile ![]()
I didn't think the fuse would be hard
I didn't either. It probably won't be the next time, now that I know it requires some special effort. I was expecting the large size to make it "easy", but it didn't. I'm not sure exactly why. Perhaps because there is not much additional "pad" area to put the soldering tip on?
Gonna have to assemble one myself & see about the fuse. I think I have some left from the Bobuino's I built up.
Is it just me or is someone else facing problems while uploading sketches into ATmega1284p using maniacbugs optiboot bootloader?
For the last few days I have been experiencing the problem. The smaller sketches say Blinky codes and all get uploaded fine(with a probability of around 90% ie) it uploads properly 9 out of 10times ) But when the sketch size is larger(Sketch of a project I am working on. Mine around 16-17KB) my rate of uploading correctly drops drastically to around 10-20%
Most of the time it uploades wrongly with the following error... ![]()
avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x64
avrdude: stk500_cmd(): programmer is out of sync
Tried burning bootloader again and still no improvement... (The board and schematics I use ATmega1284P: End to End using 1.0 IDE - #248 by system - Microcontrollers - Arduino Forum)
Has anyone else experienced it??
I was about to try that bootloader if anything else failed, but I got the calunium one working just fine.
I even tried sketches longer than 64k, never had any upload failure (out of a couple dozen or so).
Take a look at my post here:
@flornic
Thanx would check it out... ![]()
If you see my schematic U can see that I use transistors do the RS232 interfacing. Just got me thinking would this be a problem in uploading longer sketches? Any views on this? Or am I being dumb thinking on these lines?
The transistors are just doing level translation from +/-5v (or higher) down to 0-5V. They have no idea about how much data is being moved along.
I use transistors do the RS232 interfacing
That scheme DOES use a capacitor to store the negative voltage for transmissions FROM the 1284 to the PC, which might cause degraded communications on longer communications, depending on the characteristics of the PC-side rs232 port (where it is "stealing" power from.) But I'm at a loss as to how to check for this, or what to do about it.
@crossroads Thanx.
I might be wrong but it just got me thinking like the longer the communication is, it might be screwing with transistor circuit in some way. (Dont know how or what though)
@westfw
Interesting... I am thinking something is happening while in doing longer communication. Thing is (I am observing this pattern or quite some time in this board) whenever there is a failed upload. Tx led remains high for a few seconds and then the entire thing stops and error pops up. While for a successful upload. Tx led lights up for some time and Rx pin in board lights up for a couple of seconds and Voila! its uploaded fine...
I tried changing ICs too still same result. So I am guessing its the board and since its uploading (atleast sometimes) correctly it might be the problem with communication interface with PC in board. (PC is fine becoz I am able to upload the same program to duemilanove clone board without any problems through same COM port)
What kind of rs232 transceiver does the duemilanove clone board have?
You could try the hack where you remove the AVR chip from the duemilanove and use its serial driver to connect to the 1284...
Its got a Max 232ic + DB9 connector interface.
U mean I should wire up the Tx and Rx pins of both pins and give common supplies right?? Brilliant
Thanx...
I will let you know if it works... bit busy for the next couple of day... ![]()

