Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

Running watch with GPS guidance

If running is part of your activity probably you would like to know daily statistics. These features are available in many devices like smart phones or watches. But sometimes you simply need a guide that would tell if you are on a right direction. One way would be to use GPS navigator with planned route, but who would want to look at screen all the time when you would enjoy re view. So students Joel and Kyle from Cornell ECE4760 class brainstormed the idea of building GPS running watch which would give mechanical feedback about the waypoint. They used small motors to vibrate weather you are running along planned route or you turned right or left. Prototype is equipped with GPS module, Atmega1284 board, LCD display, SD card to store waypoints. Before you can use the device, first you need to create path in Google Earth, then save this path as KMZ file which then needs to be uploaded to GPS visualizer website where you can get output text file which has to be stored to SD card. Runner watch… Continue reading

Infrared sensor based Theremin

Theremin is a device that allows playing music without touching the instrument. Basically Theremin is based on capacitance sensors where hands play ground plane role. By adjusting distance to the sensor you can change sound pitch and other parameters. Students Scott McKenzie and Alex Rablau from Cornell ECE4760 class build a bit different Theremin device where they used infrared distance sensors instead of capacitance. They used tow sensors – one for volume and another for pitch control. Atmega1284 reads both sensors and according to sound wave selection generates PWM modulated signal. They experimented with several waves including Classic theremin which is combined of two sine waves, then pure sine, sawtooth, and FM modulation. Each sound is great in its own way when played with “straight” hands. Continue reading

Learn to park a car with this fun AVR game

Students Lu Liu and Xu Chen from Cornell ECE4760 class have built nice game where you have to park a car on computer screen. They have built steering wheel equipped with accelerometers to detect angle. Also they made accelerator and brake out of hinges with potentiometers as sensors. To make it complete they also made wooden gear shift. The heart of project is ATmega1284 microcontroller which reads sensor inputs and draws car model on TV screen. Program functionality include user configurable stage selection, status report when finished, car hit detection. Continue reading

Expanding Attiny microcontroller with shift register

Attiny microcontrollers have small footprint leading to smaller number of I/Os available. These microcontrollers are meant to control simple things like reading sensors, driving relays and so on. If you come to the point where you need more I/O pins then there are two options – use bigger microcontroller or expand number of pins with port expanders or with simple shift registers. For smaller microcontrollers port expanders may be too costly solution, because of limited memory it may require to much of driving like I2C or SPI expanders. In this case better solution is to use shift registers that can be driven pretty easily with not much overhead code and you can get as many pins as you want by connecting them in cascades. silentbogo wrote a simple instructable on how to interface shift register to Attiny microcontroller (same apply to other micros like PIC12). Register of choice here is standard 74HC595 which is cheap and available everywhere. Depending on what level control you want, there can be various control scenarios. You may want to have master reset(MR) or output… Continue reading

Getting started with ATTiny13

Not all microcontroller projects have to be large. In many cases you need to do very specific tasks where you only need couple I/Os and small routine. For such things you can find tiny microcontrollers that come with small footprint. A good example is ATTiny13 microcontroller that are cheap but effective in many tasks. ATTiny13 comes with 1KB of flash and 64B of RAM. If you are used to work with larger micros (eg. Arduino), in some cases it might be a bit challenging to write effective code. Xplo1t shares his experience on this small micro. He points out few benefits of choosing ATTiny microcontrollers over Arduino. First of all it’s price, then versatility and small size. With small size there comes energy efficiency. He has build a small demo board which comes with single LED along with current limiting resistor and reset button with resistor pull-up. In order to program microcontroller you will need ISP programmer. If you have spare Arduino it can serve this purpose. With such small memory amounts Xplo1t goes with assembler code. Atmel Studio comes… Continue reading

Implementing rock-paper-scissors-spock-lizard game with gesture recognition

Rock-paper-scissors-spock-lizard game is quite popular game which is more complex than rock-paper-scissors. There are five gestures used instead of two. Each gesture can beat two other and two remaining gesture can bet the particular one. Students from Cornel ECE 4760 class decided to push this game to new limits – make computer to recognize gestures and play along. They used OV7670 digital camera with Atmega1284 microcontroller which captures images and sends them to Matlab for faster processing. Feedback is displayed on VGA screen. So the hardware mainly deals with getting images, sending them to PS via USART and displaying results on screen. It takes two AVR microcontrollers to do that. The limitation here is sending images to Matlab for processing, because of serial port limitations. They used run-length coding to improve transmission. Matlab does the heavy load on recognizing gestures by scanning pixel changes. Algorithm isn’t very efficient and not immune to noise, but works. Continue reading