What Is This, A Microcontroller Board For Ants?

You youngins probably don’t remember this, but a few years ago there was an arms race on Kickstarter to create the smallest Arduino-compatible microcontroller board. Since then, a few people have realized they can make more money on Kickstarter through fraud or potato salad, and the race to create the smallest ‘duino board petered out.

It’s a shame [Meizhu] wasn’t part of the great miniature Arduinofication of Kickstarter, because this project would have won. It’s an Atmel ATtiny85, with USB port, resistors, diodes, reset button, LED, and pin headers, that is just 72 mils larger than the PDIP package of the ‘tiny85. Outside of getting a bare die of ‘tiny85s, there isn’t much of a chance of this board becoming any smaller.

[Meizhu] was inspired to create this board from [Tim]’s Nanite 85, which up until a few days ago was the current champion of micro microcontroller boards. With a bit of work in KiCAD, the new board layout was created that is just a hair larger than the 0.4″ x 0.4″ footprint of the PDIP ATtiny85. There were a few challenges in getting a working board this small; you’d be surprised how large the plastic bits around pin headers are, but with some very crafty soldering, [Meizhu] was able to get it to work.

79 thoughts on “What Is This, A Microcontroller Board For Ants?

    1. I’d even be in the market for some assembled ones.

      On a sidenote, I always felt that the contempt of using Arduinos in finished projects at least in part comes from their size overhead. I wonder if it would be “more socially acceptable” to use and leave one of those in a finished project.

      1. I leave my ProMicro and Nano often in the project and just use another for the next project, The size of a ProMicro is decent enough to not care about further optimization.
        And yes, I would pay for assebled ones as well.

      2. My problem with them in permanent projects stems from people leaving the jumper wiring in place rather properly soldering a ribbon cable or some such, or at least using a shield to properly plug into the sockets. It’s messy, and leaves things open to issues later. I guess it’s more of a laziness factor. Some people seem to be in a rush to do something rather than taking a little bit of extra time to make sure it’s completely okay.

    1. This is for development. It is meant to run with a USB bootloader and use the Arduino platform. Yes, the chip is not PDIP, but the overall profile is, which makes it easier to breadboard with, as shown in the photo. This also includes USB header and reset button in this small profile.

      I’m with you though on not understanding what the fascination with it is, at least to the Arduino crowd. For such a simple platform as attiny one could just as easily write standard AVR C and program / debug with the proper tool. I guess time fighting with a poor dev environment for a very low spec micro isn’t worth anything? If wanting to do a VUSB target project though, this seems like it could have use.

      However, with how prices for other more powerful or energy efficient micros have been going down recently, I am finding less reason to consider such relatively high priced, low spec micro. So the only reason this seems to exist is for Arduino use. Shame.

  1. The pin header trick is quite neat where the holes are partially drilled so the back of the PCB has some extra space. It is way too fiddly if you’re trying to mass produce this but if you’re just making a handful of devices then it wouldn’t be too bad.

  2. Arduinos really are wasteful garbage. All because you can’t really “program” and have to use crappy, buggy libraries written by somebody else that a lot of the time have no idea what the hell they are doing either. Learn to code for real, people. It isn’t that hard and it is a skill you will always have. Or just keep half-assing your way through life with silly crutches and pretend to be something you are not. And if you really are that infatuated with wasting your money on extra un-needed support hardware, just burn your credit cards. You just got that much closer to the instant gratification you desire.

    1. Or perhaps use it as a stepping stone in your quest to learn programming, or perhaps you just want to get something working and get on with the rest of the project so you can actually enjoy the fruits of your labor.

      Arduino libs may not be the most cleverly written, or even that good in all cases, but for the most part they do work, and they’re all open sourced and easy to modify.

      There’s nothing stopping anyone using the arduino platform from rewriting any part of it to suit their needs as time goes on, or from using any of the low level constructs of C and the AVRLIBC library directly. Arduino is an onion, peel away as much of it as you want when you’re ready.

      Never understood the hate for Ardunio here.. it’s a tool, use it or don’t.

    2. A bit harsh. Arduinos have their place. For example, I use arduinos as proof of concept, as it’s a triviality to breadboard something, grab some libraries and show a demo. If anything goes further than that, then it all gets written from scratch in C, probably on a CC430 or smaller AVR, in code that no way resembles the arduino or library code.

    3. Wow what arrogance.
      Actually we have a bunch of Duinos floating around the office as well as a few Beagle boards and even a P1 or two.
      We also have a staff of c programmers writing code for Arm M0 and the 8051. Guess what? When we are prototyping a new asic using an FPGA a Duino is a great tool for testing. It is easy to set it up to talk to the SPI and dump data to a console. If you want to test NFC or do a demo then it is a fast way to get it done.
      It is so much faster than to spin a board, populate it, and then write the code for it.

    4. I’m with you bro. I don’t understand why people insist on being lzy by riding in cars, pushing on pedals and turning wheels rather than learning to properly ride a real horse. REAL travelers don’t burn their credit on car loans, insurance and gas. Get a horse and some hay and do it RIGHT!

        1. It’s kinda cheating because you toss out the breadboarding compatibility. :P

          That said, I’d totally use that, as I don’t use breadboards… I just need to acquire some 1.27mm connectors.

  3. Its arduino COMPATIBLE. No one is saying its an arduino or that it MUST run the arduino bootloader. It’s an option. So can we please just move on from the butthurt. I think its a pretty cool design. Kuddos for making something THAT small.

    1. It is based on a ARDUINO board so they are saying it was MEANT to run the ARDUINO BOOTLOADER. Just because it doesnt have to doesnt mean its not an ARDUINO. If i buy a arduino in RadioShack and program it in WINAVR and not the Arduino IDE does that not make it an ARDUINO anymore?

      1. Technically it is soley because it is ‘Arduino’ branded. However, if you made your own minimalist design based on an Arduino design (Which I feel like Arduino just built a bootstrapped microcontroller based on the same methods people would have used before), then technically no, its is not an Arduino. It is especially not so, if you code it in C instead of the Processing. What it is however, is a micro that is Arduino IDE compatible.

  4. What the hell kind of measurement is “72 mil”? It sure as hell isn’t millimetres. Otherwise this would be closer to a normal Arduino board in size. Come on America get with the times and join the rest of the world in using a real measuring system.

    1. They’re not quite the same in terms of design constraints. The PCB design in this article fits the normal layout for a 8 pin DIP AVR apart from overhanging slightly at the ends. Your one is quite a bit wider. Can you get sockets that fit it or do you need to chop a large DIP socket?

      1. The goal of the entire competition was to make a SMALLER PCB not have it fit a DIP socket lol

        While it’s not square, it is smaller.

        These are 1.27mm or 0.05in headers not the normal 2.54mm or 0.1in …
        So it will not fit on a DIP socket. TOO SMALL…

  5. This is a good effort, but more processing power is available in even smaller packages. It’s pretty easy to go smaller with an appropriate stencil. Most AVRs are available in MLF/QFN 10-32 pins, such as the ATTiny1634, ATTiny24/44/84 etc…even ATMEGA48P/88P/168P/328P are available in MMH and MU variants. I’ve even soldered them without a stencil, but I’d highly recommend one.

  6. First of all thanks for featuring this on Hackaday. This was certainly unexpected.
    Thanks for all the comments too. Perhaps I should clarify the purpose of the project. First and foremost it is a tribute to Tim’s original project. It is also my first attempt at using the push and shove router in KiCAD. My design goals (which I failed) were:

    * The board should be 0.4″ x 0.4″ so that all adjacent holes in my breadboard are accessible.
    * The design should use the same components as the real Nanite85.

    Although the project title might suggest it designing the smallest Arduino compatible development board possible. I think http://jaanus.tech-thing.org/small-projects/tinydino-the-smallest-arduino-clone-possible/ gets much closer to that anyway.

    The size constraint could probably be met by bending the pins of the ‘tiny inwards. That would be a hack though. Using a smaller switch is a great idea but that would fail the second goal.

    It is not Arduino compatible although it is rumored to work with a hacked version of the Arduino IDE.

    I shared the board https://oshpark.com/shared_projects/lDLzOlSt for those interested.

    1. Thanks… I just ordered a batch of your boards from OSH Park. Can’t wait to try and build it :)

      I really like your design. The vertical USB connector is a very nice touch. In reality it saves much more breadboard space than reducing the PCB width a little bit. Even if someone could build it smaller I don’t think there would be any point in doing so.

  7. I made one of my own using different components i had around. It is not as small as yours but it works. For the pads, I just soldered them like normal smd. I think you wouldnt need to make holes on the pads. Instead just find some space to put couple of vias in each pad. You would sacrifice space for security that way. Either way, you are making something nice, keep it going!
    my board it’s called “tiny board” in oshpark, check it out.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.