Skip to main content

Posts

Showing posts from 2018

BMP180 based USB atmospheric pressure monitor

We initially developed this USB atmospheric pressure monitor to study some operating characteristics of Bosch BMP180 sensor . BMP180 is a low-cost sensor for measuring barometric pressure and temperature. According to the datasheet this sensor can use to measure pressure ranging between 300hPa to 1100hPa . This sensor is introduced a couple of years back but still, it is popular due to lower cost and simplicity of its interface. BMP180 based sensor module We did this unit to test the BMP180 sensor more accurately and to study its behaviors. This unit is based on PIC18F2550 microcontroller and the main reason to select this MCU is because of its built-in USB 2.0 interface. BMP180 sensor monitor application To display sensor calibration data and it’s readings we did small windows application. This application display and plot temperature and pressure readings captured from the BMP180 sensor. This unit is programmed to work as a USB HID device and no special device drive

RTC based automatic LED lamp

This is a real-time clock based automatic LED lamp which we originally designed to use as a night light. This lamp can be programmed to turn on and off at the specific time of the day. For example, it can program to turn on at 6 PM on each day and to turn off at 4 AM the next day. The core component of this project is PIC16F883 MCU and its firmware is developed using MikroC Pro for PIC . We select this MCU because of its 7 KB flash memory, I 2 C, UART, E 2 PROM and built-in 8-bit and 16-bit timers. In this system, we use DS1307 RTC because of its availability in the market and lower external component count. A prototype version of RTC Lamp This lamp is designed to work with commonly available 7W LED panels. In our prototype design, we use 7W 24V warm-white LED module to test this system. To drive other LED modules change the value of the R5 resistor of the current limiter circuit. This system is designed to program using the RS232 serial port. A user can modify system time,

HC-06 Bluetooth module programmer

HC-06 is a quite popular slave mode Bluetooth module designed for wireless serial communication. This module can pair with PC, mobile phone or with any master mode Bluetooth peripheral. HC-06 Bluetooth module This simple .net framework based application can use to modify the following parameters of the HC-06 Bluetooth module: Bluetooth display name Pair password BAUD rate Parity check type HC-06 Bluetooth module programmer This application communicates with the HC-06 module through COM port. To emulate the COM port using any Windows compatible USB to Serial converter . While at the testing we try the following modules with this application: FTDI FT232 USB to Serial module CH340 USB to Serial module CP2102 USB to Serial module This application is developed using .net framework 4.5 and Visual Studio 2012. All source code and compiled binaries are available to download at https://github.com/dilshan/hc6-config . This application and its source code are distrib

How to resolve Windows 10 IoT core provisioning file flash failure

Recently I checked Windows 10 IoT core on Raspberry Pi 3 B+ board. While flashing this operating system using Windows 10 IoT dashboard I got " Failed to write provisioning file to the microsd card " error. I tried several options in dashboard UI but I got this error continuously. After some google search, I found a forum in Microsoft MSDN saying that this issue happens due to poor or slow speed SD cards. The SD card which I used previously is Kingston 16GB class 4 SDHC memory card . Later by following the site, I flash this image into new class 10 SD cards and SDXC cards but repeatedly I got this same errors. After a couple of hours of digging I fix this issue by following the steps below: Open Windows 10 IoT core dashboard and try to install the OS image.  If you got " Failed to write provisioning file to the microsd card " error, close the Windows 10 IoT core dashboard . Open C:\Users\USER-NAME\AppData\Local\Temp\RPi2\msi\msicontent\Microsoft IoT\FFU\R

Multichannel logic probe and pulsar

This is 8 channel CMOS logic probe and pulsar which is useful when designing, testing and faultfinding in digital circuits. This circuit is designed using commonly available CMOS logic ICs which including a couple of 4069 hex inverters and 4040 binary counter. A prototype version of 8 channel logic probe and pulsar The logic probe of this system is based on 4069 hex inverters and it indicates logic high and low states with 2 LEDs. Logic pulsar of this circuit is capable to generate 12 frequencies and highest frequency it can generate is 420kHz.  This pulsar generates a square wave with 50% duty cycle and it's average rise time is 16µS. Both schematic and PCB design of this logic probe and pulsar are available to download at google drive . In this schematic, all LED-L connections should connect to the anode of LEDs and cathode should be connected to the VSS terminal of J31 ( LED-L-H ) connector. All LED-H connections should connect to the cathode of LEDs and anode must

Sensor framework for Data Logging

This is a simple sensor kit to drive 8 active or passive sensors and log its data into a remote Android application. This system also has an option to activate an external device(s) based on the specified threshold of sensor data. This sensor controller is mainly built around the Raspberry Pi Model 3 B+ and PIC16F877A MCU. PIC16F877A MCU is used to interface/select sensors and it's built-in 10bit multi-channel ADC is used to capture the analog signals from sensors. During the prototype stage following sensors are tested with this system: LM35 precision temperature sensor MQ7 Carbon Monoxide gas sensor Electret Microphone NSL-19M51 LDR HC-SR501 PIR sensor A3144 Hall effect sensor Apart from the above list this system can use to drive and capture most of the other analog/digital sensor signals such as current sensors, pressure sensors, chemical sensors, humidity sensors, etc. In this system, Android monitoring application is designed to connect with the sen

