Ok, I can disable nls in the next release
But avrvars.bat will set PATH, which is already deemed as not wanted.
Moreover, avrvars.bat will fail if you move the installation (as opposed to the GNU Tools which can be freely move without almost any restriction)
Please notice that I had a look at MHV to spot potential problems. I don't seek help here, I am reporting back problems that I encountered so that you can improve your distribution.
Comparing the cc1.exe dependencies for your build comparing with my 4.7.2 yields the following:
Accorning to depends, both builds need: CC1.EXE, GDI32.DLL, KERNEL32.DLL, MSVCRT.DLL, NTDLL.DLL, USER32.DLL.
In addition, the MHV build needs: ADVAPI32.DLL, RPCRT4.DLL, LIBGCC_S_DW2-1.DLL, LIBICONV-2.DLL, LIBINTL-8.DLL.
Perhaps it's a good idea to configure Binutils and GCC with --disable-nls ?
This also helps people that seek the web for help with their application code, because they post error and warning in english and not in german, tratitional chinese or khmer
If you did not allow the installer to set the system path, you should run avrvars.bat in the root of the installation to set up your environment appropriately. This is done automatically from the MHV AVR Shell icon that the installer creates in the start menu.
You can see the configure arguments to GCC that I have used here. If you can suggest any improvements, I am happy to hear them.
Having said that, there are other DLLs in the MHV AVR Tools bin directory which are required for other utilities (eg. libusb for AVRDude), so for the general case, I don't think it is reasonable to expect things to work without having established an appropriate environment.
Thanks Sprinter. I was using the latest published release (1.8.0). I'll build from SVN for the next release of MHV AVR Tools (at least until a new release of AVR LibC is released).
MHV_AVR_Tools_20121007.exe has a wrong location of some *.a and *.o files, namely
don't contain any objects from AVR-Libc. The objects are located in the wrong place.
This will lead to dysfunction of all devices with 8-bit spack pointer.
Root cause is presumably that you use an AVR-Libc that does not implement #35407.
Fix is to use AVR-Libc from its current trunk, or at least from trunk SVN 2291 (2012-01-11) or newer.
BTW: Your "Preview" Button shreds the plain text layout and stuffs it all together to one ugly line...
There is a problem in your installer. What I did:
1) Installed MHV_AVR_Tools_20121007.exe with "Add to Path" unchecked, OS = Win2000.
2) Renamed installation directory after install (should not matter, just for completeness)
3) Called avr-gcc by its absolute path name like
$ avr-gcc foo.c
A window will pop up, complain that libintl-8.dll cannot be found, and aborts execution.
Problem is the Windows search policy that does not allow to use LD_LIBRARY_PATH or LIBPATH together with the GCC driver in ./bin that execs, say, ./libexec/gcc/$target/$version/cc1.exe.
Windows will search for the dll in the directory where avr-gcc resides, but not in the place of cc1 et al.
Consequently, one possible fix is to copy libintl-8.dll to the latter directory.
As your installer offers not to change PATH (which is reasonable and appreciated), IMHO it should work properly.
Actually I don't understand why this library is needed in the first place. Maybe you can shed some light on that?
Awesome, thanks for the heads up.
Hi, I have added MHV compiler toolchain support in the Em::Blocks IDE with native Atmel workspace and project loader and with AVR assembler highlighting. If the MHV tools are already installed then Em::Blocks will recognize this. Em::Blocks also supports: - PIC18, 24, 30 and 32 with Mplab8 projects import - Arm with the RealView toolchains and uVision project files - Arm with Yagarto toolchain The current version is 1.80 and at version 2.0 the GDB debugger is a part of the install package. The debugger will support Arm, MIPS, Avr and MSP430. Only the windows version is available right now. You can find the tool here: http://www.emblocks.org/forum/viewtopic.php?f=1&t=37 Maybe this is an interesting tool for your community.
The "HP Everyday Photopaper" I bought today at Officeworks didn't work at all - the paper seems totally impervious to water. Even after about 10 minutes in water it hadn't absorbed a drop. Probably good for photos but lousy for PCB transfer. I guess they've changed the product - today's pack is 200 gsm and has a completely black background package. I found much better results with a pack of ultra-cheap, 100gsm officeworks brand inkjet photo paper. Also, I'll second the other comment re. Brother printers: my Brother HL-5350DN printer, excellent in all other respects, just wouldn't let go of the toner. A friend's 10 year old HP Laserjet worked a treat. Thanks, Ben
The Makefiles in MHVLib use avr-size, so you can use that as a starting point.
Hello, Can you give me an example of how to use the avr-size utility from inside a makefile? Everything i have tried has failed.
Hello, Great hack!
Can I use Arduino Mega 1260 or 2560?
In R2, we have a generic timer class, and VoltageRegulator has been taught to honour te capabilities of the timer.
In R2, setTimes is declared inline, so the compiler can optimise away the bulk of it.
Forgot to reply. While I couldn't find a solution to direct integration of this toolchain with AVR Studio 4.19 (build 730), there is always a project specific workaround. In the configuration options for your project, AVR Studio asks for the location of the AVR-GCC exceutable and the make executable. If you make it point to MHV-AVR toolchain executables, it works out of the box. Only issue is that you have to set this configuration everytime you start a new project. Either way, great job (and ty) for this toolchain.
Sorry, I haven't tried this myself. In principle, it should be possible so I suggest you give it a try, and let us know how you went.
Is it possible to use this toolchain as a drop-in replacement for the AVR GNU Toolchain which I currently use with AVR Studio 4 ? Are there any config files in AVR Studio that can be adapted to force it to use this toolchain?
I just gone through this site and I found it really interesting.
I am currently working on Sure electronics's LED Dot matrix display 0832(DE-DP10XV110) which has HT1632 as a led driver.
I need to interface with PIC16F1937 and display. I am using C code. I try to run but nothing happened.
can you please help me?
If you are using the Makefiles to build MHVLib, you can use whatever editor you are comfortable with (Eclipse projects are provided). I have written a tutorial on how to build with Makefiles.
For documentation, we have API documentation online, as well as walktroughs for a couple of tutorial programs. Further self-documented tutorial projects are included in the download.
Hello, I'm quite new to the Arduino programming but I'm am aware of the core files problems (mostly from other sources). If I install the OSX version of your files can I then use Xcode as the IDE? Can I look at the documentation for your libraries before I install them as I guess the function calls are all different and reusing published code would require a fair bit of retyping? Thanks Michael
Choice of printer is important here - not all laser printer toners are created equal, and each brand will have slightly different melting points. For example, the cheap Brother laser I first tried DOES NOT WORK. I tried 40 passes through the (cheap Lowell from Officeworks) laminator and about 6 minutes of ironing with Press N Peel film and couldn't get anything more than about 10% of my artwork to transfer, and the tracks that did transfer adhered very poorly to the copper. I then tried a Kyocera laser printer, again with Press N Peel film, and it worked 100% perfectly. The toner has stuck well to the copper after about 4 minutes of ironing, and probably requires less time than this. I haven't tried the laminator yet but I'll give it a shot on my next board. Thanks Adr1an for the informative guide!
First of all, thank you so much for the great effort....
am very new for interfacing arduino with ht1632 as i've tried your "simple 16*24" code.. and it works some how.but don't know whether it runs probably or not !
here is a video link for what i 've made,
i'll be grateful if you could contact me.
any reply will do much help.
and thanks in advance
Simple and direct, I love that on business cards, they are easy on the eye and that matters a lot for a first time viewer. Keep up the good work!
AVR-GCC will compile with MingW32 4.6.1 if the libraries GMP, MFFR and MPC are compiled as static libraries rather than shared DLL's.
I have found patches for MPFR and MPC-0.9 which fix the configuration error for shared library compiling, but not for gmp. Sort of ironic that the new release of GCC breaks the configuration of its own required libraries.
The other comment on your biuld is that it leaves the three ( gmp, mpfr, mpc ) library include and object files in the avr-gcc install tree but these are libraries for the windows GCC compiler and so do not belong in the avr-gcc distribution. I have change the build to put them in a separate library directory. This required changing all the shell build scripts, but works fine.
The scripts to download the development environment can be found in the devenv directory of the git repo.
I'll have to upgrade it somepoint, so this knowledge is useful
Have been trying to compile from source over the weekend. ./configure fails in gmp, mpfr and mpc. I tracked this down to gcc spitting the dummy over "-no-undefined" which is a linker option. GCC prior to 6.6 series accepted this and passed on to linker but 4.6 series GCC requires "-Wl,-no-undefine" So all configure files will need to be patched. Seems odd when GCC 4.6.1 mingw compiler refuses to compile GCC 4.6.2 avr.
I was able to get it working. I did not find the file in the older version of the toolchain, so I downloaded the latest version of libusb0.dll. I started by putting a copy of the file into the bin directory. Then I ran AVRdude at the command prompt and AVRdude cam right up. Next I pulled up my project in Eclipse and was able to set AVRdude and download my code.
So anyone running into this problem, just Google (or whatever you use) for libusb0.dll and download the latest version and put it in the bin directory of the MHV AVR Tools installation.
Hope this helps someone. Also just wanted to say thanks for making an alternative set of tools for AVR development. I could use AVR Studio but I just like the Eclipse IDE layout better.
OK, so AVRdude is not working correctly in this new version of MHV_AVR_Tools. My set up was Windows 7, Eclipse 3.6 Helios, with the AVR Eclipse plugin with the .jar file you provide, and the previous version of the MHV_AVR_Tools. That set up was working, including being able to use AVRdude. I downloaded the latest MHV_AVR_Tools_20111106 to test GCC 4.6. So first I uninstalled the previous version of the toolchain. Then I installed the new version. Started up a sample project that compiled, and went to use AVRdude. I could not get AVRdude to run. What I mean by that is within Eclipse you cannot set up a programmer or even edit any AVRdude settings. So I tried to run AVRdude from the command line. It errors out telling me that "libusb0.dll cannot be found". The tool chain is in my system path. I looked in the bin directory and found libusb0.sys and libusb0_x86.dll, but no libusb0.dll. I tried copying and renaming the copies of libusb0_x86.dll and libusb0.sys to just libusb0.dll, but that did not work.
I am downloading the previous version to see if there was a file called libusb0.dll in there. Other than that I am out of ideas. Do you have any suggestions on how to get AVRdude working again? Would just downloading the latest version of libusb0.dll work? If that is possible, where would I put it.
Thanks for any help you can give me,
I probably added it as a requirement for something that I have plans to build, but is not yet included in the release.
I am so glad someone is working on an uptodate avr-gcc for windows environment.
I am keen to remove the default search directories which appear in all the windows avr-gcc's that I have seen, in a similar way to what tdm-gcc has done for mingw32.
see the output of
which starts " c:/Program Files/atmel/avr tools/avr toolchain\bin/../libexec/gcc/avr/4.6.2/" etc.
These search directories clash with the atmel ide install.
The tdm patches to gcc make these search directories relative to the install directory and make the install truely relocatable.
To this end I have read your build scripts. I did not note any reference to ocaml and yet this is listed as a prerequisite for installing from source. At what point is ocaml used
As well as pestering Angus directly, you can pester him on GitHub: https://github.com/makehackvoid/MHV-Space-Probe
Useful bits for the pile are:
The head mechanism (linear motion), laser module, driver motor, eject motor, & any switches you can see.
I have two IDE CD drives in good condition in a box at home that would also be suitable for salvage. Can I add to this "pile"?
If you're still looking for these I have at least the first couple of Maximite issues. If you're looking for the kits I've heard that Altronics keeps selling out, but they also keep getting more in ! Otherwise if you need it now there was a bunch of enthusiasts who couldn't wait had some of their own boards fabbed. Google might be able to find them
I'm interested in a Maximite computer (http://geoffg.net/maximite.html sells the chips). It was written about in March, April, and May of 2011 and also in November 2011 of Silicon Chip Magazine. I'd like to get a copy of those articles, can you help me out? Email me at REMOVETHISthrowawae100@yahoo.com
For now, that is right.
At some point, I'll write a USB Serial driver, but everything so far indicates that performance is going to be horrible.
The next thing I plan on writing is a USB HID console driver for MHVLib (which should be easy enough to port to Arduino), which will allow bidirectional comms via a command line app.
The best solution at this point is to use a USB to TTL adapter (~$3 on Ebay), until I complete one of the above drivers. A much more awesome solution is to wedge a bluetooth ttl board (~$7 on Ebay) onto the prototyping area, for wireless serial shenanigans.
In reply to your Pozible project questions:
1. Yes, I would love your money
2. Yes, but probably not through Pozible. Australian Robotics will likely carry some, and I'll also make them available through NMN.
3. The first boards (for those who have confirmed payments) will ship out as soon as I have all the parts, completed the bootloader and written some assembly instructions.
As long as I understand the design of the MHVBoard, there is no serial communication between the MCU and the computer via the USB link. The USB link is used for code uploads only. Right?
So, if I'm correct, is there a simple way to get feedback from the MCU via the traditional Serial.xxxxx set of commands?
In addition, I have a few questions regarding the pozible.com page:
1 - Will you continue to accept funds when the $500 is reached, which will happen today I guess? :-)
2 - Will you accept orders after 13 dec. 2011?
3 - When will you ship the boards ordered before 13. dec. 2011? In other word, would I get my Christmas present in time? :-)
Thanks in advance.
The MHVBoard only enters the bootloader upon reset. You need to hit the reset button every time you want to upload to the board.
The fade sample in the Arduino environment works on a different pin to the one the LED is hardwired to. You will need to connect an LED between ground and the pin it is trying to alter. The pin it is trying to alter is Aruduino pin 9 (port B1).
Thanks for your reply. In response
 I moved the contents of arduino-0021 up to next level, allowing the move to overwrite
