yampp-3 - Assembly instructions

This page also avilable in German.

This page will describe a controlled way to assemble your yampp-3. Even though you haven't bought the PCB in the Web Shop, you can use this page to get more information about the used components and their alternatives.

I have made a testprogram for the yampp-3 player, which together with the assembly steps on this page, should make sure you'll get your yampp player up and running.


Stage 1 - Make the CPU alive.

Click for large version
Stage 1 components. Click image for larger version.
First we need to make sure the CPU is working correctly.
Mount the components shown on the drawing on the left.
I've marked the cathode end of the LED's with a dot (the cathode end of the led is normally marked in some way).

When done, connect a 5V supply to the power connector. DON'T connect your 30 Amps PC supply or similar, but use a power supply with current limiting, or use a series resistor of about 22 - 33 Ohms. This will limit the current to about 50 mA.

When the power is connected, D1 should be lit. If not, there's a power shortcircuit somewhere, or the LED is mounted the wrong way.
But I'll assume that all goes well, and you can probably remove the series resistor.

Now check the voltage from the LP2980 regulator. Measure the voltage at the wires between L1/C5 and L2/C6. You should measure 3.0 Volt.

Now, the CPU has to be programmed. You can use a number of different programs for this, may I suggest you use mine.

The programming connector J1, has the same pinout as on the STK200 Evaluation Board (and many others). Connect the programmer to J1, and download the testprogram (see bottom of page).
If the CPU identification or programming fails, check the soldering of ALL the pins on the CPU CAREFULLY. Both for bad connections and for shortcuts.

Remove the programming connector and reset the CPU. You should see D2 blink slowly 3 times. (It may blink some more, but ignore that for now). If it blinks, the testprogram is running ok so far.


Stage 2 - RAM and latch.

Click for large version
Stage 2 components. Click image for larger version.
Now mount the 'HC573 latch (IC2) and the SRAM (IC3). I've used IS62C256 SRAM's from ISSI, but there are TONS of compatible SRAMS. Almost any 32K*8 SRAM will do, just make sure it's in the right (SO28) package.
Now, to test the latch and the RAM, reset the CPU and look at D2. About half a second after the the first 3 slow blinks, you'll see D2 blink quickly 3 times. If these 3 quick blinks are followed by 1, 2 or 3 long blinks, there's a problem with the latch or SRAM. 1 long blink indicates that there's a fault in the databus, 2 long blinks indicates an addressbus problem, and 3 long blinks indicates that there is a fault in the device. Again check all pins carefully.
If the RAM test passed, another 3 quick blinks will follow the first after about half a second.

Stage 3 - UART and LCD.

Click for large version
Stage 3 components. Click image for larger version.
Now we'll try to communicate in a little more sophisticated way. Mount the marked components.
Instead of the MAX202 chip you can use any MAX variant that uses 0.1 uF capacitors.

You may not need the contrast potentiometer, as most displays work great with the Vbias grounded. Just make a solder loop between the two via's in the middle of the potentiometer outline.

Connect the RS-232 connector J3, to a serial port on your PC and run Hyperterm or a similar terminal program. The setting should be 19200 bps, 8 bits, no parity. Note that the testprogram code is precompiled for a 7.3728 MHz CPU. If you're using a different frequency, you need to change the F_CPU constants in uart.h and delay.h, recompile and download the new code.

Reset the board, and after the RAM test is finished, you should see the welcome message on your screen. If not, make sure the serial link is correctly connected. Try swap the leads going to pin 1 and pin 3 on J3 to reverse the direction.

When this is working, connect the LCD to J2. Any "standard" LCD with a Hitachi controller and a 14 pin interface should work. Again, reset and you should see the welcome message on the LCD after the RAM tests are finished.


Stage 4 - VS1001 and friends.

Click for large version
Stage 4 components. Click image for larger version.
Again, mount the marked components. Double-check the soldering and if okay, connect a pair of headphones to the headphone jack, a serial terminal set at 19200,n,8,1 to the serial port and power on the board.
You should hear a click when power is applied. If not, recheck the VS1001 mounting.
After the RAM tests have run and you see the prompt on the terminal, press '?' to get the list of available VS1001 tests.
You should see the following :
Test list :
0: Hardware Reset/Check
1: SDI R/W Test
2: Memory Test
3: Dump Registers
4: Sinewave Test
5: Sinesweep Test
6: Volume Test
7: Clock Doubler
The tests are pretty selfexplanatory, but you can find more information on them in the yampp_3_test.c file.
To make a quick check, select test 4. If you hear three 1 kHz beeps, you're home free !

Stage 5 - Finishing up.

Click for large version
Stage 5 components. Click image for larger version.
Now, only a few more things to add. Mount the marked components. Instead of the 3-pin header, you can also mount the IR-receiver directly on the board.
If you have a remote capable of sending REC-80 codes (Panasonic), you can now test the IR receiver.
Again, hook up the serial terminal and restart the board. When the prompt is displayed, press some keys on your remote and you should see the codes dispayed on the serial terminal.

So, that does it. You should now have a fully functioning yampp-3.
Now, get the latest yampp-3 software from the download page and program the player with the new code.
Connect a newly FAT32 formatted disk with some .mp3 files in the root directory, and you should be able to play them.
See the yampp-3 code for the serial interface commands.




Download the testcode for yampp-3 Updated 2002-01-06

Need an AVR programmer ?


You can order the PCB for this project at the yampp Web Shop.

[Home]