Getting up and running with the iLabs Mini

Materials needed

Parts:

Required tools:

Also useful:

Step 1: Solder board

Solder SMT chips. Solder SMT passives. If you want to use a 6MHz clock, you can omit J1, J2, C3, C4, and the crystal. If you want to use your own clock, you can omit J3. You may also omit C10 and C6, which are additional power supply bypass capacitors. If you want to use your own analog 5V power supply (for cleaner power than the 5V from the computer), you should omit J5, and possibly, J4. Finally, solder the through-hole parts.

If you do not know how to solder properly (most college-trained engineers do not), Weller has an excellent document on the topic available as a free PDF.

Step 2: Program USB chip

This step needs to be done under Windows, using the MProg utility from FTDI's web page. You will want to reprogram the USB chip such that:

Before you start making changes, download the configuration from the USB chip. You will need to save your configuration before the software will allow you to flash the FTDI chip (it has a funky separate edit mode for making changes, and program mode for setting them).

Step 3: Program microcontroller

Use avrdude under GNU/Linux to program the microcontroller with your firmware. Be aware that you need to reprogram the fuses to make the chip compatible with your clocking scheme.

To use the 6MHz oscillator from the USB chip, CKSEL3..0 should be set to 0000. SUT may be conservatively set to 10. The system clock prescaler should be disabled. This gives the fuse settings of: 11100000. To set this from AVRDude, run:

avrdude -c dasa -p m48 -P /dev/ttyUSB0 -U lfuse:w:0xE0:m

To use an external clock chip, the fuses will be set differently depending on speed, but generally, they will be CKSEL3..1 is 011 (for fast crystal), CKSEL0 is 1 (for conservative crystal), and SUT is 11, giving fuse settings of (the below is untested – it is from extrapolated from the sometimes buggy spec sheet):

avrdude -c dasa -p m48 -P /dev/ttyUSB0 -U lfuse:w:0xF7:m

NOTE: Be very careful programming the fuse bits. If you program the fuse bits incorrectly, your Mini will turn into a brick.

The next step is to upload the firmware.

Step 4: Test the Mini from a terminal program

Step 5: Connect the Mini to the Mini iLabs lab server