Thanks to V-USB, software-based USB is all the rage now, with a lot of uses for very small and low power microcontrollers.[ZiB] wondered if it would be possible to implement a USB controller on the STM8 microcontroller (Google translation) in software and succeeded.
The STM8 is a bit of a change from the usual 8-bit micros we see like AVRs and PICs. [ZiB] chose the STM8S103F3, although any chip in the STM8 family will work with this project when a 12MHz crystal is attached.
The build began by generating USB signals with the help of a whole lot of NOPs. This code doesn’t take up much space – only 300 bytes, and the receiving code (Google translation) is similarly sized.
The code isn’t quite there yet, but [ZiB] has proven a software-based USB implementation on the STM8 is possible. All the code is available for download (comments in Russian) and a video demoing the project available below. If anyone cares to translate this project to English, we’ll post a link to your work here.
Continue reading “Software USB On The STM8”
[Ray] just tipped us about his latest project: the SquareWear Mini, which basically is an improved version of the SquareWear 2.0 that we featured a month ago. For our readers that may have missed it, the SquareWear is essentially a wearable Arduino platform running at 3.3V and 12MHz. Both versions are based on an ATMega328 microcontroller running the V-USB library to provide USB connectivity, put together with diverse onboard peripherals.
As you can see in the picture above, the Mini includes 2 N-MOSFETs, one temperature sensor, one light sensor, a 16KB EEPROM memory, one buzzer, a one cell LiPo battery connector together with one charging controller, and finally a power switch (USB/battery). It is supposed to be 25% smaller than the SquareWear 2.0 and is optimized to work with a WS2812B-based 5×7 RGB LED matrix that [Ray] also designed. The latter can easily be cascaded in X/Y directions with other LED matrices in order to expand the overall display.
At last, [Ray] created a software to design animations and upload them to the SquareWear . A presentation video of the complete system is embedded after the break and you can download all the design files on GitHub.
Continue reading “Introducing the SquareWear Mini, with its Chainable Color LED Matrix”
Why would you clone something as cheap as the adafruit Trinket? Well, because you can, of course. And that’s exactly why [Ray] started to build a clone two days after his Trinket came in the mail. He encourages you to support adafruit by buying at least one Trinket before attempting a clone, and we agree. Besides, you’ll be able to use the support forum with a clear conscience.
[Ray]’s design uses an 1800Ω pull-up resistor rather than the 1500Ω in the Trinket. He made this change based on his experience with V-USB and the ATtiny85. He has a lot more information on his build on the Arduino forum. Check out a short video of Chachka responding to a Sony-esque remote control after the break.
Need an application for your Trinket clone? Check out this incredibly well-built USB volume knob.
Continue reading “Chachka: A Trinket Clone”
Adding USB functionality to your Arduino projects used to be a pain, but thankfully, the V-USB project came along and gave your ATMEGA328 the ability to control the USB lines directly and mimic simple (low-speed) USB peripherals. [Ray] shows an implementation of the V-USB project by logging the status of the Arduino’s I/O pins to an open Excel spreadsheet
V-USB (Virtual USB) is especially useful for those of us who build standalone Arduino projects with the ATMEGA328. Unlike the Arduino Leonardo and its ATMEGA32U4, the ATMEGA328 does not have a built-in USB controller. The circuit required to tie into the USB lines is made up of just a few basic components, and [Ray] provides a reference schematic and BOM to get you started. The Arduino is programmed to mimic a keyboard, so the datalogging is achieved by allowing the Arduino to ‘type’ the data into an open Excel spreadsheet. In this example, the status of 8 digital pins and all 6 Analog Input pins are logged.
For those of you who prefer the PIC microcontroller and are in a similar position of not having a built-in USB controller, there is the 16FUSB project to help you out.
Are you guys tired of redesigned Arduinos yet? Usually we are, but [Ray] just released the SquareWear 2.0, and we have to admit, it’s a pretty slick design.
It’s an update to SquareWear 1.1 which we covered a year ago. That version made use of a 18F14K50 microcontroller, measured a tiny 1.6″ x 1.6″ and could easily be sewn into wearable circuits. But after receiving lots of requests to design a new Arduino based board, [Ray] obliged and made v2.0.
The new SquareWear is slightly bigger, measuring in at 1.7″ x 1.7″, but it packs a much bigger and more functional punch — just check out the image schematic above! The only catch is it doesn’t actually have a USB-to-serial chip on-board, which is why [Ray] was able to get the board so small and inexpensive. Instead it simulates USB in the software using the V-USB library. That method is much slower but still functional. To perform serial communication through the USB port it uses the onboard USBasp bootloader.
The board also features large through-holes to accommodate sew-able pin pads, making it super easy to integrate this into fabric!
For a complete explanation of the SquareWear 2.0, check out the video after the break.
Continue reading “SquareWear 2.0 a Wearable Opensource Arduino”
A while back, [Rupert] wrote a blog post on using V-USB with the very small, 8-pin ATtiny85. Since then, the space of dev boards for 8-pin micros with USB has exploded, the most recent being Adafruit’s Trinket. [Rupert] liked what he saw with the Trinket bootloader and decided to clone the circuit into a useful package. Thus was born an awesome looking USB volume knob complete with a heavy aluminum knob, rotary encoder, and RGB LED strip.
[Rupert] got his V-USB/ATtiny85/rotary encoder circuit working, and at the expense of a ‘mute’ control, also added an awesome looking RGB LED ring powered by Adafruit’s Neopixels. The PCB [Rupert] fabbed is pretty well suited for being manufactured one-sided. If you’ve ever wanted an awesome volume knob for your computer, all the files are available form [Rupert]’s blog.
Just as an aside, [Rupert] has been working on getting the Trinket bootloader working on the ATtiny84, a very similar microcontroller to the ’85, but with eight analog pins. It’s a neat device that I’ve made a small V-USB breakout board for, but like [Rupert], I’m stuck on porting the bootloader. If anyone has the Trinket/Gemma firmware running on an ATtiny84, send that in. We’ll put it up.
If you’re using an AVR microcontroller and you’d like to add USB to a project, there are a lot of options out there for you. Both LUFA and V-USB add some USB functionality to just about every AVR micro, but if you’d like a native serial port, your only options are to look towards the USB-compatible Atmel micros.
[Ray] looked at the options for adding a USB serial port and didn’t like what he saw; seemingly, this was an impossible task without a second, more capable microcontroller. Then he had an idea: if the goal is only to transfer data back and forth between a computer and a microcontroller, why not write an HID-class USB serial port?
[Ray] based his project on The V-USB library and created a new HID descriptor to transfer data between a micro and a computer. While it won’t work with a proper terminal such as Putty, [Ray] managed to whip up a serial monitor program in Processing that’s compatible with Windows, Linux and OS X.
In the video below, you can see [Ray] using an ATmega328p with a standard V-USB setup. He’s transferring analog values from a photoresistor as a proof of concept, but just about everything that would work with a normal serial port will work with [Ray]’s library.
Continue reading “Serial USB for Any AVR Microcontroller”