As you can see from the image below, TinyCircuits sent me almost their entire line of products, and after this review is finished, I will be using them to write a few articles on how to build some cool devices using some of the smallest Arduino-compatibles on the market. With that said, lets jump straight into the overview and learn more about these uber-small boards.
TinyCircuits revolves around a single main development board named the TinyDuino, which is based on the 8-bit ATmega328P processor. Measuring in at just 20mm square, the board is Arduino Uno compatible, and can be programmed with the stock Arduino IDE with no modifications needed, except installing the TinyShield USB & ICP module.
The TinyDuino board itself features no easy-to-access I/O lines, but does feature a unique connection system that makes stacking TinyShields quick and easy. The board also features a reset switch, and has a CR1612-CR1632 coin cell battery holder built on. This makes powering the board untethered quite easy, and removes the need for an external USB battery pack.
Additionally, the TinyDuino switches between USB and battery power automatically, removing the need for jumpers, or an additional switch. Finally, The TinyDuino is a +5V-based board, and does not include a built-in voltage regulator, so supplying more than 5.5V to the TinyDuino will result in damage to the MCU, as well as any TinyShields that are connected to the board.
TinyDuino Features and Specifications
- Arduino and LilyPad Compatible
- Expandable with Stackable TinyShield Boards
- Optional battery connector for CR1612-CR1632 coin cell batteries
- 0.1" spaced solder holes for external power source
- Robust Gold Finish - makes soldering easy and is non-corrosive
- Ultra compact size and weight (smaller than a US Quarter!)
- Square Version: 20mm x 20mm (.787 inches x .787 inches)
- Circular Version: 20mm (.787 inches) diameter
- Max Height (without battery holder): 2.9mm (0.12 inches)
- Max Height (with battery holder): 6.58mm (0.26 inches)
- Ultra-thin 0.61mm (0.024 inches) PCB
- Weight: TBD grams (TBD ounces)
- Atmel ATmega328P Microcontroller
- 32KB Flash, 2KB RAM, 1KB EEPROM
- 1.2mA (typical) @ 3V, 4MHz
- Default Clock speed: 8MHz
- 2.7V - 5.5V operating voltage (Arduino mode)
- 1.8V - 5.5V operating voltage (with custom fw)
- 20 I/Os (14 Digital, 6 Analog / Digital I/O) - All the signals on the Arduino Shield connectors are supported!
- Arduino Bootloader preprogrammed (uses approx 0.5 KBytes of Flash Memory)
With space coming at a premium on the TinyDuino, TinyCircuits decided to leave off the FTDI chip and break out all of the In Circuit Programming or ICP functionality to a separate board that can be removed after the board has been programmed. This not only saves space, but saves end-users a decent sum of money, as it reduces the parts count on the TinyDuino, and allows users to purchase a single USB & ICP TinyShield.
Unlike the Arduino Uno R3, which utilizes another ATmega processor to handle USB-UART communication between the ATmega328 and the host-PC, the TinyShield USB & ICP shield utilizes the FTDI FT232 IC to handle communications.
Like the ICP circuit built onto the Arduino Uno, the TinyShield USB & ICP board features TX and RX status lights to confirm communication between the PC and TinyDuino. TinyCircuits has also broken out the lines for using a standard 6-pin JTAG / ICP programmer such as the Atmel JTAGICE 3 in the event you need to access the board using more powerful debugging tools.
TinyCircuits has designed the TinyShield USB & ICP board to utilize the DTR line from the FTDI chip to automatically reset the TinyDuino when a new sketch is uploaded from the Arduino IDE, making programming the board effortless and as easy as possible.