Arduino questions

Marius Kintel EMAIL HIDDEN
Mon Jul 28 14:58:47 CEST 2008


Hi,

I guess you're the same Paul Maddox who wrote the article "MIDI and  
the AVR" for AVR Freaks half a decade ago.
First of all, I just want to thank you for a great tutorial on MIDI!

On Jul 28, 2008, at 2:30 PM, paul.maddox.mail-list at synth.net wrote:

> 1) What's the difference/advantage/pros/cons betwee the two versions
> (Diecimila, minidev board) I assume the minidev board is aimed at  
> embedded
> apps, and the other for integration with USB and a pc?
>
By minidev, I assume you mean the Arduino Mini (http://www.arduino.cc/en/Main/ArduinoBoardMini 
).
The only difference between Diecimila and the Arduino Mini, apart from  
size, is the missing USB interface.
There also is an Arduino Nano, where they added the USB again (http://www.arduino.cc/en/Main/ArduinoBoardNano 
).

> 1a) is ther an option to upgrade the MEGA8 version to the MEGA168  
> version?
>
Yep, just replace the chip. The board should be the same, although an  
older revision.
Note that the older Arduinos have an annoying feature of waiting to  
seconds in the bootloader before they start. This is fixable by  
hacking the bootloader though.

> 2) I've found some code examples but personally I'd like to see some  
> MIDI
> in/out code examples, anyone got any links?
> 2a) It looks like it'd be possible to use the arduinos uart (RX and TX
> pins) to send/receive midi
> (http://www.arduino.cc/en/Guide/Board?from=Tutorial.ArduinoBoard) is  
> that
> correct? but I could be wrong the page seems to imply these pins  
> aren't
> connected to the CPU.
>
As you may have read in another thread, Jay and I are hacking around  
on an Arduino Synth project.
Last week, I hacked together basic MIDI input support (we're using the  
Diecimila):
https://whatever.metalab.at/user/kintel/Arduino/ArduinoSynth/

The code is not pretty at the moment, but you'll get the idea. Any  
insights or suggestions for improvement are welcome :)

Both RX and TX on the Arduino board come directly from the ATmega.  
However, these pins are also used by the USB2serial chip, so some work  
is needed to make them co-exist. At the moment, I have to disconnect  
the midi optcoupler to be able to use serial over USB. This might be  
fixable by using a weaker pullup on the RX pin.


> 3) is there an option for compiling and uploading the compiled code  
> rather
> than interpreting the code 'on the fly' which is obviously slower than
> 'compiled' code.
>
I'm not sure what you're referring to here. The "Arduino programming  
language" is really just C++ (avr-gcc) with some libraries to make it  
easier to use for beginners. Nothing is interpreted. You can look at  
the Arduino board as a normal ATmega developmen board.
Personally I'm using pure avr-gcc and not using the Arduino  
environment at all for some projects.

> 3a) is the boot loader available for download and is it easy to  
> reprogram
> if/when I kill it :-)
>
http://svn.berlios.de/viewcvs/arduino/trunk/hardware/bootloaders/atmega168/

There is a 6-pin ICSP header on the board.

~/= Marius

--
We are Elektropeople for a better living.







More information about the music-bar mailing list