Very basic car battery charger on PIC12F683

Charging lead acid car is fairly simple. You need to take care of charging current which should be around 0.1C and charge up to 13.4V battery voltage. Having this in mind, it is easy to build charger out of few parts available. Pityukecske have shared his version of battery charger on instructable. He has chosen a PIC12F683 microcontroller which controls relay switching charging current to battery and also monitors battery voltage on one of its ADC inputs. Current circuit doesn’t have much flexibility – charging current is basically driven directly from transformer and diode rectifier. It is visible on panel ammeter. So transformer is chosen to meet current requirements. Microcontroller monitors battery voltage. Since it is over 12V there is a resistor voltage divider used to scale voltage to microcontroller working limits. Once voltage reaches 13.4V, microcontroller shuts current by deactivating relay. Couple status LEDs indicate charging state. Simple solution that works in most cases. Continue reading

Slenduino – not much common with Arduino

This is a small PIC 12F683 development board. It has all necessary parts needed to run and be interfaced in to other boards or breadboard. Despite its small size, microcontroller has 10-bit ADC and PWMH that allow building quite powerful applications. It has ICSP programmer header along with other I/Os. Additionally board carries couple LEDs. One is power LED and another is attached to PWMH which can be configured with jumper wire. This is really neat board which can be used as stand alone module. Continue reading

A PIC12F683 development board to get you starting

In order to explore the potential of the PIC12F683 microcontroller Raj built his own PIC development board using few components populating a 12 x 8 cm prototyping board. For some people it’s just a simple project placed on a plate with lots of holes, for some it’s just a generalized break out board for the PIC12F683. But guess what? This generalized piece of plate with lots of hole in it is packed up with feature of which some development boards could only dream of having. It’s powered by a +5V regulated power supply, has three output LEDs that can be tapped to any GPIO ports using jumpers, also has a power switch to take things on and off, a green LED power indicator, a socket for the PIC12F683 – means no disordering when replacing the microcontroller, two potentiometers if you want to play with analog signals – one for reference while the other is for input, an ICSP header – no need to detach the microcontroller when programming, two switches for input, a TTL to RS232 level shifter, a piezo… Continue reading

The world’s smallest PAL video OSD superimpose using a PIC12F683

I always wanted to have a scrolling text below our TV screen – like the once we see on the news with scrolling text while the TV program is not interrupted. Talk about multitasking deeds yeah? Watching your favorite cartoons while also watching the headlines. To insert text or any figure into a TV screen without actually interrupting the current show we need to super impose the signal being fed to the video channel. This would also include a stable synchronizer and of course we need to time the whole thing up so that the text we want or the super imposed signal we want will be positioned in the right location and also for it to be recognizable.  Bruno Gavand made just that, with a PIC12F683 he tapped into a PAL TV’s video channel inserting text to his TV screen in real time. The circuit is so small that Bruno actually just powered the PIC12F683 on and let the program do its wonders. Continue reading

Driving LCD with three wires

Dealing with electronics projects is always about cost and efficiency. Sometimes using more powerful MCU just to get more I/Os isn’t practical. If project isn’t time critical you should consider using port expander – a shift register that may reduce overall cost of project (especially if it’s for mass production). So in this project you will learn how to drive standard LCD with three wires by using only three I/O pins. As port expander there is a shift register 74HC595 used. All you need is to send LCD data serially to shift register which parallelizes it to normal format. This enables driven LCDs with low pin microcontrollers like PIC12F683. AVR fans can find similar solution on ATmega8 here. The only downside of such solution is that you will have to write driver software by yourself instead using regular libraries. Continue reading