When writing code for the ATtiny family of microcontrollers such as a the ATtiny85 or ATtiny10, people usually use one of two methods: they either add support for the chip in the Arduino IDE, or they crack open their text editor of choice and do everything manually. Plus of course there are the stragglers out there using Eclipse. But [Wayne Holder] thinks there’s a better way.
The project started out as a simple way for [Wayne] to program the ATtiny10 in C under Mac OS, but has since evolved into an open source, cross-platform integrated development environment (IDE) for programming a wide range of ATtiny chips in C, C++, or Assembly. Not only does it integrate the source code editor and programmer, but it even bundles in documentation for common variants of the chips including block diagrams and pinouts; making it a true one-stop-shop for ATtiny hacking.
His IDE runs under Java, including OpenJDK, and [Wayne] provides a stable pre-built executable for those who don’t want to clone the whole GitHub repository. He’s included the GNU/AVR toolchains, though notes that testing so far has been limited to Mac OS, and he’s interested in feedback from Windows and Linux users. Assembly is done either with GNU AVR-AS, or an assembler of his own design, though the latter is currently limited to the ATTiny10.
To actually get the code onto the chip, the IDE supports using the Arduino as a programmer as well as dedicated hardware like the BusPirate or the USBasp. If you go the Arduino route, [Wayne] has even come up with a little adapter board which he’s made available through OSH Park to help wrangle the diminutive chips.
The ATtiny10 might have something of a learning curve, but in exchange this family of tiny microcontrollers offers an incredible amount of capability. When you’re working with what’s essentially a programmable grain of rice, the only limit is your own creativity.
23 thoughts on “A Tiny IDE For Your ATtiny”
Time to use the ATTiny10 samples I’ve gathered over the years.
Nice one, getting back to these from the silabs/cygnal 8051 series, neat looking tight software, thanks for posting :-)
You could also just use Atmel studio.
It only runs on Windows
The high point for Atmel Studio was version 4. After that, I just used my own makefiles: https://github.com/macegr/AVR-Makefile/blob/master/Makefile
I like this mini-IDE, reminds me of Back In The Day, when you had a little mini IDE for every chip and it felt like they cared.
> When you’re working with what’s essentially a programmable grain of rice, the only limit is your own creativity.
It seems everyone suspects creativity fades away with the rising amount of pins available.
So imagine what all you could do with a 2-pin (GND/VDD) Tiny0!
Quite a lot, actually. As long as there’s a way to modulate the current draw of the chip and measure its Vcc internally.
Think of a “smart resistor”, and what you could do with a component that can do arbitrary programmable V-I curves.
Indeed & next mod is tuneable ir/visible/uv led one side with wide spectral phototransistor other side of course running at 1mA doing 100mips with plenty of ram/Earom etc better still do the full bidirectional led photo transistor both sides to my it’s thing mapped data transfer across widest spectra. Could even program the flash that way too !
Yes… that was the direction I was thinking into: With 1-Wire over power or capacitive or inductive (on die coils?) links between units, we could have a lot of fun with zero-pin controllers.
But OTOH I am not willing to declare tinkering with chips with lots of pins being uncreative.
what’s wrong (apart from it being a resource hog) with using eclipse?
Pretty sure you just answered your own question.
If some people don’t like to use the Arduino IDE because it’s perceived to be too heavy, why would they use Eclipse instead?
The Arduino pseudo IDE (as it isn’t really an IDE) is pretty unusable, period – for anything longer than a page or two of code. It recompiles everything each time, makes working on code in different files difficult, doesn’t support debugging, etc etc etc etc. It really is useless for anything apart from simple code doing mainly one thing…
Yes, eclipse is a resource hog, but it has the functionality to actually write code. You just need to not have too many projects in the workspace, and a decent PC to run it on…
Glad somebody mentioned it. The Arduino IDE isn’t “too heavy”, it just sucks
ian 42 says: “what’s wrong (apart from it being a resource hog) with using eclipse?”
There are lots of answers to your question out there. Do a Web search for these keywords: Eclipse IDE Hate
My brief take:
Eclipse is (usually) a mess to work with. It’s like a machine where every single part is made by one person and all the people making all the parts don’t cooperate closely with each other. The result is sub-optimal (to be diplomatic about it).
It is possible for some well disciplined developer to make something beautiful based on eclipse. But that is rare. Instead you usually get a mish-mash of plugins that try to work together to accomplish something – but don’t (at least not well). Also, eclipse can be (and usually is) bloated and slow.
For the record, I didn’t intend to imply there was anything wrong with using Eclipse if that’s what your comfortable with. Just that it doesn’t seem to be very common for this kind of task (at least judging by the projects which float by our way).
I’ve tried to use Eclipse many times, and never got it to work. Rage quit every time. It is the reason I was never able to develop for Arduino.
What is wrong?
The UI doesn’t make any sense at all? It has a million menu options at all times and no sense of context.
Microcontroller support is dependent on plugins and it doesn’t tell you when plugins are incompatible; it just doesn’t work!
For Android, somehow a special menu is required to load demo programs and they won’t actually build if you just try to load the project like a normal program.
Just try getting Arduino library support and the debugger to work in the same program. For that matter, getting Arduino support to work correctly on an ATtiny or an STM32… wasted 7 months of my life on that one.
Seriously, can Eclipse just die in a fire already?
First sentence should be ” never ab,e to develop for Android”. Sorry.
Useful link: https://www.tindie.com/products/Rabujan/attiny10-breakout-board/
This was supper helpful to me,
Nice. (apart from the eclipse hate ;-) )
It’s nice to see that I’m not the only one who does ASCII-art pinouts
Emm…I personally was using MS Visual Studio with Visual-Micro plugin I doubt there is a tool more capable than VS.
Code::Blocks works nicely for me. It’s cross platform IIRC, and supports lots of compilers, targets and asm/C/C++ and others.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)