Skip to main content

Posts

Showing posts with the label PIC18F2550

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...

Automatic monitor brightness controller

This is an automatic "monitor brightness controller" based on environmental light conditions. This system uses a USB port base sensor unit to measure the light level and control monitor brightness accordingly. We design this system to reduce eye stress by matching the monitor brightness with environmental lighting. The sensor unit of this system is built around PIC18F2550 8-bit microcontroller. To measure the light level we use LDR with MCU's inbuilt ADC. The control software of this unit is design to work with Microsoft Windows operating systems and it uses Windows API's DDC/CI related functions to control the monitors/display devices. The firmware of USB sensor use 50-point boxcar filter to get the average readout from the ADC and that value is passed to PC over USB HID interface. Thanks to this HID interface this system may not need any special device driver, and it can use in any compatible PC with a minimum amount of configuration changes. A prototype v...

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 ...

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. ...

Kidogo : 8 channel USB Digital Signal Injector

Kidogo is 8 channel USB self powered digital signal injector. Kidogo system consists with Signal Editor and USB interface module. Kidogo Player is the Signal Editor of the Kidogo system and it can support up to 512 time slots (each range between 1ms to 1s) with 8 channels. USB interface of the Kidogo system is based around Microchip’s PIC18F2550 microcontroller and generate 5V CMOS and TTL compatible outputs. Dimensions of current version of Kidogo USB interface is 53mm x 40mm (using standard through-hole components) and this can be reduce into more by using PCB layout based on SMD components. Kidogo Player is design to work under the Microsoft Windows operating systems and it has following general features: Save waveforms and settings as binary file (KDF file) or export waveform as a text file Playback controls such as “Play to segment”, “Play from segment”, “Step back”, “Step next” and “Clear” Shifting and rotating waveforms Invert, Reset, Clocking and Binary Generator functions Cop...

An open scriptable USB interface for host driven electronic experiments

SigLab is a combination of open hardware and FOSS ( free and open source software ) projects to provide easy to use and full featured scriptable USB interface for digital electronic experiments. SigLab USB interface consisted with Microchip's PIC18F2550 microcontroller unit and it provides 14 bidirectional (digital) I/O ports for external interfacing. Scriptable language of SigLab had some resemblance to Pascal programming language and this system provides complete IDE for script editing and debugging. Current version of SigLab offers following core features to its users: Provide easy to use USB controller for digital electronic projects Avoid complexities of USB peripheral programming by providing full featured, easy to use scriptable interface Introduce DIY - USB controller with standard electronic components Provide live workspace to debug/watch hardware and firmware operations All the SigLab source codes, design files and other reference documents are available to download at ...