Categories

 Edit Translation
by Transposh - translation plugin for wordpress
IPv6 logo

VUSiBino

One of the most attractive features of the microcontroller is its simplicity ATMega. Mount a plate with them is extremely simple and the possibilities are varied and easy to develop. The example is extreme simplicity Paperduino, and its variants Txapuzas. Using a simple hack you can connect a Nokia cable or FTDI Cable buying a cheap full functionality is achieved.

But there is a pretty attractive prospect, the software V-USB de objective developement, which it allows to use the microcontroller as a USB device in exchange for losing a pair of pins and some processing time. Amalgamating the paperduino, v-usb, usbasp and tinyUSBoard I have made this plate, easy to assemble and combines the possibilities of tinyusb and paperduino. It can be programmed from the Arduino environment directly or AVRDude By using the USBASP, there are compatible libraries that allow use from the Arduino environment, or using software ATMel, AVR Studio, that while at first seems arid, allows you to tune enough code. This plate can be supplied from the USB or an external source up 9v thanks to voltage regulator L7805 and 1N4007, It has a fairly reasonable size and is easy to weld. I have equipped with a fuse to protect the PC.

Hardware

.-designs.

 

These designs show the connections to be performed, at the end shipping versions can be downloaded to print and, svg, postcript y pdf, necessary to make stickers as a guide for mounting. The latest illustration detailing how they should be welded to tin tracks should not use the artwork in black, which it serves to chemically circuit.

 

.-Mounting.

Step below to detail the mounting plate:

Need.

Pcb perfboard 27×17 fuses 1xPoliswitch 0,3A
pushers 2 Connectors 2xClema
Resistors 2×68 Ohm. 2×6 pin strip hembra
2x1k Ohm. 2×4 pin strip hembra
1x1k5 Ohm. 1×14 pin strip hembra
1x10k Ohm. 1×3 pin strip hembra
ICs 1x AVR (Atmega8, 168, 328) 1×1 pin strip macho
1x L7805 2×2 pin strip macho
Capacitors 2electrolytic x100uF 1×2 jumper
1x100pF ceramic Cable Color, preferably at unifilar
Diodes 2×3,6v 0,5w zener Clock 1xOscilador ceramic 16Mhz (8,12 the 20 also they serve)
1x1n4007 rectifier
1XLED 3mm Red
1xLed 3mm Verde

.-stickers

To make them “stickers” will use double-sided adhesive tape, clear tape to protect it from inclement. We deploy some tape to fit the length of the cut printing and attach it on a side of the tape. We cut the double-sided tape to the print size and put on the perforated plate, with a punch, a stick or something similar, make holes on the points where they would spend the electronics, this will help us to correctly adjust the sticker and guide the welding tracks tin. Once you made all the perforations, and using a light source that illuminates from the back plate, adjust the holes and adhere the sticker to the plate. After that we put transparent tape on paper and if we have not already done, We will cut the plate to size.

 

.-Welding.

After chopping board, we go by welding “tracks”. Following the guidance (greenish background image) We put a point of tin in each hole, After that we can connect the dots, alternately, taking care not to warm them too because becomes too liquid. Thereupon we proceed to the cables bridging, USB connector, resistance, diodes, fuse and buttons. Then they can go pins, LEDs, clamps, capacitors and voltage regulator. These set the ground before welding with a drop of cyanoacrylate to prevent movement to weld. Finally they would oscillator and capacitor.

Note that the 68Ω resistors are mounted vertically and have filed socket circuit to miss jumpers.

 

.-Checking and Connection.

Welding finishes all components, should be connected to our circuit power supplies, but still put on microchip in its socket. The jumpers USB / 5V and 9V allow us to change power, We should not connect the USB while another current source and voltage on any runway should exceed 5,5 even volt battery with a nine connected.

Software

Once satisfied that no smoke or explode the capacitors, insert the chip into the socket and we try to schedule “bootloader”, I used the version of TinyUSBoard, little, functional and pins fitted to our distribution, burn is something different.

.-El bootloader.

 

This program ensures that the microcontroller can load other programs via USB cable. We will use the modified version of USBasp for tinyUSBoard, but to get charge should give some back.

If we already have another microcontroller with bootloader, as Arduino, Paperduino or similar, This link tells us how. Simply connect properly MISO pins, DAWDLE, RST, SCK, +5v, gnd and raise the skit example Arduino “Arduino as ISP”.

With a tinyUSBoard would be well. Look at the pictures title “USBasp programming” for connections.

FTDI cable is a connection would.

If you have a parallel port we can ride this circuit.

Serial port would be this. Perhaps this is the simplest and cheapest option.

Here you have one with a demultiplexer and USB hub.

You can also do with a keyboard. Matrixstrom provides the software needed to load the bootloader.

Or directly by hand. really amazing.

I have not tried USB hub options, the keyboard or do it by hand.

the parallel port still exists in current computers, but you need to open the box and plug, serial ports are still used and is a simple circuit, to program the chip must be used ponyprog.

Also there is always the option of asking an acquaintance you schedule it.

.-Firmware.

Once recorded successfully “bootloader”, we begin to use this to upload “firmwares” the VUSiBino. To do this you must be in programming mode, which you are accessed by pressing the button “Prog” while pressing the button “Reset”. In order for our system to detect the device in Windows, we install the appropriate drivers, “Zadig – The Automated Driver Installer” We greatly facilitate the work, selecting our device in the first drop-down and “libusbk” second, We click Install driver remains and already does everything automatically.

To use the Arduino environment, we follow these instructions.

.-downloads, Firmware and host example.

Using other environments is more complicated, but allows greater control of the apparatus and the ability to use it as a USB device or HID plus.

The sample program I put below is an executable that communicates with our VUSiBino off and on a LED, sending a text string and changing the serial number of the device. Software “host” It is done in C ++ in the IDE compiled CODE::Blocks para windows con TDM, the firmware is in C, compiled using the environment AVR Studio 5. These IDEs have their trick and also need to get off “toolchain” winAVR, and the libraries v-usb (included in the files for download) to work everything correctly. By not having programmed as a HID device, you will need some drivers to be recognized by the system, USB-lib or libusbk are included in Linux, but will have to install windows, “Zadig – The Automated Driver Installer” makes life easy, Simply select your device, choose divers who will use and install to have our perfectly functional skewer and detects AVRDude.

To see just the example can download binaries. I use AVRdudess the Bitburner AVR programs to raise the .hex. Once the rise, button is pressed “Reset” Zadig and installed with the driver for the device Libusbk “VUSiBino”. then we launched “VUSBino_demo.exe” and played with the device.

 

schemes

binaries

Source code.

VUSiBino Demo en Github

Leave a Reply