I'm a big fan of the 1284 as I'm using it on a my custom boards for electronic props for compat games.
I like the idea of an Uno or Mega compatible footprint, although most people using 1284 are probably at a stage where they'd be designing a board, or using something like Crossroads Bobuino board. Still, it's a good idea as another option for people into this nice little MCU with the extra resources that will satisfy many larger projects.
I notice that SPI and UART are on incompatible pins than Uno. The Bobuino pinmapping makes these compatible, RXT/TXD on D0/D1 and SPI on D10-D13. You have SPI on D4-D7 and RX0/RX1 on D8/D9.
Surely a standard shield won't work with your pins as is? An SPI shield may do, if it uses the SPI header, rather than pins 10-13, although I believe the Ethernet shield uses Pin 10 for its SS, whereas you have SPI on D4-D7
The source repository (available via Mercurial, for historic reasons) is updated, but there are not any new .zip file downloads...
I guess I should fix that...
CrossRoads:
Bobuino has SCL/SDA in the correct place too.
Offhand, how did you do this? On the UNO, pins A4,A5 can function either as analog
or I2C [or digital]. Considering the 1284 has 8 ADC channels [on pins 32..40] plus 2
separate pins for I2C [pins 22,23], how could you map these into the A4,A5 positions?
tack:
I'm a big fan of the 1284 as I'm using it on a my custom boards for electronic props for compat games.
I like the idea of an Uno or Mega compatible footprint, although most people using 1284 are probably at a stage where they'd be designing a board, or using something like Crossroads Bobuino board. Still, it's a good idea as another option for people into this nice little MCU with the extra resources that will satisfy many larger projects.
I notice that SPI and UART are on incompatible pins than Uno. The Bobuino pinmapping makes these compatible, RXT/TXD on D0/D1 and SPI on D10-D13. You have SPI on D4-D7 and RX0/RX1 on D8/D9.
Surely a standard shield won't work with your pins as is? An SPI shield may do, if it uses the SPI header, rather than pins 10-13, although I believe the Ethernet shield uses Pin 10 for its SS, whereas you have SPI on D4-D7
Please read the 1st post. The board that has been "released" was originally designed to be compatible with the bootloader and pins file from the mighty 1284, the concern was putting data pins in the right locations not any of the secondary (depending on your perspective) functions. The SMD board is much much different and conforms as tightly to arduino spec as I could. But an excellent observation none the less... Thanks!
Bobuino has jumpers that allow A4/A5 to connect to D18/D19, or that allow SCL/SDA to connect to D18/D19. SCL/SDA are also brought to the new SCL/SDA location, and to another set of pins with the other extra pins that the 1284 offers.
hmm so it is, sorry about that. I'm at work now give me a few hours and I'll upload the revision A schematic along with the new version 2.0 dip version and revision b of the SMD version. Now both include jumpers for I2c pullup, disconnect jumper for the d13 led, disconnect jumper for DTR/RESET, and jumpers to switch between analog and i2c for better compatibility.
V2 and SMD rev b tested and good to go. I have 4 extra of each right now if anyone want's one. Asking $60 plus shipping which covers my cost on parts.
Below is a reference picture for size, both V2 and SMD have identical dimensions and they are about 10 - 15mm longer than the uno, otherwise the same dimensions as uno.
Hi guys,
I have one question concerning the pins_arduino.h file.
I'm using the mighty1284p boot loader at for an 8MHz Arduino clone running an Atmega1284p as well.
Is the pins_arduino.h file compiled into the bootloader, so I need to recompile the bootloader after modifying, or is pins_arduino.h
used to compile each sketch in the Arduino IDE, so I will see any adjustments made to the file directly.
I have an Arduino close created based on a 44pin ATMega1284p, and of course since the pinout is different, the Blink Demo is not yet blinking.
Has anybody modified the pins_arduino.h already for the 44pin TQFP Version of the chip already?
Thanks for and hints pointing into the right direction,
Michael.
pins_arduino.h is used to compile each sketch in the Arduino IDE.
it does not vary for DIP vs TQFP. D0 is the same port/bit no matter what. might be a different physical pin, the software does not know/care about that.
pins_arduino.h maps a physical mcu pin (ie PB3, PD4) to an "arduino-like" digital pin (Dx) or analog (AIx) pin. There are several variants of the mapping available, of course you may define another one if required..
The other half of the answer is, as far as I can tell, all of the "newer" maniac 1284 variants use
exactly the same optibootloader, and pins_arduino.h is only used when you compile a sketch for
the particular variant. You can verify this by using the different variants to compile sketches
for a chip with optiboot burned in, and checking which pins the signals go to.
In the boards.txt file, the one line shows the bootloader used, and the other indicates the
pins_arduino.h used when building sketches for the variant. The newer variants all use the
same optiboot hex file.
i have setuped a 1284P on a BreadBoard for testing.
at the moment i have loaded it with the mighty 1284P optiboot 16MHz
but just out of interest i would love to try the 20MHz version.
i have looked at your version and found that you have lowFuse set to 0xD7
if i have interpreted the atmel datasheet the right way this means:
(table based on datasheet page 298; 27.2 Fuse bits and page 31..; 9. System clock and clock options)
[original]CKOUT is explained at page 39; 9.10 Clock Output Buffer: if set it will output the CPU-frequenz on the CLKO pin. (overriding normal port io functionality)
so do you using this for something?
or is there some other thinks i don't know about this? (i am new to bootloaders and system clock..)[/original]
and has someone a nice 'tutorial' how to compile the bootloaders self?
or is it to complicated and you have to know to much background infos?
thanks for your time.
jbaum is using the fix that was discovered on a couple of incredibly long threads about 1284
RX0 problems from back in february 2013. With the fuse bit settings used in the maniac 1284
bootloader files [low power oscillator], chip operation is disrupted because of crosstalk between
RX0 and the crystal pins. Maniacbug still hasn't fixed his files.
Yes, I forgot to mention that a couple of us never saw the RX0 problem with our
boards, but a lot of other people did, and changing to full power oscillator is what
seemed to be the key to fixing it.
On the subject of the firmware, I've found an issue with my digital numbering (some typo's) in my pins_arduino.h file while fixing it I discovered the core seems to be ignoring my port numbering for A0-A7 and always wants to make PA0 A0, PA1 A1 and so on. This appears to affect the bobuino similarly . I'm not real strong in C so it may take me a few days to get it all ironed out but if someone wants to chip in and help find a fix it would be appreciated. I think I have A0 - A5 (PA7 - PA2) working correctly once I have that I'll post the contents of the pins file.