Custom MF Classic based on ATMEGA32U2 (teensy dev board)

Custom MF Classic based on ATMEGA32U2 (teensy dev board)

Hey guys new to the forums but thought I’d share what I’ve been up to from just lurking in here for the past two months.

I had an AT90usb162 dev board from a previous project sitting around unused and thought that since the midifighter is built on a similar atmel chip I’d give it a go in building a shield for my dev board. So far it seems to work although I got the wrong footprint for the led driver on the board so I’m waiting on new led drivers that will hopefully fit and allow me to have a replica of the midifighter.

I was able to get the midifighter firmware loaded up on the board and ableton recognizes it as a midifighter classic. Just waiting on the led drivers to see if it’s fully functional. What do you guys think? Has anyone else tried using the schematics from the sourceforge midifighter project files to build their own?

Gotta say it was my first time soldering smd resistors by hand and I went with the bigger 0805 which were still a pain to solder.

I nicknamed this project RYO (rig your own) since my approach to this was to replicate the midifighter functionality but allow for easy wiring of any type of buttons. I couldn’t find cheap sanwa’s and got a deal on some other china made arcade buttons so this project is totaling around $80. I still have spare parts to build a couple more if only I can find some more buttons and order additional breakout boards.

My dev board isn’t a a teensy but a similar AT90usb162/ATMEGA32U2 based breakout board from mattair which I purchased for $13+shipping.

I’m about to do a similar thing with a teensy 2.0++ (AT90USB1286) and 74HC4051’s to multiplex additional buttons/faders. Still waiting for parts to arrive, so nothing to talk about as yet.

Hows yours going?

Mark

Sorry for taking forever to respond. So busy with other things and I’m ashamed I let this project go by the wayside for a while now. I did get this set up but sadly the led driver didn’t fit. It’s like less than half a millimeter off from each side for the pins to fit on the pad. I’m good at soldering but this would take too much time and nothing short of a miracle miracle so I might be redoing the boards with the correct sized pad. That’s what I get for not measuring myself and using a default smd pad from a library. I have spare boards if you don’t need LED’s although the pinout for the teensy 2.0+ and the dev board I used is different you could probably solder some wires. If you want me to send you one it’s free just pay for postage I don’t think it’ll be more than a couple bucks but I’ll check if you’re interested.

Ed

fair play … PM your paypal address, and I’ll see what can be done …results to be posted later.

BTW, my teensy project is up to 96 buttons and 60 rotaries at the moment (there’s nothing to see other than wires everywhere so no photos )…things are very complicated ! I think i am reaching the limit of the teensy 2.0+

Here in Chile there isn’t anyone selling Teensy boards, and shipping will take a while.. I can get my hands on this Pro Micro - 5V/16MHz - SparkFun Electronics?

Would be harder to work with? I couldn’t find any MIDI references about this board.

I use the Teensy because it has MIDI native libraries. The other ATMEGA based devboards are only serial out, so you need either to convert via software on the computer, or add hardware to your design.

JSM please keep us posted about you progress on the teensy project! i’m very intrested!

all i can say right now is DON’T TRY THIS AT HOME KIDS.

In all seriousness, adding 100’s of digital I/O’s is pretty easy (albeit repetitive), adding more than 8 (teensy 2.0++) analogue controls is a headache.

They mux okay (it’s just electrical signals) but the programming gets very deep very quickly as for adding encoders …well that’s a few sleepless nights ..

I’ve actually spent more time with the new teensy 3 and that thing although smaller than the T2.0++ with less pins, it’s a completely different beast.

Currently playing with 5 point touch-screen with pretty reasonable latencies. (about the same as a kaoss pad).

I did finish the midifighter classic clone which was really easy once i coded it myself, using other peoples code i managed to confuse the hell of myself trying to read pins that were not connected.

One thing to note, avoid programming pin D6, even with an external 1k pull-up resistor it never fired, after talking to Paul @teensy, it was decided to not bother using it as the internal LED causes conflict.

adding my 2 penneth

Hi All, I’ve got an atmega32u2 board from noogroove (electronics supplier on ebay) which is a micropendous design.

Clearly the atmega32u2 and at90usb162 chips are 2 different chips what I discovered via the a forum post by Dean Camera that they are pin and code compatible, at least as far as LUFA is concerned, with that in mind I setup the winavr/lufa/midifighter development system and rolled my own .hex file.

I had a couple of issues along the way, which I’ve posted information about here: How To Set Up The Midifighter Development Environment - WIN32

With those issues out of the way, compiling was a breeze. I used flip to upload the firmware and then the real fun started. I fired up the latest midifighter utility which recognised that I had a midi fighter connected but couldn’t recognise the firmware, I told it to update but wasn’t holding out much hope as it would get the wrong response back from the chip as to which type it is (the midifighter utility is expecting to speak to an at90usb162 chip afterall).

I was correct, the flashing failed however, I thought that if I could find the firmware file that it was trying to upload to the board then I could use flip and flash it myself.

I searched the forums for methods of recovering and found a thread that suggested using the old MF Update utility, I tried this but it crashed as it attempted to download the firmware, all I got was a 0 byte file and a lot of complaints from windows vista and the app closing.

So I went back to the midi fighter utility, it was actually managing to download a firmware but I had no idea where, it wasn’t in the utility folder. I had a look around the windows temp folders to see what happened when I pushed the update button, sure enough I found it in C:\Users<YOUR USERNAME>\AppData\Local\temp with a filename of qt_temp.Pxxxxx (xxxxx = a random number). From there it was just a simple case of using the atmel flip application to upload the firmware file.

Time for testing, I reset the card and hey presto, 2 drivers auto install and I have a midifighter classic device installed in device manager, I started midi fighter utility and it recognises the atmega32u2 as a midifighter and opens up the menu for it, what’s more, it’s also capable of communicating with the unit.

So there we have it, the atmega32u2 is a drop in replacement for an at90usb162 but with one small caveat, the midifighter utility will not do a firmware upgrade but you can use flip instead.

Regards,
Reggie.