smallest atmel uC with spi and serial?

i need a really small one, preferably like 8 pins... but ive looked around alot and i haven't found any... does anyone know what the smallest is?

i dont care about memory or any other pins, all i need to use is the miso mosi sck another pin for ss and tx and rx, please help =)

Generally, as they get smaller the serial port disappears. What baud rate(s) do you plan to use?

If you need 'real' SPI (not USI) and a 'real' uart in a smal package, I fear you won't find anything in DIP-8.The smallest ATtiny with a real uart is the 2313/4313. I find using the TQFP-32 ones (e.g. atmega168-au...) very easy to solder.

well im making an mp3 player, but with other features… i wont have enough pins on one arduino so im using two, i didnt want to use two but i have to… is it possible to send songs like from an sd card to an arduino to another arduino through tx and rx?

Why not use a part with more pins instead then? Like ATMega644PA in 44 pin TQFP package? data sheet summary

Plenty of IO that way, 2 Serial ports if needed, more flash/Ram memory for processing. 12mm square package, 0.8mm spacing on the pins. Build it up, jumper it over to a duemilanove to bootload it via the FTDI chip BIT BANG method, will need to do a little research for the fuse setting. The add pins for the ICSP header- which are the 3 SPI pins you listed + power, ground, reset.

An Arduino cant decode mp3…

Maybe he is wiring it up to one of these and wants the extra IO for buttons, screen, etc.

He is reading mp3’s from an sd card with the atmegas so I dont think so.

im not… heres what im doing… im using an atmega644p for the main board… its using the sanguino bootloader to interact with the arduino firmware, from there i have hooked up 8 buttons connected to a piso shift register and that to the 644p, i also have a 5 pin monochrome lcd screen hooked up to the 644, i wanted to have a way to read files from an sd card, be able to display the names on the screen and also play them, i bought the sd card breakout board from

and a vs1003 mp3 decoder breakout board from

and i figured out that im going to need more than one set of spi pins so i decided to add another arduino, i was thinking of reading the sd card data with one, sending the undecoded data to the 644p via serial and from that have the mp3 decoder hooked up and send the raw data to the vs1003 to be decoded and played

so i wanna know:

  • if you can send raw data like that using serial
  • if you can read files with unknown names from the sd card using the arduino library
  • how to work with the vs1003
  • if there is an easier way to do this =)

i appreciate the help and the concern guys! thanks :slight_smile:

edit: oh and thanks for suggesting rogue robotics board, but i had seen it before and its a bit too big and too expensive for this project

The way SPI works is that all devices share the SCK, MISO, MOSI pins, and you give each one its own SS pin that you drive LOW to enable comm's with a device & then bring back high when done. I don't think you need 2 device. You will send data to the vs1003 at something like 32Kbytes/seconds (128k*2/8) (128K sampled MP3s, dual stereo, 8 bits/byte), which is well within the SPI data capability, and the display is updated at a comparatively rare rate compared to the sound.

So you'll read a block of bytes from the SD and spit them out to the vs1003.

Search the forum, see if anyone has used it yet. I thought about it last summer, decided it was gonna need more coding than I was capable of at the time.

hah great!! =) thanks both of you guys, i guess this is going to be alot easier than i expected! and the sd card question was to read unkown file names, as in search through the sd card, pick the next available file and read it in.