TinyUSBboard is an Arduino compatible, minimalistic and cheap AVR microprocessor board with USB interface and simple "do it yourself" capability.
It utilizes directly features of USB without FTDI chip and/or any USB to serial converter. It can be programmed via assembler, C, Arduino or of course BASCOM.
All its components you need to construct it are universal and available nearly everywhere - no special PCB needed.
It is well suited for beginners to learn AVR microcontroller programming and/or it can be used on solderless breadboards very simple to do various projects.
For example using some firmware provided on this site turns it into a programming hardware for blank AVR microcontrollers, which can be used to produce further tinyUSBboards for family members, friends or collegues...
While normal handling with microcontrolling units (MCUs) needs additional equipment, tinyUSBboard only needs a Mac-, Windows- or Linux computer with a single free USB socket.
The board (see photo and
layout) in form of a regular stick (approx. 2.5cm x 8.0cm)
uses an ATmega8-16PU MCU, clocked at 16MHz.
This IC allows up to 8kib of programmed code within its flash-memory.
It also has additional 512byte persistent electronical eraseable memory (EEPROM) and 1kib volatile memory RAM.
(For further features see its datasheet in the datasheet-section).
Three of the MCUs pins (PIN2, PIN12 and PIN13) are actually used for the USB interface.
This feature and using the latest, preflashed bootloader "USBaspLoader" (https://github.com/baerwolf/USBaspLoader) allows convenient and fast programming via USB, again and again:
Just press (keep pressed) the program-button and reset (or powerup) the stick.
The bootloader, emulating an usbasp-programming hardware, will take over and allows (re)programming the MCU.
(Once started, of course, the prog-button can be released. Any repeated press (or "reset") then will exit the bootloader.)
Furthermore, there are five LEDs on the board. One LED indicates the power supply via USB.
The other four (red) LEDs are connected to and can be controlled via the IO of the microcontroller (PB0, PB1, PD3 and PD5).
If in any circumstances only the direct contacts of the controller are required, LEDs can be disconnected permanently.