Highly Liquid Forum facebook twitter google plus rss feed
Old 03-14-2013, 08:23 PM
John's Avatar
John John is offline
Join Date: Jan 2009
Posts: 3,007
Default Dedicated MIDI products vs Arduino

B. writes:

Before I form an account to your forums and make purchases, I am curious how the midi CPU, midi encoder, and the retrofit differ from what is possible on a platform like the Arduino board (with midi library). I know that a lot of people have attempted to make midi controller and such with those boards, some better than others. Your brief thoughts?

For clarification,
I didn't want to suggest that arduino would be better, was just trying to understand the difference between midi from your PCBs and something more homebrew like arduino that requires programming. I'm assuming there might be latency issues using a microcontroller vs a dedicated platform like the retrofit. Do you have any knowledge of this?
Good questions! Here are my thoughts. This is very general, but if you have a specific application in mind, I might have more ideas for you.

Arduino: you will have to program all of the behaviors that you want. This will probably take much longer than configuring the HL product for the functionality you need.

Highly Liquid product: All of the "heavy lifting" of programming is already done for most of the use cases in MIDI I/O. All you have to do is "configure" the board, which means that you select a variety of functions that you need and combine them in a way that suits your project. HL stuff is compliant with all of the details of the MIDI protocol, which takes some time to learn if you implement it yourself.

To put it another way: Arduino would be good if you want to learn about microcontroller programming, don't mind the extra work involved, and have more time to do troubleshooting. HL is good if you want something that takes a very short time to set up and will work flawlessly.
Arduino: Most Arduinos do not have standard MIDI ports (but maybe some do?). So you'll probably want to connect the board to your computer, and convert the USB serial data to MIDI with a special serial-to-MIDI driver.

HL product: All of the HL MIDI products have real, hardware-based, standard-compliant MIDI ports. So after you wire up a 5-pin MIDI connector, the board will talk with any other device that has a MIDI port. To connect the HL board to talk to software on your computer, you can use a USB MIDI interface.
Latency and Efficiency
Arduino: The speed of code execution depends on the speed of the microcontroller on your particular Arduino variant, and also on the quality of the code you write. Easier, higher-level programming techniques tend to result in slower code. That said, I'm sure that an able programmer can get good stuff out of the Arduino platform.

HL product: I write the firmware in assembler, and I optimize it as much as possible. In general, whatever latency is introduced by an HL board is trivial (microseconds) compared to the inherent latency of a MIDI message (~0.5 - 1 millisecond).

I've been coding microcontrollers for MIDI for about 10 years (embedded electronics for 15+). Essentially, you are buying that experience when you buy the HL board.
Arduino: There must be a gazillion coding examples out there. I'm not sure you'll get tons of programming assistance from the vendor who sells you the board.

HL product: You get advice here on the forum from the same person that designs the product. If the product can help you with your application, I will show you how. If not, there's a good chance that I will implement a feature to solve the problem. Lots of features (and entire products) have come about because of customer requests.

With the Highly Liquid product, you benefit from the experience of the thousands of customers that came before you.

Last edited by John; 03-14-2013 at 08:28 PM.
Reply With Quote

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 02:33 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, vBulletin Solutions, Inc.