Skip to main content

Posts

Centralize power switch for PC arrays with power failure monitor

UPS system is a common peripheral in computer field. Now most of these UPSs are equipped with USB driven system shutdown software. But some of the cheap UPS system may not have software controlled PC shutdown systems and some of them had some limitations too (for example operating system compatibility issues, supporting for multiple nodes, etc.). In this post we design power failure monitor with centralize power switch for array of PCs. Using this system administrators can turn on multiple PCs with single button press and all of these PCs get power down automatically at power failure. To reduce cross platform issues we design this interface to work with main-board power switch and because of this administrators may not need any special software for this system. Most important point of this system is its independence with UPS hardware. Prototype of centralize power switch project Main controller of this system is PIC10F200 - 8bit microcontroller. Thanks to its SOT-23 package w...

LMD18245 base Microstep Motor Driver

This article describe the LMD18245 and PIC16F877A base 16 step bipolar stepper motor driver which is design to work with 12V 18 º bipolar stepper motors. In this design we use pair of LMD18245 DMOS full bridge motor drivers to control 2 phases of the stepper motor and PIC16F877A MCU is used as controller. We test this driver with several stepper motors (including 1.8 º - 12V stepper motors) and all of them provide excellent smooth output with this driver. The supplied firmware of this driver is design for 16 micro-steps but it can be easily change to full-step, half-step, 8, 32 or 40 micro-steps. In this given design LMD18245 current sense resistor is calculated for 200mA and it can be extend to 3A by changing the value of R2 and R4 resistors. For more information refer the LMD18245 datasheet . This project is released as open hardware project. Firmware of this project is released under the terms of MIT License and schematic is released under the terms of Creative Commons ...

USB Random Number Generator

This project is about USB port base true hardware random number generator and it is design around the avalanche noise which occurred in reversed biased P-N junction. This random number generator is design using commonly available electronic components. The core component of this system is Microchip’s PIC18F2550 microcontroller. The noise source is 2N3904 (Q1) transistor and LM386 low voltage power amplifier is used to amplify the incoming noise signals. This peripheral is design to work as a self-powered USB HID device. Cumulative distribution graph of random number sample In this design we use 2N3904 as a noise source because it give more noise amplitude than any another transistors which we tested. Theoretically this transistor (Q1) can be replaced with any other suitable NPN transistor like BC548, BC107, 2SC945, etc. The control software of this system is available for Linux and it’s compiled as x86 - 32bit binary file. This controller application required libusb driver ...

Microprocessor Controlled 16 Line Connectivity Tester

This is an ATmega32 based Proteus simulation of 16 line connectivity tester. I mainly did this project to get familiar with the new Proteus 8 simulator (mainly the new Proteus  - ISIS module). The main functionality of this system is to detect open and short circuits in cables and connectors. This system can test maximum of 16 lines in each test cycle and it indicate the defective line(s) through LCD. This is customizable system and user can configure number of test lines through single push button (SW1). The ATmega32 firmware is developed using WinAVR toolset and it design to work with both simulation and real modes. Schematic of 16 Line Connectivity Tester I never test this system with real parts. If someone interested about real implementation make sure to change RN1 and RN2 to 22K and diode array with 16 - 1N4148 diodes. Recommended supply voltage for this system is 5V DC. This is an open hardware Project and this work is licensed under the Creative Commons Attr...

Simple High Bright LED Night Light with Dimmer

This is an easy to build " high-bright LED" night light, which I was design and developed in weekend to replace my existing 5W ( filament base) night lamp.  This circuit is mainly based around TL494 PWM driver IC and LM350 - 3A adjustable voltage regulator. The LED used in this project is 9V - 10W high bright LED and this given design is capable to drive maximum of six, 10W LEDs. Microscopic view of 10W High Bright LED with controlled input This unit is design to work with 12V to 30V DC power supply and it can withstand for voltage fluctuation around 12V to 35V. The schematic of this unit is available at upvater.com under the terms of CERN OSH 1.1 License .

USB Custom Hardware Interface for Unity3D

This is a simple project to demonstrate the USB custom hardware interfacing with Unity3D game engine on top of Microsoft Windows operating system(s). The custom hardware unit used in this demo is build around Microchip’s PIC18F2550 MCU. This custom USB controller consists with 4 push buttons and linear potentiometer. In supplied demo user needs to control aircraft with those buttons and potentiometer. According to the game logic 4 buttons are used to control the flying direction and flying angle of the aircraft and potentiometer is used to control the speed of the aircraft. System's host environment consists with 2 main applications such as Session Controller and Unity3D game . Session Controller is responsible for USB communication and data conversions. It’s a native application written using Delphi and it gets started with Unity game project. Communication between Session controller and Unity game project is happening through OS level shared memory location. ...

Classical Brute Force Attacker for Sudoku Puzzles

In this post we introduce brute force attacker for Sudoku puzzles. In title we say " classical " because it operates in a traditional " dictionary base " style. This terminal application is design and tested on Linux base systems and it can capable to solve any symmetrical Sudoku puzzle up to dimension of 9×9. The primary objective of this application is to get some performance readings on some x64 configurations and initial version may not support external maps. Later I extend it to support with user defined maps and now it can handle up to 9×9 data matrix with at least one known value. The attack database (dictionary) is based on text-files with sequential access controller and it helps to reduce to main "system memory" consumption. Working order of Brute Force Attacker The performance of this application is based on system architecture (especially with RAM and auxiliary storage architecture), process configuration (such as process priority, me...