Skip to main content

Posts

Showing posts with the label XC8

Alarm unit for limit switches or flow switches

Have you ever faced the frustration of dealing with an overflowing tank or a pump running dry? These unexpected events can result in costly damage and inconvenience. A reliable floater switch alarm system can provide early warnings, allowing you to take prompt action and prevent further issues. This project guides you through building a do-it-yourself floater switch alarm system using a PIC12F508 microcontroller. The circuit for this project is relatively simple and requires very few components. The system is designed to operate with a 12V DC power supply and utilizes a 230V AC buzzer unit for audible alerts. Prototype version of the alarm controller. The circuit includes a mute function that allows you to temporarily silence the alarm for a specified duration. Additionally, a built-in timeout mechanism ensures continuous alarm activation if the floater switch remains closed for an extended period, indicating a potential emergency. This project is suitable for various applications, in...

Universal HD44780 LCD interface

YALI ( Yet Another LCD Interface ) is an open-source project to provide a universal interface to drive the popular Hitachi HD44780 LCD controller. This module supports 3.3V and 5V MCUs and hardware development platforms, including Arduino, STM32, PIC, and ESP8266. YALI hardware module. The hardware module of this project consists of a 74HCT08 CMOS AND gate and a 74HC595 8-bit serial-in, parallel-out shift register. This module uses the MP1540 step-up converter to power the LCD unit connected to the system. The module has the jumper to select 3.3V or 5V DC power input.  Bottom side of the YALI hardware module. The YALI library is developed using C and is designed to be easily integrated with any C/C++ embedded toolchain. At the initial design stages, this library was successfully tested with all Arduino development boards, NodeMCU , STM32 Blue Pill , etc. The target system must have three digital output lines with 5V or 3.3V logic levels to interface with the YALI module. As m...

5.1 channel preamplifier

This project introduces a digitally controlled 5.1 channel audio preamplifier system. This amplifier is specifically designed to increase the gain of the multi-channel PC sound cards. The main reason for building this amplifier is the limited gain received from the ASUS Xonar AE sound card with the Creative Inspire T6300 , 5.1 surround speaker system. Before switching to this soundcard, we had a Creative Sound Blaster Z card which provided good audio output with the above-mention speaker system. The key motivation of building this amplifier is to solve these gaining problems. The assembled 5.1 preamplifier PCB. This preamplifier consists of six TL074 / TL072 preamplifier stages and PT2258 electronic volume control. The input stage of this preamplifier consists of six TL074 / TL072 buffer stages. The PIC16F886 microcontroller manages the PT2258 electronic volume control IC. All the volume levels and menu options are displayed on HD44780 , 16x2 character LCD screen . All the ...

12V Uninterruptible Power Supply

This 12V uninterruptible power supply initially designs to drive my fiber optic modem/router. The key reason to build this power supply is to get continuous internet and phone connection during power failures. Core components of this power supply are a constant voltage charger, 12V DC power supply, AC line monitoring unit, and 12V high capacity sealed lead-acid battery. The entire system designs using locally available components. Prototype version of 12V UPS system The charging circuit of this system builds around using the popular LM350 voltage regulator. This regulator calibrates to provide both 14.4V fast charging and 13.6V trickle charging. Based on the condition of the battery, the MCU will determine the appropriate charging mode. At the online state, the LM2576-12 switching regulator provides 12V output to the driving system. (in my arrangement, a fiber optic router). Block diagram of the 12V UPS system The PIC16F688 MCU monitors the AC line and battery to controls the output...

μSim: PICmicro instruction simulator

μSim is a lightweight PIC™ CPU and ALU simulator. This simulator supports the PICmicro mid-range instruction set and designed to work on both PC and Arduino platforms. Compare with most of the other emulators, μSim does not provide all MCU features and peripherals. This simulator design as a minimalistic system, and based on the requirements, it can extend with additional peripherals and features. To accomplish this μSim is written with minimum system dependencies and with less complexity. To avoid resource overflows/overruns the source code is carefully organized with a few functions and data types. μSim setup for Arduino and PIC16F84 MCU. Apart from the instruction decoder, this system simulates 1024 words of flash memory, 68 bytes of SRAM, two 8 bit GPIO ports, and register map similar to PIC16F84 MCU. Some of the common MCU peripherals and features such as interrupts, timers, and UART systems are not integrated into this simulator. The main objective of this project is to prov...