MHVBoard R7 Arduino clone, 328P, V-USB support,20MHz,Proto area,B/board compat

Hi, We have just sent our our latest iteration of the MHVBoard (R7) off to fab :slight_smile: http://www.makehackvoid.com/group-projects/mhvboard-arduino-clone

The MHVBoard is an Arduino clone kit, which does away with a second chip for USB comms, and instead uses V-USB (http://www.obdev.at/products/vusb/index.html) to talk directly to the main microcontroller.

The kit has been designed to run soldering workshops, and is completely hand-solderable, even by complete newbies (all through hole components except for 1 large pin soltage regulator).

Programming is done via the USBAspLoader bootloader (V-USB - A Firmware-Only USB Driver for Atmel AVR Microcontrollers), which presents itself to the computer as a USB ASP programmer, which AVRDude knows how to talk to. Patches for the Arduino environment to teach it about this board are also included.

Since the chip directly has USB support, projects can easily emulate low-speed USB devices using the V-USB library. I have integrated USB Keyboard support into our MHVLib runtime library (http://www.makehackvoid.com/project/MHVLib), and others have written similar libraries for the Arduino environment (Google Code Archive - Long-term storage for Google Code Project Hosting.).

The MHVBoard also has a prototying area available, and our members have successfully used this for various interfaces (displays, nunchucks, etc). I have also built a software controllered 3V->5V boost regulator (using the MHVlib VoltageRegulator driver) in the proto-area so I can run off LiPos, but that is another project :wink:

Other unique features include a 20MHz clock (instead of 16MHz on other Arduino boards), as well as breadboard compatibility. A right angle connector can be mounted along the edge, allowing the whole board to be installed (standing vertically) into a breadboard, with all pins broken out.

Cheers

What's the point of SJ1 and SJ2? Can you actually swap those signals? I thought D+ always has to be on a INT pin.

What is the point of R3?

Exactly what component (like, manufacture part number wise) is L1?

Why is R4 valued 1.5K? You are pulling to 5V there, typically that resistor is 2K or over. I'm just wondering if you had any specific reason.

Is there any reason why you've selected PD4 as the D- signal?

You've removed the "upload jumper" in this revision, so how do you enter bootloader mode now? Plug a wire into PD7? USnooBie uses a button connected to one of the USB data lines to activate the bootloader, so it only occupies 2 pins, not three.

Hi Frank,

SJ1 & SJ2 were supposed to allow you to swap between INT0 & INT1 for V-USB - looks like I stuffed up, I'll have to fix that on the next revision.

L1 is a 10uH through-hole inductor.

Regarding R4, The V-USB docs (and the original Metaboard) both pull up to 5V via a 1.5k resistor: Hardware Considerations - V-USB. Of course, they could be wrong :wink: Do you have any examples showing other values?

RE PD4: that was inherited from the Metaboard.

I am currently patching the bootloader so it will always enter if USB is connected, and exit after a user-configurable (in EEPROM) delay if nothing is flashed. My failsafe was to have the user run a flying lead to ground to force bootloader entry (basically, the same behaviour as the upload jumper).

The USBasp design calls for a 2.2 kohm resistor as the pull-up

Thanks Frank, I'll test and decide what to do. I'm somewhat hesitant to change as the R2 boards also used a 1.5k resistor, and didn't have issues.

It does make sense to use a higher value if possible though, since there would be less leakage current.

While reviewing my changelog, I remembered why I had SJ1 & SJ2 (what I said earlier was errornous). The solder jumpers SJ1 & SJ2 are so you can assign D- to INT0 instead of D+. This allows the user to implement USB suspend: Features by Example - V-USB

ah, that's neat, you should probably make a note of that on your website

Just a heads up that the first batch of the MHVBoard R7 is currently available on the Australian crowdsourcing site, Pozible http://mhvboard.pozible.com. The funding process will finish in the 13th of December, but I will be shipping kits from early next week.

Looks like a nice board, but what's up with the license? It seems quite complex and restrictive for something that's "open". The "short" summary has 20 bullet points in it. A few that seem bad to me:

  • If I make changes, I have to re-distribute both the original and the changed version -- I can see this getting to be a hassle down the road, having to distribute 10 copies of the code to include all the changed things as revisions add up.
  • If I make changes I have to notify all the original authors? I guess it's a nice thought, but encoding it into the license such that if I don't notify them I'm violating the license seems a bit strict.
    And the worst IMO:
  • It says if I modify it and make a product based on it, I can't produce more than 10 units per year??