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

Simple 1s to 15s rocket timer

If you are a rocket modeling hobbyist and need simple and reliable rocket timer with adjustable time this project is for you. Timer can be set from 1s to 15s by using 4 dip switch IC. Depending on switch binary position 2^4=16, the time is set when second stage of rocket has to be ignited. Project is based on common PIC16F84 running at 4MHz. MICROCHIP TC4422 is used to control the voltage and current to the “igniter”. Timer also has two failsafes to avoid accidental ignition. Device is powered from 9V battery and is small size as weight is critical in rocketing. Program is written in assembly language. Continue reading

A software based DTMF Remote control

The intent of this project was to build a software DTMF decoder which is run on PIC microcontroller. No any external decoder IC is needed only few external components. DTMF control is convenient where phone line is present, as device can share it with other phone devices. In this particular project remote receiver can control 4 outputs that can drive up to 10Amps at 12VAC. Device accept three commands: SET, RESET and Check output status. Controller is password protected. All values including password are stored in EEPROM memory. Probably most interesting part in this project is software DTMF decoding as this task is usually done by DSP or specialized chips. Decoding is based on Goertzel algorithm. So here is some challenging ASM coding done, but results are positive. Check out the ASM source. Continue reading

Dual Thermometer with serial output

Building digital thermometers is probably one of the common tasks around embedded hobbyists. However more such projects more choices so more things that can be learned. So this one uses PIC16F876 microcontroller with MCP1047A temperature sensors connected to it. Thermometer displays two temperature values – inside and outside. The hardware of this thermometer is pretty simple – PIC reads temperature sensors via ADC. Temperature values are displayed on standard 2×16 LCD and logged to RS232 at desired intervals. ASM code is available. Continue reading

Time switch controller with DCF update

The idea of this project was to build an automatic control for mains heating for the house. The switch turns on the heating in the morning at predefined time and switches off at night. Every weekday can be set at different time points. There can be up to 256 programmable time points and up to 8 output lines that can be connected to relays. Times are programmed via RS232 interface using a command line. Probably one of most interesting things that differs this project from other is that device synchronizes its time by using DFC77 radio transmissions. So always time is accurate and all daylight settings are applied automatically. DCF77 receiver sends pulse signals directly to PIC microcontroller in desired intervals that must be decoded and applied to current settings. Source code is developed in C and is available for download. Continue reading

Tiny PIC12F675 pong video game

This is very simple and fun project with very few external components. All PONG game is controlled and run by 8 pin PIC12F675 microcontroller that is clocked with 4MHz internal clock generator. Schematic is made of few components where Video output is combined of two resistors that form simple DAC compliant for TV video 75Ω input. Control part consist of two potentiometers for positioning on screen and trigger button. Schematic is assembled on a prototype board – so you can really amaze your friends by connecting this video game system and start playing. Source code works for PAL625 system and can be compiled with gpasm compiler. Or simply download precompiled hex file. Continue reading

Microcontroller-driven Lego Vehicle

Old good projects are always good to have near by. Projects in Cornell University are being stacked from 1999 and there are many wonderful ideas and finished microcontroller designs.  Some of them we are going to review here from time to time. This Lego vehicle has been modified so it could be controlled by AT90S8535. Despite code and AVR microcontroller are obsolete, it can be modified to newer very easily. Microcontroller can accept 6 commands from 6 buttons for controlling steer left, right, move forward, reverse, stop, rise and lower tray. Two stepper motors provide steering while DC motor is used for forward and reverse movement.     Car even has a differential wheel system run by planetary gear system. Motors are controlled via transistor switches that accept 5V from AVR microcontroller board and provide 12V switched voltage. Really cool project for hobbyists. Continue reading