This is where I’ll be uploading builds of AVR-GCC for Windows 32 and 64 bit, which will also include Binutils, AVR-LibC, AVRDUDE, Make and GDB. I’ll be trying to keep the builds up to date with the latest tool releases when I can.
The binaries are built from source on a Debian 11 virtual machine with MinGW (GCC 9.1.0 and older were built on an Arch Linux VM), apart from AVRDUDE where the pre-built binaries are obtained from the official download area. Both 32 bit and 64 bit Windows binaries are provided. There’s probably no benefit from using the 64 bit stuff, but all the cool kids are doing it so why not.
A bash script for building AVR-GCC, AVR-Binutils, AVR-LibC and AVR-GDB from source is also provided below, making it super easy to build these tools for yourself.
Included tools
Tool | Version |
---|---|
GCC | 12.1.0 |
Binutils | 2.38 |
AVR-LibC | SVN with extras |
GDB | 12.1 |
AVRDUDE | 7.0 (Not included in Linux release) |
Make | 4.2.1 (Not included in Linux release) |
Downloads
Older releases can be found [HERE]
Upgrading the Arduino IDE
Upgrading the Arduino IDE is pretty easy, though there could be some incompatibilities with certain libraries. Only tested with Arduino 1.8.13.
- Download and extract one of the downloads above
- Navigate to your Arduino IDE folder
- Go to
hardware/tools
- Move the
avr
folder somewhere else, like to your desktop (renaming the folder won’t work, Arduino has some auto-detect thing which sometimes gets confused) - Move the extracted folder from earlier to the
tools
folder and rename it toavr
- Copy
bin/avrdude.exe
andbuiltin_tools_versions.txt
files andetc
folder from the oldavr
folder to the new one - Done! Open up the Arduino IDE, load up the Blink example, upload it to your Arduino and make sure the LED is blinking!
Build Script
This build script will install the required packages, create directories and build the tools from source. This should work on Debian 8+, Ubuntu 16.04+, CentOS 7 and maybe Arch.
The following toolchain releases are available:
Binutils | GCC | Newlib | GDB | Download link |
---|---|---|---|---|
7.3.0 | 7.3.0 | avr-libc | 7.8 | avr-gcc7.3.0.exe (24 MB) |
2.25 | 5.3.0 | 2.0.0 | 7.11 | avr-gcc5.3.0.exe (20 MB) |
Recommended Tools
For optimal development experience, try
VisualGDB — our Visual Studio extension for advanced cross-platform
development that supports advanced code and memory analysis, easy integrated debugging, powerful custom actions and
much more:
Download
Read more
This tutorial will guide you through the installation and setup of the AVR GCC Toolchain under Microsoft Windows. You’ll also learn how to install some additional and useful tools that will help you write easier your first microcontroller programs.
Prerequisites
What do we need to complete this guide?
- Computer with Microsoft Windows – version 7, 8, or 10.
- Administrative access to Windows.
- One USB port – available for use.
- ISP programmer – type USBasp is recommended.
- AVR-powered microcontroller board – we use, as always, a Tinusaur board.
NOTE: It takes about 2 hours for an inexperienced person to do it.
1. What is AVR GCC Toolchain?
The AVR GCC Toolchain is a collection of tools and libraries used to compile your code for the AVR microcontrollers. This collection includes a compiler, assembler, linker, and some libraries.
Most of the tools are based on efforts from the GNU community (GCC stands for GNU Compiler Collection), and some others are developed by Microchip.
2. What is WINAVR?
WINAVR is a great project or rather was.
It was an installation package for Windows that contained everything you needed to compile your C or C++ code for AVR microcontroller under Windows and most importantly, for people like me, it allowed us to do it in the text console.
The most “recent” WINAVR files are from 2010-01-20. 🙂 In other words, it is outdated.
There are many projects that attempted to replace it but none of them (AFAIK) is extremely popular.
This guide will walk you through the steps on how to setup everything manually. There is no installation package that you could run and that will do everything for you.
3. AVR GCC Toolchain – Setup for Windows
To setup and use AVR GCC Toolchain we need 3 essential components:
- AVR GCC – Windows Binary
- GNU Make – on Windows
- AVRDUDE – on Windows
All the suggested downloads, folders, and file names are based on our own setup and some of them could be changed according to your preferences.
AVR GCC – Windows Binary
Let’s start with the AVR GCC. Let’s download it from the Microchip website.
Toolchains for AVR® Microcontrollers (MCUs):
- https://www.microchip.com/en-us/tools-resources/develop/microchip-studio/gcc-compilers/
On the page, look for “AVR 8-bit Toolchain v3.62 – Windows” or similar.
You will need an account (free registration) to download the ZIP archive. It is debatable if this Free and Open Source software should be put behind a registration wall, but it is rather an ethical issue than legal.
Create a “Programs” folder (if it does not exist already) for the various programs that we’re going to install. The name and location are up to you, those given here are just an example.
C:\Users\MY_USER_NAME\Programs\
Extract the contents of the ZIP file in the “Programs” folder. All the folders and files should be in an “avr8-gnu-toolchain-win32_x86” folder”. Let’s rename that to “avr8-gnu-toolchain” just to simplify thong – it is not required.
The Toolchain is now at:
C:\Users\MY_USER_NAME\Programs\avr8-gnu-toolchain\
The sub-folders should look something like this: avr, bin, doc, i686-w64-mingw32, include, info, lib, libexec, man, share.
Do not add anything to your Windows Environment PATH variable.
Alternatives
There is a very interesting project that you could use as an alternative:
AVR-GCC 11.1.0 for Windows 32 and 64 bit
https://blog.zakkemble.net/avr-gcc-builds/
The AVRGCCStart.cmd Script
It would’ve been very convenient if there was a command that would start the console development environment for us. So, let’s create a short command prompt script that will setup everything for us. Let’s call it AVR GCC Toolchain STARTER.
Instead of adding the file system Path of the Toolchain to the system PATH (in the environment variables) we are going to create that simple command prompt script that will do this only for the command prompt that we will open with that script. The advantage of doing it this way is that we’re not going to “contaminate” the system PATH variable with too many executables and libraries. Doing otherwise might cause issues with some other already installed development environments.
How to create the AVRGCCStart.cmd file?
- Open the Windows Notepad application.
- Press CTRL + S (to save).
- Type in the name “AVRGCCStart.cmd”.
Choose a folder where to save the file – the “Programs” folder is a good choice.
Add the following lines to the AVRGCCStart.cmd file:
set Path=%Path%;C:\Users\MY_USER_NAME\Programs\avr8-gnu-toolchain\bin set Path=%Path%;C:\Users\MY_USER_NAME\Programs\avr8-gnu-toolchain\avr\bin start cmd
That will add what is necessary to the Path and will open a command prompt window.
IMPORTANT: Don’t forget to replace MY_USER_NAME with your username.
Testing
Start the AVRGCCStart.cmd script.
In the command prompt execute:
avr-gcc --version
That should output the version of the AVR GCC compiler. Something like this:
avr-gcc (AVR_8_bit_GNU_Toolchain_3.6.2_1778) 5.4.0
That also means that everything is correctly installed and setup up to this point.
GNU Make – on Windows
In order to package all the compiled C or C++ source code into a HEX file in a convenient way, i.e. by using the so-called Makefile, we need the GNU Make program.
There are many bundles for Windows that contain the GNU Make – we are going to use the GnuWin Packages located at http://gnuwin32.sourceforge.net/packages.html. They are part of the GnuWin (also known as gnuwin32) project at http://gnuwin32.sourceforge.net/.
In the “Programs” folder create a “gnuwin32” sub-folder for the gnuwin32 packages.
Download the Make packages from: http://gnuwin32.sourceforge.net/packages/make.htm
- Locate the Binaries ZIP file. This should be something like “make-3.81-bin.zip”. Download it to your computer.
- Extract the contents in the gnuwin32 folder.
The sub-folders and files should look like: bin, contrib, man, manifest, share.
The make.exe requires some additional libraries, so we should download also the Dependencies (a file like “make-3.81-dep.zip”) from the same page and extract them at the same location.
Optionally, you could download and extract the Documentation.
NOTE: If the GnuWin32 web page does not work for some reason, you can go directly to https://sourceforge.net/projects/gnuwin32/files/make/3.81/ and download the “make-3.81-bin.zip” file.
Update AVRGCCStart
Edit the AVRGCCStart.cmd script – add the following line (before the “start cmd” line):
set Path=%Path%;C:\Users\MY_USER_NAME\Programs\gnuwin32\bin
Don’t forget to replace MY_USER_NAME with your username.
IMPORTANT: Every time you update the content of the AVRGCCStart.cmd script – close its open windows (if there are any) and relaunch the script again, so the changes will take effect.
Testing
In the command prompt execute:
make --version
That should output the version of the GNU Make. Something like this:
GNU Make 3.81
That also means that everything is correctly installed and setup up t this point.
GNU CoreUtils for Windows
Some Makefile files (like ls, rm, mv, mkdir, etc. – those we are going to use later) might need other GNU tools that are part of the GNU CoreUtils.
Download the CoreUtils package: http://gnuwin32.sourceforge.net/packages/coreutils.htm
- Locate the Binaries ZIP file. This should be something like “coreutils-5.3.0-bin.zip”.
- Extract the contents in the gnuwin32 folder.
- Download and extract Dependencies.
- Optionally, download and extract the Documentation.
NOTE: Some of the files in the Dependencies package might already exist in the gnuwin32 folder – it’s OK to override (or skip) them.
Recommended Packages
Grep for Windows: http://gnuwin32.sourceforge.net/packages/grep.htm
Alternatives
- The GNU Make could also be downloaded from the Steve.fi (Steve Kemp) website:
https://steve.fi/software/make/
Please, note that those are quite old.
- Another alternative is the Gow (Gnu On Windows) project – a lightweight alternative to Cygwin.
https://github.com/bmatzelle/gow
Please, note that those are quite old.
Testing
In the command prompt execute:
ls -la
That should list the files in the current folder. Something like this:
total 20
drw-rw-rw- 2 neven 0 0 2021-12-28 17:09 .
drw-rw-rw- 32 neven 0 12288 2021-12-28 15:52 ..
-rwxrwxrwx 1 neven 0 205 2021-12-28 17:37 AVRGCCStart.cmd
That also means that everything is correctly installed and setup up to this point.
AVRDUDE on Windows
When we start compiling our programs and packaging them as HEX files we are going to need a program to upload them to the microcontroller. One such and very popular program is the AVRDUDE. And yes, there is, of course, a build for Windows.
In the “Programs” folder create an “avrdude-mingw32” sub-folder for the AVRDUDE package.
Go to download.savannah.gnu.org/releases/avrdude/ and locate the mingw32 ZIP file.
At the time of writing this guide, the most recent version that works out of the box without the need to install additional libraries and/or packages is 6.3.
Download the AVRDUDE package: download.savannah.gnu.org/releases/avrdude/avrdude-6.3-mingw32.zip
- Locate the Binaries ZIP file. This should be something like “avrdude-6.3-mingw32.zip”.
- Extract the contents in the avrdude-mingw32 folder.
NOTE: The 6.4 version of the AVRDUDE requires the “libhidapi-0.dll” library that might not be available on your computer.
The libusb0.dll problem
This is important!
The avrdude program requires the libusb library located in the libusb0.dll file. Note that this file is not part of the AVRDUDE ZIP package.
The issue could get a bit more complicated because the driver installation procedure described in one of the sections below uses the Zadig (which is a great program). That will place a libusb0.dll file in the “C:\Windows\System32” folder, but that file might not be compatible with our AVRDUDE package.
Here is a short description of the problem. The libusb0.dll comes in 2 flavors – one to be used in the 32-bit and another one for 64-bit software. The AVRDUDE needs the 32bit version while Zadig comes with the 64-bit version.
Here is a solution to the problem. We will get a 32-bit flavor of the libusb0.dll and will put it in the same folder where AVRDUDE is.
Getting the libusb0.dll
The libusb0.dll file that is part of the libusbK project (located at https://sf.net/p/libusbk) is what we need.
The latest suitable release is 3.1.0.0 located at:
https://sourceforge.net/projects/libusbk/files/libusbK-release/3.1.0.0/
Download the libusbK-3.1.0.0-bin.7z file and extract its contents in a temporary location.
Locate the \libusbK-3.1.0.0-bin\bin\dll\x86 folder and the libusb0.dll file.
Check file properties, the “Digital Signature” tab and make sure that it is valid:
Travis Lee Robinson – Tuesday, 17 January, 2012 19:40:19
Copy the libusb0.dll file over to our AVRDUDE folder – avrdude-mingw32.
Alternatives
- There is AVRDUDE (by mariusgreuel) located at https://github.com/mariusgreuel/avrdude. It includes all the necessary libraries in the binary.
NOTE: Might not work on 32-bit Windows.
Update AVRGCCStart
Add the following line to the AVRGCCStart.cmd script (before the “start cmd” line):
set Path=%Path%;C:\Users\MY_USER_NAME\Programs\avrdude-mingw32
Testing
In the command prompt execute:
avrdude -v
That should output the version of the AVRDUDE . Something like this:
avrdude: Version 6.3, compiled on Feb 17 2016 at 09:25:53
That also means that everything is correctly installed and setup up to this point.
USB Programmer Drivers
To upload the compiled and packaged binary code (in the form of a HEX file) into the microcontroller we will need a Programmer. In most cases that is a USB device. A very popular device is the USBasp programmer. Under Windows such devices require an additional driver to be installed for them to work properly.
One of the best and easiest ways to install a driver for that kind of Programmer is to use the Zadig program.
- Download the latest EXE file from https://zadig.akeo.ie.
- Insert your USBasp programmer into the USB of your computer.
- Run the program. You may need to click on some warning buttons that Windows will show you.
- Choose the correct driver which is the “libusbK”.
Note: on 32-bit WIndows you need to choose libusb-win32. - Press the “Install” button.
You might need to wait a minute or two.
Check on Windows Device Manager if the driver was installed correctly.
Testing
Let’s now check if the USBasp programmer could communicate with our microcontroller (ATtiny85). First, make sure that the USBasp programmer is inserted in the USB and connected to the microcontroller board. Execute this command:
avrdude -c usbasp -p t85
The result should be something like this:
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.09s
avrdude: Device signature = 0x1e930b (probably t85)
avrdude: safemode: Fuses OK (E:FF, H:DF, L:62)
avrdude done. Thank you.
If we have a microcontroller different than the one specified in the command (ATtiny85) the avrdude will suggest what it might be.
Other Useful Tools
Those were the minimum tools that we will need to compile our source code for the AVR platform.
The following are recommended but not required additional tools.
Shell – BASH
It will be convenient to have a console that is a bit better than the Windows Command Prompt. A good alternative is the BASH shell. Developed as part of the GNU Project it is now used on many other operating systems including Linux, Android, Mac OS, and of course – Windows.
OPTION-1
We have put together an archive that consists of the bash.exe and a few other necessary .dll files. It is located at our GitLab repository:
- https://gitlab.com/tinusaur/bash-mingw/-/releases,
and also at our GitHub repository - https://github.com/tinusaur/bash-mingw/releases
Download the ZIP archive and extract it at a temporary location.
Copy the “bash-mingw” sub-folder to the “Programs” folder.
The BASH executable will be located in the “Programs\bash-mingw\bin“ folder.
OPTION-2
At Steve.fi – (Steve Kemp’s website) there is a Windows binary for download. It is quite old but still works.
In the “Programs” folder create a “bash” sub-folder for the bash package.
Go to the website: https://steve.fi/software/bash/
- Locate the download link: https://steve.fi/software/bash/bash-203.zip
- Download and save the ZIP file.
- Extract the contents into a temporary location. There will be a bash-2.03 folder.
- From the bash-2.03 folder, copy 2 files: bash.exe and bash.dll, into the “Programs/bash” folder.
- Optionally, you could also copy the .bash.rc file in your home folder:
C:\Users\MY_USER_NAME\
Edit it – if you know how it functions.
NOTE: The executables are really old – some of them date back to 1998, 1999.
Alternatives
- win-bash – A stand-alone bash for Windows
http://win-bash.sourceforge.net - How To Install Bash On Windows 10
https://hackernoon.com/how-to-install-bash-on-windows-10-lqb73yj3
Update AVRGCCStart
Add the following line to the AVRGCCStart.cmd script (before the “start cmd” line):
set Path=%Path%;C:\Users\MY_USER_NAME\Programs\bash-mingw\bin
Replace the line:
start cmd
With:
set HOME=%USERPROFILE% start bash
Testing
Start the AVRGCCStart script.
It should look like this:
bash-3.1$_
Note: You might see some warning messages about a missing “tmp” folder.
Text editor – nano
A console-based text editor will be (optional) a nice finish!
The nano text editor is very popular and is available even for Windows.
GNU nano for Windows is a good option and it is located at:
https://github.com/lhmouse/nano-win
The package could be downloaded from this page:
https://files.lhmouse.com/nano-win/
Look for the latest build at the bottom. Should be something like “nano-win_9732_v5.9-10-ga2d202368.7z”. Download it and extract it into a temporary location. It should look like this:
pkg_i686-w64-mingw32 (this is the 32-bit version)
pkg_x86_64-w64-mingw32 (this is the 64-bit version)
.nanorc
In the “Programs” folder create a “nano” sub-folder for the nano package.
Pick a folder for a 32 or 64 bit version, depending on your computer, and copy its contents (something like bin, share, etc.) to the “nano” sub-folder.
Optionally, copy the .nanorc file to your home folder.C:\Users\MY_USER_NAME\
Alternatives
- nano for Windows
https://sourceforge.net/projects/nano-for-windows/
Note: this is a version of the one above. - nano – Text editor / win32-support
https://nano-editor.org/dist/win32-support/
Note: might not work on a 32-bit Windows.
Update AVRGCCStart
Add the following line to the AVRGCCStart.cmd script (before the “start cmd” or “start bash” line):
set Path=%Path%;C:\Users\MY_USER_NAME\Programs\nano\bin
Testing
- In the command prompt execute:
nano --version
That should output the version of the nano. Something like this:
GNU nano from git, v5.9-10-gbe0fb5d4a
- In the command prompt execute:
nano
That should start the nano editor.
To exit the editor press CTRL + X.
The “^” symbol in the menu means that you have to press the “CTRL” key.
Update AVRGCCStart
Before we start the command prompt with either “cmd” or “bash”, we could go to the Home or other folder (let’s say our projects folder).
Add a line to the script before the “start bash” line:
cd %HOME%
At this point the contents of the AVRGCCStart.cmd file should be something like this:
set Path=%Path%;C:\Users\MY_USER_NAME\Programs\avr8-gnu-toolchain\bin set Path=%Path%;C:\Users\MY_USER_NAME\Programs\avr8-gnu-toolchain\avr\bin set Path=%Path%;C:\Users\MY_USER_NAME\Programs\gnuwin32\bin set Path=%Path%;C:\Users\MY_USER_NAME\Programs\avrdude-mingw32 set Path=%Path%;C:\Users\MY_USER_NAME\Programs\bash-mingw\bin set Path=%Path%;C:\Users\MY_USER_NAME\Programs\nano\bin set HOME=%USERPROFILE% cd %HOME% start bash
4. AVR GCC “Hello, World!”
Let’s now write our first program – the “Hello, World!”.
In the world of microcontrollers, this is the Blinking LED program.
But, before that let’s see if we can write, compile, package, and upload any program.
AVR GCC – The “Empty” Program
Let’s first create a folder (if it doesn’t already exist) where we will put all our projects.
mkdir Projects
cd Projects
Let’s now create a working folder. Let’s call it “avr-gcc-empty”.
mkdir avr-gcc-empty
cd avr-gcc-empty
Let’s write just a few lines of code in a “main.c” file.
Start the nano with a new file – main.c:
nano main.c
Enter the code:
int main(void) { return 0; }
- Compile the source code:
avr-gcc main.c -o main.elf
Note: the result will be an ELF file – main.elf.
We need to convert it to a HEX file,
- Convert to HEX:
avr-objcopy main.elf -O ihex main.hex
The result is a main.hex file.
Let’s see what’s inside of the file:
cat main.hex
The result should look li this:
:10000000CF93DF93CDB7DEB780E090E0DF91CF9163
:02001000089551
:00000001FF
Now, with the AVRDUDE we could upload that file into the microcontroller:
- Upload the HEX:
avrdude -c usbasp -p t85 -U flash:w:"main.hex":a
In this example “-p t85” specifies that the microcontroller is an ATtiny85.
NOTE that this program does not do anything. It is just an example of checking our setup.
We could also take a look at the assembly instructions of our program:
avr-objdump main.elf -d
The result should look li this:
0: cf 93 push r28
2: df 93 push r29
4: cd b7 in r28, 0x3d ; 61
6: de b7 in r29, 0x3e ; 62
8: 80 e0 ldi r24, 0x00 ; 0
a: 90 e0 ldi r25, 0x00 ; 0
c: df 91 pop r29
e: cf 91 pop r28
10: 08 95 ret
If we add the “-Os” the compilation will be performed and optimized for smaller code sizes. Let’s try this:
avr-gcc main.c -Os -o main.elf
Then, check the assembly instructions:
avr-objdump main.elf -d
The result will be something like that:
0: 80 e0 ldi r24, 0x00 ; 0
2: 90 e0 ldi r25, 0x00 ; 0
4: 08 95 ret
It is really obvious that the code size is much smaller.
The real “Hello, World!” program
For how to write a real “Hello, World!” program that actually does Blinking LED look at the “AVR GCC Hello World” tutorial. (COMING SOON)
Welcome to my downloads page. This page is divided into categories for easier navigation. Click on a tab to view the downloads contained within it.
During September 2021 Google changed something that broke all the download links. I’ve manually regenerated them all which involved a lot of copy-and-paste from Google’s control panel so mistakes are possible. Please let me know if you come across a link that doesn’t work or points to the wrong file.
Arduino downloads
gcc 4.9.2 and avr-libc 1.8.1 for Windows
This zip file contains the entire avr-gcc toolchain compiled for Windows users. Please see this article for details. You can also download the g++ ‘forwarding’ hack that permits C++11 programs to be compiled with the Arduino IDE. Please refer to the linked article for details.
Arduino Mega Nokia 6300/N82/N93/E73/N95 8Gb, LG KF700 TFT graphics library
This is the open source graphics library for the Nokia 6300/N82/N93/E73/N95-8Gb QVGA TFT, LG KF700 TFT and Sony Ericsson Vivaz U5 TFT connected to the Arduino Mega over the external memory bus. See this blog post for details and view the source code on github.com to see what’s new and find out if there are any breaking changes that may affect your code.
Now supports the Sony Ericsson Vivaz U5 640×360 cellphone LCD with a Renesas R61523 driver. See this article for details.
Note that ever since I started including compiled .exe versions of the utility programs the Chrome browser has started flagging up a ‘this file appears malicious’ warning when you download the zip. You can safely ignore the warning, even though it looks scary. This problem is discussed at some length here. |
Older versions
The older versions of this library are downloadable from the archive.
TFT graphics library 3.0.1
TFT graphics library 3.0.0
TFT graphics library 2.5.0
TFT graphics library 2.4.0
TFT graphics library 2.3.1
TFT graphics library 2.3.0
TFT graphics library 2.2.0
TFT graphics library 2.1.0
TFT graphics library 2.0.0
In response to those who’ve been asking for the datasheet for the Nokia 6300 controller, this is the one that I’ve been working from. While it’s probably not the exact model in the display, it’s close enough that nearly all the commands work.
MC2PA8201 Datasheet
Arduino Mega external memory (xmem) library
This zip package contains the external memory library for the Arduino Mega series of boards. The library is described in this blog post.
avr-gcc 4.7.0 and avr-libc 1.8.0 for Windows
The latest version of gcc and avr-libc compiled for Windows users. Just unzip and use. Click here to read my blog post with full installation details including how to use it with the Arduino IDE
Compiled Arduino libraries
The arduino libraries compiled and ready to link against. Comprises headers, libraries and source code. See this blog post for full details.
Now updated for better space efficiency. Version 1.1 of the libraries are now compiled with -ffunction-sections and -fdata-sections so that you can add -Wl,–gc-sections to your linker options and have the linker garbage-collect unused code and data from the library. This often results in a significant space saving.
The blink example for Eclipse
An example Eclipse project created for the ‘blink’ example. Use the File->Import->General->Existing projects into Workspace option to get the project into your Eclipse workspace.
avr-gcc 4.5.1 and avr-libc 1.7.0 for Windows
Version 4.5.1 of avr-gcc and version 1.7.0 of avr-libc compiled and ready for Windows users to upgrade from WinAVR. See this blog post for full details.
Windows 7 64 bit drivers for the USBasp ISP
There are no official Windows 7 64 bit drivers for the USBasp in-circuit system programmer (ISP). Here you can download a set of free drivers that solve that problem. See this blog post for installation instructions.
The debounced button test projects for Eclipse
These packages contain the Eclipse projects and source code to the debounced button and debounced button with auto-repeat tests.
LCD Adjustments test project for Eclipse
These packages contain the Eclipse project and source code to the LCD backlight and contrast manager test project.
Arduino easing functions animation library
These packages contain the easing functions library source code and compiled .a binary that you can link directly to. See this blog post for details.
These additional packages contain the source code and .hex file for the Eclipse test project that demonstrates the easing functions library. If you are going to compile the test project yourself then you will need both the easing library and the compiled Arduino library from this page.
The Standard Template Library (STL) for AVR with C++ streams
This zip package contains the header files that comprise the SGI STL with additional streams support for AVR microcontrollers. See this blog post for details.
Version 1.1.1
This is the most recent version and is suitable for users of the Arduino IDE version 1.0 or later.
Older versions
The older versions of this library are suitable for users of the Arduino IDE version 0021 or earlier.
AVR STL 1.1.0
AVR STL 1.0.0
The infrared emitter source code
This zip package contains the complete Eclipse project needed to build the infra-red emitter described in this blog post.
STM32 downloads
stm32plus
The C++ library for the STM32 ARM Cortex M3 and M4 microcontrollers incorporating the C++ Standard Template Library (STL). See the introductory blog post and sample code and the 3.0.0 release documentation.
Windows 7 64 bit FTDI drivers for Olimex ARM-USB-TINY-H
This zip package contains the FTDI drivers for 64 bit Windows editions described in this blog post.
Hardware schematics and CAM files
STM32G081 Development Board
This zip package contains the gerber files for the development board project based around the STM32G081RBT6 that you can read about here. This is a two layer PCB that fits within the 10x10cm limits.
Process control: temperature sensing (MAX31865)
This zip package contains the gerber files for the RTD temperature sensor project based around the MAX31865 that you can read about here. This is a 10x10cm two layer PCB.
Process control: temperature sensing (LTC2986)
This zip package contains the gerber files for the RTD temperature sensor project based around the LTC2986 that you can read about here. This is a 10x10cm two layer PCB.
Process control: relays and triacs gerbers
This zip package contains the gerber files for the relays and triacs controller project that you can read about here. This is a 10x10cm two layer PCB.
NXA66 power supply controller gerbers
This zip package contains the gerber files for the NXA66 power supply controller project that you can read about here. This is a 10x10cm two layer PCB.
Nanocounter schematic and gerbers
This zip package contains the schematic, PCB design and gerber files for the Nanocounter project that you can read about here. This is a 10x10cm four layer PCB.
STM32F042 Development Board
This zip package contains the Gerber CAM files for the STM32F042 development board documented in this article. This is a 5x5cm PCB.
Android Bluetooth Reflow Oven Controller
This zip package contains the Gerber CAM files for the android bluetooth reflow oven controller documented in this article. This is a 10x10cm PCB.
Arduino STM32 Graphics Coprocessor board
This zip package contains the Gerber CAM files for the Arduino STM32 Graphics Coprocessor board documented in this article. This is a 100x100mm PCB.
Micrel KSZ8051RNA development board
This zip package contains the Gerber CAM files for the Micrel KSZ8091RNA development board with the Hanrun connector documented in this article. This is a 50x50mm PCB.
A generic optimised 16-bit LCD adaptor for the Arduino
This zip package contains the Gerber CAM files for the generic optimised 16-bit LCD adaptor documented in this article. This will fit in a 5x5cm PCB.
Andy’s Workshop Sprite Engine
This zip package contains the Gerber CAM files for the FPGA sprite engine documented in this article. This is a 10x10cm PCB.
Andy’s Workshop Reflow Oven Controller
This zip package contains the Gerber CAM files for the reflow oven controller documented in this article. This is a 10x10cm PCB.
Micrel KSZ8051MLL development board (Mk2)
This zip package contains the Gerber CAM files for the Micrel KSZ8051MLL development board with the Hanrun connector documented in this article. This is a 5x5cm PCB.
Micrel KSZ8051MLL development board (Mk1)
This zip package contains the Gerber CAM files for the Micrel KSZ8051MLL development board documented in this article. This is a 5x5cm PCB.
Sony Ericsson Vivaz U5 LCD development board
This zip package contains the Gerber CAM files for the Sony Ericsson Vivaz U5 LCD development board documented in this article. The PCB is 10x10cm so bear that in mind when using an online printing service.
LG KF700 LCD development board
This zip package contains the Gerber CAM files for the LG KF700 LCD development board documented in this article. The PCB is 10x5cm so bear that in mind when using an online printing service.
Arduino Nokia N82 development board
This zip package contains the Gerber CAM files for the Nokia N82 development board documented in this article. This is a 5x5cm PCB.
Arduino Nokia E73 development board
This zip package contains the Gerber CAM files for the Nokia E73 development board documented in this article. This is a 5x5cm PCB.
Arduino Nokia N93 development board
This zip package contains the Gerber CAM files for the Nokia N93 development board documented in this article. This is a 5x5cm PCB.
Generic Nokia hacking board
This zip package contains the Eagle schematic, PCB CAD layout and Gerber CAM files for the generic Nokia LCD hacking board documented in this blog post. This is a 5x5cm PCB.
Arduino Nokia 6300 development board
This zip package contains the Eagle schematic, PCB CAD layout and Gerber CAM files for the Nokia 6300 Arduino Mega development board documented in this blog post. This is a 5x5cm PCB.
Arduino Nokia N95 development board
This zip package contains the Eagle schematic, PCB CAD layout and Gerber CAM files for the Nokia N95 Arduino Mega development board documented in this blog post. This is a 5x5cm PCB.
16 channel level converter
This zip package contains the Eagle schematic, PCB CAD layout and Gerber CAM files for the 16-channel level converter documented in this blog post. This is a 5x5cm PCB.
Arduino 512K SRAM expansion
This zip package contains the Eagle schematic, PCB CAD layout and Gerber CAM files for the 512K SRAM expansion module documented in this blog post. This is a 5x5cm PCB.
Nokia 2730 development board
This zip package contains the Eagle schematic, PCB CAD layout and Gerber CAM files for the Nokia 2730 development board documented in this blog post. This is a 5x5cm PCB.
dotnet add package autom8ed.com.compilers.avr-gcc --version 3.5.4
NuGet\Install-Package autom8ed.com.compilers.avr-gcc -Version 3.5.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module’s version of Install-Package.
<PackageReference Include="autom8ed.com.compilers.avr-gcc" Version="3.5.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add autom8ed.com.compilers.avr-gcc --version 3.5.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: autom8ed.com.compilers.avr-gcc, 3.5.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install autom8ed.com.compilers.avr-gcc as a Cake Addin
#addin nuget:?package=autom8ed.com.compilers.avr-gcc&version=3.5.4
// Install autom8ed.com.compilers.avr-gcc as a Cake Tool
#tool nuget:?package=autom8ed.com.compilers.avr-gcc&version=3.5.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.