Skip to main content
Topic: Internet radio addin board. (Read 4840 times) previous topic - next topic

Internet radio addin board.


I have been thinking for a while now that a addin board for the webserver would be a good idea. Also i have allways like the idea of the development kit from microchip.
After a quick PM to ian he suggested to start up a thread so here we are.

My idea is to create a addon board with the same basic features from the internet radio board from microchip to allow it to stream audio and possibly even play mp3's etc from the sd card.

for those not familiar with the microchip board see

from what i can see, the following would need to be implemented.

1. 2 x SRAM chips. may as well start with the micro chip ones.
2. VLSI VS1011E MPEG Audio Codec. again lets start with the same one they use and evaluate from there.
3. LCD display. my idea here is a simple character display as from what i have found and from what ian has mentioned a graphic display is harder to source. lets not rule it out though.
4. some buttons for input.

the first problem i saw was that theres not enough i/o to run all this directly to a addin board. from my calculations there is the 8 i/o on the expansion header and 4 pins for the SPI header.

since the 2 ram and the audio codec seem to be spi as well i figure we can use the 4 spi pins as well as 3 more pins for c/s.
that leaves 5 i/o. now looking at the block diagram in the microchip site the audio chip it seems to require3 more pins. so until i have looked further i will assume that to be the case. leaving 2 more pin, pissibly another c/s pin,
edit: a quick looks at the datasheet for the vs1011  it seems that it requires 7 i/o in total. 3 spi, cs as well as 3 others for data control. On the upside it does have 4 GP io coming out of the chip that we may be able to use for something.

My original idea was to use an i2c i/o expansion board for the lcd like the lcd board on the buspirate. but it seems that we are short on pins.

[s:]Im assuming that if i look i will be able to find a similar chip that uses spi. if it was a 16 i/o chip then we should have enough for lcd + some buttons.[/s:]
edit: quick check of microchips website found a 16 bit spi i/o expansion chip. im sure there are other brands.

At this stage im going to look into this further but if anyone has any idea's and or comments please feel free to post.

Re: Internet radio addin board.

Reply #1
reserved for more info

SPI i/o expansion.
MCP23s17 ... 21952b.pdf
MCP23S18 ... 22103a.pdf (open drain)

VLSI Audio dac chips
VS1011 audio out, mp3,wma
VS1003 audio out, audio in, mp3, wma, midi
the vs1003 would give more room for different idea's due to audio in etc.

Re: Internet radio addin board.

Reply #2
I'm not sure about the expander chip yet. I would prefer to find a serial LCD and do everything over a shared SPI connection if possible. Maybe a 2x40 display like the one Sjaak posted last week?

I haven't looked at the Microchip design yet. Maybe we don't need one or both of the SPI SRAMs with the 33F pic, it has twice the memory of the linked dev board (same chip as #twatch). I haven't read the app note yet, so I'm sure there's a huge piece of the puzzle that I'm missing at the moment.

I will try to order both MP3 decoder chips tomorrow. That part is pretty simple to work with, just feed it a byte of MP3 at a time. I already have various IO expanders and the SPI SRAM chips in the box.

We could port the Microchip example easily, but this might be a fun first project for the uIP stack.
Got a question? Please ask in the forum for the fastest answers.

Re: Internet radio addin board.

Reply #3
@ian, shall I send you a serial lcd? perhaps it is a better idea to use a HD44780 with a i2c or SPI expander. I don't have a reliable source for these displays (I got them from broken phones)

Re: Internet radio addin board.

Reply #4
I like the idea of a spi lcd, possibly even a color display. but half the reason i went with the expander chip was so we could add some buttons for input as well. it change volume and channels etc. plus it makes the display output more generic

is it worth asking seeed for idea's on displays they can source at reasonable cost?
edit : just did a quick search and found this.

maybe something like that is worth considering.

with regards to the sram, from memory it seems that microchip use one for ethernet buffering from the internet to the pic, and they use the second for buffering from the pic to the audio dac. so it makes it easy to have both.
at this stage i would design them in and then see if we can remove them later.

Assuming no gotta's on the audio side of things i think that the 1003 with audio in would be the way to go. due to the extra flexability. but i havnt done any checking of the datasheets yet.

Re: Internet radio addin board.

Reply #5
One thing i just noticed that worries me a little bit.

On the web board there are 3 spi devices. ethernet, sdcard and eeprom. the eeprom is extened to the header which i was looking to use on the new board. it looks to me like the hardware is setup so that each of these devices has there own set of pins for access to the pic. but the pic only has 2 hardware spi ports to share around .

Would this be an issue trying to stream off all three devices at once? just wondering.

Re: Internet radio addin board.

Reply #6
Thanks Sjaak, but I'll try to find something Seeed can source in volume.

I looked over the design last night and noticed the TCP and MP3 buffers. I also noted that the MP3 chip will require at least 7 (?) data pins. An expander chip is probably unavoidable.

I imagine that we can just move the SPI port to different pins as needed, since everything is done in a polling loop.
Got a question? Please ask in the forum for the fastest answers.

Re: Internet radio addin board.

Reply #7
Sorry, this has been on my desk for a few days. I really need to get a proper scanner.
Got a question? Please ask in the forum for the fastest answers.

Re: Internet radio addin board.

Reply #8
nice ian,

as i have said earlier, i think i would dump the 8io chip in favor of a 16 io one.

and what do you think of audio in as well as audio out?