Smallerst arduino

I am looking to find if someone knows a smaller variation of the arduino.

Let me get into details:

At times i find that I need a small circuit to implement a delay, PWM, comparing voltages etc.

For such purposes I often use discrete electronics, however I am lazy and from calculating all the component values to actually have the part in stock often results in a significant waste of time - more yet if I actually need to change the circuit in the future.

I was wondering if there is some smaller arduino that I could just write a code in 5 minutes and be done with it. I often dont need serial ports, but ADC and PWM (at least one) would be good to have.

CSilva

Ardweeney. Solarbotics Ardweeny - Solarbotics Ltd.
Arduino pro mini. http://arduino.cc/en/Main/ArduinoBoardProMini
Crossroads 1284weeney. Cross Roads Electronics

Probably the physically smallest Arduino-compatible board would be Adafruit's Trinket, based on the ATtiny85: http://www.adafruit.com/products/1501

There's also Arduino cores for the ATtiny84, with 11 GPIO.

Digispark: Digispark USB Development Board - Digistump

SMD 1284P


SMD 328P
crystal, caps etc on the bottom
Or just a promini

I am looking at something cheap I can just use in bits and pieces to write simple code functions.
The attiny85 looks nice, but not working in Linux is putting me off. Is there any way to ditch the bootloader and program it trough the AVRISP?

Yes. In the IDE, File:Upload Using Programmer to load via ICSP with no bootloader.
Need an AVR Programmer. I use Atmel AVR ISP MKii, there are many others.

Well i have been foing my research, so hepefully this will be usefull to someone as a reference.

The ATtiny85 is nice to have in small projects as it is only a 8 pin device. But this is all there is.
Price wise, it is on pair with the ATmega8 which as many more features. Both can be sourced at about 80p to £1 in quatities of 10.

For those really small projects, the ATtiny 13 comes to offer a lower price tag at about 60p in quantities of 10. It has to be programmed externally. For me its good enough to replace all the 555 delay timers and comparators, for example a few LEDs for battery monitoring and the remaining pins used to trigger a charger, simple things like light sensors with software programable hysteresis or a PWM controller for a DC motor are some of the examples where I would want to use a very cheap micro.

A cool feature of the ATmega8 other that the aditional peripherals is that be flashed with USBASPLoader.
This differs from the arduino bootloader as it does not require the USB/Serial converter. Instead it can be pluggued directly into a USB port emulating the popular usbasp programmer. Not only is cheaper it is also linux compatible and also works on the mega328.

I recently found this.
It's an ATmega32U4, so should be Leonardo compatible.
It doesn't offer that much pins (3 analog, 3 digital) due to its size, but serial, I2C and ICSP (requires some more soldering skills) are available.
Because of it being an ATmega32U4, USB is available also through a micro connector.

I think i'll have some applications in mind for this one, so have ordered a couple.

I made a little board for 32U4 chips, with uSD card socket on the bottom.
Some folks have built them up.



CrossRoads:
I made a little board for 32U4 chips, with uSD card socket on the bottom.

Thats nice. Are you selling those PCB's? Its a good replacement for the mini

Click on the link beneath his post (any of them).
Scroll down about 80 %, and you’ll find that board.
Didn’t see any order info there so you might want to contact him by email.

casemod:
The attiny85 looks nice, but not working in Linux is putting me off.

Huh?
What do you mean?

I’ve been playing with tiny85’s for several years on linux.
I’ve burned images using either an AVR dragon or a USBasp device
from both the Arduino IDE and my own makefiles when I don’t want
to use Arduino.
I’ve even source level debugged code on the tiny85 using the AVR
dragon using debugWire.
Pretty cool to be source level debugging an 8 pin dip.
It is easier to do when using your own makefiles but it can
be also done with Arduino code.
It is a pain to setup and get all the deamons up and going
when using the Arduino IDE given the way the IDE works,
but it can be done.

— bill

I do sell them. I need to look to see if I have any at the moment. I think my last batch of 20 might be gone, if so I can order some more.

bperrybap:

casemod:
The attiny85 looks nice, but not working in Linux is putting me off.

Huh?
What do you mean?

That was for one of the boards someone recomended earlier, that had a usb bootloader that wasnt supported on lixux
I ordered 10 of them as a bunch of some other stuff, for now will be programming them using AVRISP MK2

casemod:

bperrybap:

casemod:
The attiny85 looks nice, but not working in Linux is putting me off.

Huh?
What do you mean?

That was for one of the boards someone recomended earlier, that had a usb bootloader that wasnt supported on lixux
I ordered 10 of them as a bunch of some other stuff, for now will be programming them using AVRISP MK2

If you are refering to the Adafruit Trinket, it does support Linux just fine since it looks just like a USBTiny ISP programmer.
From what I saw, the only issue is that Linux enforces permissions on accessing the USB so libUSB (which avrdude uses)
can’t access the USB & device as a non root user until you create and install the proper udev rule.
This is typically the case with any type of USB type device.
I’ve had to do this with the AVR dragon, USBasp, and Teensy boards as well.

— bill

bperrybap:
From what I saw, the only issue is that Linux enforces permissions on accessing the USB so libUSB (which avrdude uses)
can't access the USB & device as a non root user until you create and install the proper udev rule.
This is typically the case with any type of USB type device.
I've had to do this with the AVR dragon, USBasp, and Teensy boards as well.

--- bill

Thats silly. I had to do that with the arduino itself to have permissions to use the serial port, so pretty much standard then. Why would they say unsupported?

casemod:

bperrybap:
From what I saw, the only issue is that Linux enforces permissions on accessing the USB so libUSB (which avrdude uses)
can't access the USB & device as a non root user until you create and install the proper udev rule.
This is typically the case with any type of USB type device.
I've had to do this with the AVR dragon, USBasp, and Teensy boards as well.

--- bill

Thats silly. I had to do that with the arduino itself to have permissions to use the serial port, so pretty much standard then. Why would they say unsupported?

While there are places that say linux isn't supported,
there are also references to linux support.

I don't have a Trinket board so I can't verify anything, but since
it looks like USBtiny I would htink that it should work the same on
all the OSs given that avrdude is what is actually talking to it.

Another thing they might have run into is that
there has been a long standing bug (bad design) in the IDE
that required opening a serial port even when an ISP programmer was used.
If you have no serial port, you can't program using an ISP programmer.
This has been "fixed" in the recent 1.5x releases.
The fix is a total kludge in that it still looks for and will open serial ports
but now instead of failing to proceed if it can't find any serial ports,
it will continue on and use the ISP programmer.

--- bill

bperrybap:
Another thing they might have run into is that
there has been a long standing bug (bad design) in the IDE
that required opening a serial port even when an ISP programmer was used.
If you have no serial port, you can't program using an ISP programmer.
This has been "fixed" in the recent 1.5x releases.
The fix is a total kludge in that it still looks for and will open serial ports
but now instead of failing to proceed if it can't find any serial ports,
it will continue on and use the ISP programmer.

--- bill

Same with the Mapple (STM32 port or the arduino).
The software uses a built in usb bootloader, but the software checks for serial port. I simply plugged something with one on the computer to solve it.