I believe this is what you suggested
 I then ran Arduino IDE, selected: Tools, Board, MHV Board
The Arduino IDE found the MHV Board! Solved, thank you.
 I then compiled "Blink"
Binary sketch size: 1046 bytes (of a 30720 byte maximum) (as before)
 and uploaded "Blink"
Binary sketch size: 1046 bytes (of a 30720 byte maximum)
I had mixed results.
First time, the following message appeared
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
This suggested the contents of the usbasp-windriver.2011-05-28 directory need to be moved
somewhere else so the IDE can find them.
My best guess was:
 copy C:\ProgramFiles\arduino-0022\usbasp-windriver.2011-05-28\libusb_0.1.12.1\USBasp.* (i.e. copying rather than moving USBasp setup information and USBasp security catalogue) to
C:\ProgramFiles\arduino-0022\drivers\USBasp.* where setup information for arduino UNO and MEGA 2560 is found.
 When I uploaded the "Blink" example it seemed to get into a loop (sorry I didn't capture the details)
 When I hit "reset" and uploaded "Blink" again, the light blinked once per second.
 Believing I had the MHV running, I hit "reset" and uploaded the "Fade" example. Nothing happened so I repeated step 7, and again the light blinked.
So I believe my MHV is working, again, thanks to your help. But I don't understand why step 8 (the Fade example) doesn't appear to work.
I see the problem, the zip contains "arduino-0021", which is now within your "arduino-0022" directory
Just move the contents of it up one level and you should be good.
I've also uploaded a patch for Arduino 22 (which includes some new boards, but is otherwise identical).
Hmm, I haven't tested it under 22, I'll install it now and upload a fresh patch.
Help, I'm new to MHV and having trouble making the Arduino IDE see the MHV board. I'm running the IDE under Windows XP. Here's what I've done
 unzipped "arduino-0022" (latest version of Arduino IDE)
(Directory path is c:/program files/arduino-0022)
 unzipped "arduino-0021-mhv" and "extracted all files", extracted files and pointed to "arduino-0022" folder.
(Directory path to MHV specifications is c:/program files/arduino-0022/hardware/arduino/boards.txt)
 installed USBasp driver, device is detected, driver is pointed at USBasp folder, MHV board appears to run under Windows
(Directory path to USBasp driver is c:/program files/arduino-0022/usbasp-windriver.2011-05-28)
 not running on 64-bit machine, skipped 6 Driver Signature steps
 connected Upload jumper (J6) to power MHV board from USB port
 pressed Reset button, LED winks rapidly
 launched Arduino 0022, and select: File, Examples, 1.Basics, Blink
 I'm unable to choose "MHVBoard" from the Boards menu I think the problem is my understooding of "extract it over the top of your Arduino installation" in the 2nd bullet-point instruction of "Getting Started with the MHVBoard in the Arduino Environment".
Here is a directory of folders within "arduino-0022"
I'm sure it is possible to edit hardware/arduino/boards.txt and paste the following lines ############################################################## mhvboard.name=MHV Board
but it would be better to know why the instruction I tried to follow didn't cause that to happen automatically.
What do I need to do to make that happen ? Any suggestions welcome. Thanks. Greg S
I've been reading your work for quite some time, I then got myself a couple of these displays from sure electronics. I bought the green ones.
I've downloaded your files to give it a try, wired everything as described by you, but nothing happens on my display. I'm only using one at this point to keep it simple.
I'm have a Duemilanove, and I am running my display from the arduino's 5 volt port. My display is set to CS1 (Dip swith 1 on, the rest off)
Can you help me out to get this to work? Has anyone succeded working with the green displays?
One more thing, The chip on my display is the Holtek HT1632C, I don't know if that C makes a significant difference at all.
Thanks, and hope you can help me power this things up!
Greetings to you all from Honduras.
I dug thru the horrors that make up my old wardrobe the otherday and found a working an intact robo sapian, My first thought was to make him Bigger!
I think the circuitry could be kept in tact( might need to lengthen the wires), just replacing motors with stronger ones and building a bigger body with maybe pvc?
Now a bluetooth controlled the size of a small child would be an interesting build, a good script combined with the feed back sensors in its fingers would mean it could act as a butler, fetching beer without crushing the cans., Or a (semi) intelligent vice
I forgot to mention that there will be a special session, "Getting Started with FPGAs", this Tuesday after the main show and tell. So make sure to come along if you're interested in FPGAs but never got around to starting - and would like to learn how!
Not as yet.
I have some vague plans to emulate the debug monitor from the Teensy when I add V-USB support to MHVlib, but I haven't started on it yet (and won't be doing so for a while).
I am a member of the London Hackspace developing open source low cost hardware.
I have made up a web connected "Arduino" board which is compatible with MHVboard/Metaboard - I think it is a great way of saving the cost of a FTDI IC or cable.
We're just about to build 100 of these for Hackspace members
However, has anyone come up with an app running on the PC which emulates the serial debug monitor, sending and receiving data to and from the ATmega328 via the Vusb interface?
Is this possible? Vusb is a great idea - but I miss the serial debug window.
Any advice appreciated
Adam will be demoing our new Roland JWX-10 CNC mill/engraver tonight. I'll be demoing the almost-complete MHV Space Probe.
Probably lots of other surprises on the night, as well.
Is there an efficient way of modifying the code to work with my Arduino Uno?
I'm just getting back into AVR hacking after a long hiatus and have been pretty disappointed with the state of the tools. I'm working on a Mac and everything available is either old or poor quality. It's great to see you taking on this task. I'd like to host a version of the tools you've assembled for Mac development if you don't mind. I've started a site (http://avr.marrin.org) and hope to get things together soon.