ICOM IC-R71A receiver restoration

Recently I got an ICOM IC-R71A receiver from my friend. ICOM IC-R71A is a multi-mode quadruple superheterodyne receiver with the frequency range from 100kHz to 30MHz. When it comes to my workshop it's completely dead but outer casing and front panels are in really good condition. Before troubleshooting the receiver, I download both user manual and service manual from the internet. As like all ICOM products this receiver also comes with very detailed user manual and service manual. Restored ICOM IC-R71A receiver As I observed this receiver consist of many PCBs which including: Mainboard Front boards (altogether 7 boards, which including 1 mainboard known and matrix board and 6 small PCBs) PLL board RF board Logic board and RAM board Power supply board In addition to above boards, there are some previsions in this chassis to install other optional boards such as FM board. After observing the power supply board, I notice a couple of dry joints in the rectifi

Banana Pi DLNA media server

Couple of months back we decided to create our own media server to store our MP3s and digital photographs. But it gets postpone several months due to unavailability of main-boards and other resources. Finally, after reviewing several prototypes we decided to build our media server using Banana Pi (BPI) and MiniDLNA . Before finalize BPI we checked several main-boards which including Raspberry Pi B+ , Orange Pi One and BeagleBone Black . Out of all above main-boards we choose BPI M1 because of its inbuilt SATA2.0 interface, Gigabit Ethernet port and availability in local market. Final view of DLNA media server setup. As an operating system we use Bananian Linux , which is Debian derivative for BPI platform. To sore all our content, we use Seagate 1TB SATA 3.5 inch hard disk drive. Bananian OS and other packages are loaded into 8GB SD card. To power both BPI and SATA disk drive we design PSU using LM2576-5.0 step-down switching regulator IC. Also during the prototyping sta

AF signal injector and tracer

Signal injector and the tracer is a very useful device when troubleshooting electronic audio equipment. We decided to build this signal injector by inspiring the article available in June 2016 - Everyday Practical Electronics (EPE) Magazine ( Audio Signal Injector and Tracer by John Clarke - Page 22 to 29). The signal injector design in EPE magazine is simple but we got few issues while constructing that circuit. The main issue is that LMC6482 is not available to buy in the local market. After few months wait we got a couple of ICs from eBay for LKR 600.00. The second issue is its output is not enough to drive most of the loudspeakers. After prototyping EPE design we decided to build similar sort of signal injector and tracer with commonly available ICs and with more powerful power amplifier stage. For our design, we use the LM358 operational amplifier IC which is commonly available in the local market (for LKR 15 to 20). For the power amplifier, we use LM386 low voltage power

6 channel speaker selector

If you are an audio enthusiast and if you have multiple audio systems and speakers, you may definitely need to have a speaker selector switch. These switches allow you to route a audio signal through a switching system and distribute it to various speakers. Using this listener can select single amplifier – speaker combination through the switch. We mainly design this switch to share our speaker system with multiple audio amplifiers. We design this switch to handle 6 stereo audio channels. Final view of 6 channel speaker selector prototype. This switch is based on PIC16F88 - 8bit MCU, ULN2803 Darlington transistor arrays and 12 DPCO relays. MCU is the core component of this switch and it control all relays, seven-segment display and store last channel in E 2 PROM memory and restore it during next power-up. In this system all audio lines are switching using 12 DPCO relays. To get optimal results we recommended to use good quality relays with thus switch. In our prototype we u

Electrical wiring of the house

In last year we spend a lot of time and effort to wire our new house by ourselves. To complete this job we took nearly 2 ½ months and it includes wiring, fixing electrical fittings, communication equipment, etc. In this post, we describe how we archive this task with some technical details. Due to a large number of electrical points, we decided to use 3 phase electrical wiring in our house. To make it simpler we divide entire house wiring into 3 isolated circuits with 3 separate distribution boards. High-level design of our AC wiring systems is illustrated in the below diagram. High-level electrical wiring diagram up to distribution boards In the above circuit, the 3 phase AC line is first fed into 4-pole 40A isolator . Then it connected to 4-pole RCCB with 3 separate indicator lights. We use indicator lights to see the status of each phase, easily at any time. After RCCB we fed each phase into 3 separate distribution boards. As seen in the diagram the first (phase) circui

Automatic fan controller for server racks

In this post, we describe the fan controller which we designed for our 9U wall mount server cabinet. This fan controller is designed to drive a 12V DC cooler fan with pre-configured intervals or by monitoring the temperature of the server cabinet. The final version of the fan controller with DC brushless fan and 12V - 60W PSU. Core components of this fan controller are CD4060 binary counter, LM35 temperature sensor, and LM358 operational amplifier. In this design, CD4060 has used as long duration timer and it can be configured to trigger cooler fan from 1-minute and up to 4-hour. In this design, an LM35 temperature sensor is used to activate cooler fan in specified temperature. This sensor stage is useful to drive cooler fan when timer stage is in an inactive state. To control the cooler fan we use AP9971 dual N-channel power MOSFET transistor. We design this system to drive 12V cooler fans up to 2A of current. To test this controller we use commonly available 120mm × 120mm