Beyond Logic

    Ring Tones for your uC

  • Generate Ring Tones on your PIC16F87x Microcontroller
    Using only a speaker and decoupling capacitor it is possible to generate tunes or melodies from your Microchip PIC16F87x processor. This code supports the RTTTL ringtone format used with mobile phones such as Nokia to easily port thousands of catchy ring tones into your embedded applications.

    CMOS Image Sensors

  • CMOS Digital Image Sensors & Lenses
    Adding vision to your projects need not be difficult. Whether its machine vision for robot control or the sampling and storage of images for security, CMOS images sensors can offer many advantages over traditional CCD sensors. This article explores some of the CMOS image sensors and lenses / lens assemblies on the market. Add Image Capture to your uCLinux Systems.

    Ethernet & TCP/IP Interfaces

  • Ethernet & TCP/IP Interfaces - Updated with Digi WiFi Modules .
    Embedded Internet Solutions are becoming more and more popular. We look at the common ethernet MACs such as the RTL8019AS and CS8900 plus popular development boards and explore Hardware based TCP/IP stacks from Ipsil, Connect One, WIZnet and Sekio along with some nifty products such as the Lantronix XPort.

    Unique and Innovative Software Solutions

  • PortTalk - A Windows NT/2000/XP I/O Port Device Driver Version 2.2
    A problem that plagues Windows NT/2000/XP, is it's strict control over I/O ports. Unlike Windows 95 & 98, Windows NT/2000/XP will cause an exception (Privileged Instruction) if an attempt is made to access an I/O port that your program is not privileged to access. This article discusses the restricting mechanisms and how to overcome these problems. It provides a PortTalk driver complete with source code which allows existing programs to access selected I/O ports and provides an example of writing your own device driver. Now includes an example showing how to use inp/outp, inportb/outportb via IoDevControl calls to PortTalk in Windows NT/2000/XP.

  • Trust-No-Exe Version 3.04
    Allow users to run trusted applications from defined directories, while preventing the execution of non-trusted programs from floppy disk and CDROM drives or from the users e-mail attachment directory. Stop PE viruses in their tracks where on Windows platforms year, nine out of ten of the top viruses were spread via e-mail.

  • Command Line Process Viewer/Killer/Suspender for Windows NT/2000/XP Version 2.03
    Want a command line utility to view, kill, suspend or set the priority or affinity of processes, perhaps from a batch file? Kills rouge processes where Window's Task Manager fails.

  • BeyondExec - Spawn Processes and/or Shutdown Remote Windows NT/2000/XP WorkStations. Version 2.04
    Have you ever wanted to run a process such as an application installer, service pack, virus signature update etc or shutdown a single or group of remote computers without having the burden of installing any remote client on your target computers?

  • Beyond Logic Shutdown Utility for NT/2000/XP Version 1.01
    The Windows 2000 Professional Resource Kit and Windows XP introduce a shutdown.exe command line utility to shutdown local computers. However a quick play with these utilities will fine that they are less than adequate. The Beyond Logic shutdown.exe actually powers down computers while giving your users the option of cancelling the operation or allowing you to only target computers without a logged on user.

  • Bmail - Command Line SMTP Mailer for Batch Jobs Version 1.07
    Bmail is a free but lean command line SMTP mail sender. Bmail allows the user to automate the sending of email messages containing log files, data downloads or error messages on Win32 based computers.

  • Delete/Copy by Owner utility for Windows NT/2000/XP Version 1.02
    Have you ever had the need to find, copy or delete files that were owned by a certain user? A great way to back up files created by previous employees or to clean workstations when one leaves.

  • Win32 Pipe Security Editor Windows NT/2000/XP Version 1.00
    Do you know what named pipes you have on a system, quietly advertising for something to connect to it? Do you know how secure each pipe is, whether the associated security descriptor is strong enough?. The Win32 Pipe Security Editor is the ideal tool for checking the security of your own pipe servers or to set up auditing of existing pipe servers.

  • Console Computer Information Utility for 2000/XP Version 1.01
    Want a quick console utility to display the hardware specifications of a PC including Processors Type, Operating System and Service Pack, Physical and Virtual Memory, Network Addresses, Logical Drive information, Video Card Type, Hard Disk, CDROM and Printer Information.

  • SMART & Simple for NT/2000/XP Version 1.01
    A small and simple utility to instantly view the SMART (Self-Monitoring Analysis and Reporting Technology) attributes of Hard Disk Drives without first requiring installation.

  • SIP Debug Proxy Server Version 1.03
    Having trouble trying to work out why your VoIP ATA is not registering? Maybe you are not receiving incoming calls? The SIP debug proxy can display and log SIP messages to file for debugging and analysis.

    uClinux - Linux for MicroControllers

  • uClinux - Part 1 : Setting up the Development Environment (2.0.38)
    Setting up a development system for uClinux from scratch is not hard. This article covers the uClinux Kernel 2.0.38, m68k-coff, m68k-pic-coff, m68k-pic32-coff and m68k-elf Tool Chains, coff2flt converter, uC-libc and uC-libm libraries and gdb. All the sources are downloadable, with links provided.

  • uClinux - Part 2 : Understanding the Build Tools
    Part two of this series looks at building the uClinux Kernel, generating the ROM filesystem, configuring your uClinux target, setting up NFS mounts, creating a new RAM filesystem and using a root NFS filesystem on your uClinux Target.

  • uClinux - Building gcc-2.95.3 m68k-elf for uClinuxAvailable in PDF
    Compiling the uClinux 2.4 kernel for m68k requires an upgrade of the development tools to m68k-elf. We detail how to building the tools with both an automatic script and manually, and then show how to call your new compiler with the advantages and disadvantages of each option.

  • uClinux - BFLT Binary Flat Format
    uClinux uses a Binary Flat format commonly known as bFLT. It has seen two major revisions, version 2 and more recently version 4. Find out just what makes it tick.

  • Exploring the Netcomm NB5 - ADSL / ADSL-2 Modem Router
    The Netcomm NB5 is an ADSL / ADSL-2/2+ modem/router built on a rugged embedded linux platform. This linux platform can allow the ability to exploit the hardware to its full potential, by running your own binaries on it.

  • SquashFS & LZMA Compression
    There are some claims that LZMA can offer up to 30% better compression over ZLIB, however a 10 to 15% gain is normally achievable on the typical squashFS images.

    AT Keyboards

  • Interfacing the PC's Keyboard As seen in Poptronics, July 2000
    IBM Keyboards. Not really an interesting topic, one would expect. So why would you want to interface the Keyboard? The IBM keyboard can be a cheap alternative to a keyboard on a Microprocessor development system. Or maybe you want a remote terminal, just couple it with a LCD Module. If so, then this page has all the required information to get you started.

  • 101 AT Keyboard to ASCII Decoder using 68HC705J1A MCU (Ideal Keyboard BIOS for Embedded Linux)
    An interfacing example for the AT keyboard is given showing the keyboard's protocols in action. This interfacing example uses a 68HC705J1A MCU to decode an IBM AT keyboard and output the ASCII equivalent of the key pressed at 9600 BPS. Includes Direct Decimal and Hexadecimal Enter Routines. Ideal companion to a microcontroller development system or embedded system.

    Windows Device Drivers
    (Windows NT/2000/XP and 98/ME WDM)

  • USB Driver for the Cypress USB Starter Kit
    One of the most helpful aids when first starting out in something new is examples. Cypress forgot this when they introduced their USB Starter Kit. But then for $99 U.S., you canít expect the world. The USB Thermometer Driver and Application was developed under contract by System Solutions The code is not freely available. What I have done is modified the WDM ISO USB driver distributed with the Windows Device Driver Kit for use with the Cypress Digital Themometer. Iíve kept it basically the same, so you can actually run the Digital Temperature Application on this driver to see that in-fact it does work!

  • Interrupts and Deferred Procedure Calls on Windows NT4/2000/XP
    Example source code for handling Interrupts and Deferred Procedure Calls in Windows NT4/2000/XP kernel mode device drivers.

  • Device Driver Tools - Making your life easy
    Features three Device Driver Tools for making your life easier. Writing Device Drivers? Perhaps playing with Cypress Semiconductor's USB Starter Kit? If so, the Device Driver Fiddler allows you to test DeviceIOCommand() Calls before you write your User Mode Application. . . The Windows NT Device Driver Installer prevents making and testing of your newly written drivers a chore. It loads, unloads, starts and stops Windows NT Device Drivers. The Device Driver Remover, removes all traces of your device driver.

    Universal Serial Bus

  • USB in a Nutshell - Making sense of the USB standard Available in PDF
    USB in a Nutshell is a six part article detailing the Universal Serial Bus. It currently provides details on the connectors, electrical, suspend currents, speed identification, USB packet types, endpoints, pipes, endpoint/transfer types including Control, Interrupt, Isochronous and Bulk Transfers, USB descriptors including Device, Configuration, Interface, Endpoint and String descriptors, the USB Setup Packet and Standard Device, Standard Interface and Standard Endpoint Requests.
    Now includes an example - PDIUSBD11 connected to a PIC16F87x

  • USB1.1 Integrated Circuits
    We look at some of the USB1.1 Microcontrollers and I.C's on the market today along with some cheap yet nifty development boards. This includes the Cypress EZ-USB Family, Philip's PDIUSBD11, PDIUSBD12 & PDIUSBP11, FTDI's FT8U232AM and FT8U245AM, Motorola 68HC705JB3 & 68HC705JB4, National Semiconductor's USBN9602 and Microchip's PIC16C745 & PIC16C765 with links to the USB USB-IF Developers Discussion Forum and other informative sites.

  • USB 2 Integrated Circuits - Updated with the Opal Kelly XEM3001 Experimentation Module
    USB 2.0 with a maximum speed of 480Mb/s is getting closer to reality. Detailed here are some of the more popular USB 2.0 silicon devices and a status on how Microsoft is going with their EHCI USB2 drivers for Windows XP and Windows 2000 operating systems.

  • USB Device Driver Development
    Provides information on where to find information for developing USB device drivers.

  • USB Protocol Analysers
    With USB's differential bus and highly complex protocol, what do you do when you want to monitor what is going on between your device and the host. You can't just grab the digital storage oscilloscope and probe around like you could with less complex traditional serial buses. We look at the new Ellisys USB Tracker 110 which will fit even the tightest of budgets.

  • Win 2000/XP Driver for DeVaSys USBLPT-PD11 USB Boards
    DeVaSys has a USBLPT-PD11 USB development board based on the Philips PDIUSBD11 device which is connected to the PC's Parallel Port. This allows for firmware to be quickly developed on the PC with the advantage of rich debugging (printf statements) and quick compiling and testing over embedded processors. Once your design is done and tested, it's possible to change a header file enabling the code to be recompiled and downloaded to your USB device. We have written a Windows 2000/XP device driver allowing these boards to be used with Windows 2000 and Windows XP. The source code is provided for the driver and can also double as good example for Parallel Port drivers taking to ParPort.sys.

  • On-The-Go Supplement - Point-to-Point Connectivity for USB.
    The On-The-Go Supplement is a new tack on standard for USB allowing for the first time, USB Devices to talk to each other without the need for a "host". While the standard is still in its early days, we look at some of the features of OTG. Philips demonstrated aspects of OTG with their ISP1161 Full-speed Universal Serial Bus single-chip host and device controller. While it doesnít fully comply to the OTG standard, it does make a wonderful Host Controller for embedded systems such as uClinux.

  • USB with the simplicity of RS-232
    FTDI has two USB Interface ICs, the FT8U232AM and FT8U245AM which takes the hassle out of USB. One provides a asychronous serial interface, while the other provides a byte wide FIFO with little need to worry about the underlying USB protocols and USB device drivers. Ideal if you are starting out in USB, or you want to quickly add USB to your devices.

  • The Philips PDIUSBD11 USB Peripheral with I2C Serial Interface.Available in PDF
    Philips has two USB devices which allows any microcontroller the ability to talk USB. However while the silicon has many features which others don't, the data sheets are a little light on content. In fact they miss some fundamental Initialisation routines needed to get the device working in the first place. This article gives a sample schematic and the answers to many questions kindly answered by two Philip's Engineers.

    Parallel Port Interfacing

  • Interfacing the Standard Parallel Port Available in PDF
    Describes interfacing the Standard Parallel Port (SPP). Includes a general introduction to Parallel Ports (SPP, EPP & ECP) and their standards. Looks at reading 8 bits of data using the bi-directional port, and using other methods such as reading a nibble at a time etc. Also details the Parallel Ports interrupts. Programming examples using C are included along with a detailed description of the Parallel Port's Registers.

  • Interfacing Example - 16 Character x 2 Line LCD
    This is the first interfacing example for the Parallel Port. This example shows connecting a 16 Character x 2 Line LCD module to the Standard Parallel Port (SPP.) Shows the use of the Parallel Port's Data and Control Ports.

  • Interfacing the Enhanced Parallel Port (EPP) Available in PDF
    Interfacing the Enhanced Parallel Port is the first page, out of the Parallel Port Series which has been revised. This page, devoted entirely to the EPP port, now includes waveforms plus a more detailed description of this Port.

  • Interfacing the Extended Capabilities Parallel Port (ECP) Available in PDF
    Interfacing the Extended Capabilities Parallel Port has just been revised. This page focuses on the Extended Capabilities Parallel Port (ECP), and now includes waveforms plus a more detailed description of this Port.

  • Parallel Port Debug Tool
    The Parallel Port Debug Tool is a handy DOS utility when debugging devices connected to the Parallel Port. It gives a visual display of the three software registers used by the Standard Parallel Port. Each individual bit can be turned on or off by a simple click of the mouse.

    RS-232 Interfacing

  • Interfacing the Serial Port - Parts 1 and 2 Available in PDF
    Explains the pin diagrams of the RS-232 Port and the 8250 & Compatible UARTs. Includes information on handshaking, Null Modems, DTE/DCE Speeds, flow control, types of UART's etc. The second part of this series gives details of the Serial Ports Registers for the PC (8250 to 16750 UARTs) and the Serial Port's Addresses in the PC.

  • Interfacing the Serial Ports - Parts 3 and 4
    Starts with example programs written in C, using both the Interrupt Driven and Polling methods for the PC. Gives details of how the programs work and how they can be changed to suit your requirements, i.e. Changing addresses, FIFO Buffers, IRQ's etc. It then gives details of interfacing your own projects to the RS-232 Port using MAX-232's, CDP6402 UART's and Micro-Controllers.

  • Quick & Light RS-232 Terminal
    Fed up with hyperterminal or just want a quick and light terminal for DOS, Windows 95/98/ME and Windows NT4/2000/XP? Cycle through COM Ports using F1, change bit rates using F2 and quit using Alt-X. Couldn't be simpler. . .

  • RS-232 Protocol Analyser
    In need for a cheap but effective RS-232 Protocol Analyser? Just make your own Y adaptor to enable the logging of data transmitted and/or received in ASCII, Hex, Decimal or HexDump formats.


  • How does the Microchip ICD Work?
    The PIC16F877 was the first Microchip Microcontroller to have in-built debugging capabilities. The actual silicon area used for the debug facilities is tiny compared to the major peripherals. Microchip has keep the operation of the debug facilities pretty well under raps, however it doesnít take much reading between the lines to work out how the actual debugging facilities are implemented. Also includes details on making your own ICD.

  • South Australian Electricity Generation
    Looks at some Innovative Power Generation projects including Hot Dry Rock Geothermal, Solar Towers, Mini-Hydro and Wave Power.

  • An Introduction to VoIP for Australia
    An introduction to using VoIP in Australia.

  • Aussie Hot Rocks
    Following the developments of Hot Rock Geothermal & Other renewables in Australia.

  • Who crashed the economy?
    There is a new urban sport, and Australia is high up on the leader board. The objective - Who can crash the economy first.

    Need Help? Got a Question?

    The interfacing discussion group can help with any problems you may have. Just join and then e-mail your questions to Common questions may have already been answered in the Interfacing Discussion Group Archives.


Copyright 1995-2010 Craig Peacock 25th October 2010.