Suggestion: a Multimedia board for mbed

22 Aug 2011

Hello guys!

Some days ago I read this entry on the blog: http://mbed.org/blog/entry/On-the-mbed-Whiteboard/ and I had some ideas, which I decided to put on practice (almost). Instead of making a generic board to be used in workshops, I though that a board with a theme would be more interesting. So it came to my mind a multimedia board, because playing with it is always fun. I made that project in my spare time (my college are in a strike, so I have some spare time right now). I have no interest in producing and selling that board, so, if there's anyone interested in producing it, I will provide all the files needed (free of charge). As I couldn't test the circuit, it is important to check if it is right or not.

So here are my global goals:

  • Have the size of a credit card (don't know why, but it sounded as a nice challenge, and I love challenges)
  • Graphic and colorfull display
  • Touch screen sensor
  • Sound capabilities
  • Buzzer
  • Accelerometer
  • SD Card
  • Ethernet
  • USB
  • Some buttons
  • Use parts that have some firmware already developed for the mbed to make it easy to support.

What can be done with that board?

  • Create rich user interface that can be intercted via touch screen
  • Play sounds, that can be read from the SD Card (maybe mp3, who knows)
  • Make a web radio receiving the stream via ethernet from internet radios
  • Create sound effects that can be applied to sound coming from the line in or microphone in
  • Play games using buttons, accelerometer, touch screen, reading files from the sd card and playing sounds on the buzzer and/or the line out
  • Play multimedia files (music, photos, videos) from the sd card or the from a computer, via USB

These are just some suggestions.

Enough talking, let's go to the pictures. Here is some rendering of the board: /media/uploads/Xultz/panel.png Here, you can download a file to have a better looking on the 3D view of it: http://www.4shared.com/file/0x8T9ire/MBED_Multimedia.html. To play with this file, you need to install the eDrawings Player from SolidWorks (free): http://www.edrawingsviewer.com/

Better resolution pictures can be downloaded from here: http://www.4shared.com/file/FLtwYsRH/render.html The board have the size of 89.9 x 56.7 mm which is pretty close to a credit card size (which I think is 85.60 × 53.98 mm, I don't have a credit card). Here, you can take a look at the schematics: http://www.4shared.com/document/KntZRIYF/MBED_Multimedia.html

For the display, I put the TFT Board from Mikroelektronica http://www.mikroe.com/eng/products/view/474/tft-proto-board/ which have firmware support for the display and for the touch screen: http://mbed.org/cookbook/SPI-driven-QVGA-TFT and http://mbed.org/users/dreschpe/notebook/touchscreen/. split the connector in two parts, in order to use only the minimum pins needed, and save some space for the sd card connector. As I never played with that display, I'm not sure if it is enough, but I think it works. The connection is made via SPI, which is shared with the sd card. So, it is not possible to access the display and the sd card at the same time, but I don't think it will be a a huge problem. I put some capacitors in the analog lines connected tot the touch screen sensor. I don't know if it is a good idea or not, I saw lots of glitches in the analog ports (and a lot of other persons too), but I'm not sure if the capacitor causes interferences in the touch reading.

In the center of the board there's an aceelerometer ADXL345, which has support here: http://mbed.org/cookbook/ADXL345-Accelerometer. It is connected via I2C. The same I2C bus is shared with the audio codec TLV320AIC23B which has support here: http://mbed.org/cookbook/TLV320AIC23B. I put all the audio IO's on the board: line in, line out, headphone out and MIC in. I put a 12MHz crystal on it, but I'm not sure it is right. It wasn't clear from the datasheet to me. I have lot's of doubts about the I2S connection, it isn't clear to me as well from the LPC ant TLV320 datasheets. So, if someone could do a check, it would be nice.

I put a potentiometer, which can be used to control audio output volume, or anything else. And four push buttons, all connected to free GPIO's. In order to play a little bit with the PWM port, I put a buzzer which can make some beeps at the PWM frequency output.

The connection to the outside world can be done via ethernet (I chose a connector with two leds, but I'm not sure if it is important, but is always nice seeing leds blinking), a USB port, and there is still possible to use the USBserial from the mbed usb connector. Here is possible to check the parts list: http://www.4shared.com/document/1PA6IqK9/MBED_Multimedia.html. The price calculated, using Digikey as a base for the parts price, including the TFT board from Mikroelektronika (tagged as US$31) is US$51,00.

Again, I will not produce that board, it there's anyone interested, I will provide all the files needed (or the whole project, made in Altium S08). If anyone founds any (or some, or lots of) mistake in the circuit, please let me know and I will correct it ASAP. And if someone has suggestion to the circuit, I would be glad to hear. I can be contacted via email too: xxultz at gmail dot com

Cheers
Xtian Xultz
Curitiba - Brazil

05 Sep 2011

Hello Xtian, nice work ! The capacitors in the analog touch lines can be to big - 100 pF. My program is doing some filtering to get a stable result. The schematic looks good. I would connect the unused pin 10 to a pad. How many layer has your board ? if you add a USB host connector it will be possible to use things like the small bluetooth.

Peter