20090630

PIC LCD Oscilloscope for Spectrum Analyzers

PIC LCD Oscilloscope for Spectrum Analyzers
This is simple and inexpensive LCD oscilloscope for spectrum analyzer display. The project use PIC 16F876A as main processor. Although a small LCD screen is not as good as analog oscilloscope, a LCD oscilloscope may be very useful in field measurements, for battery operation or you need different measurement at the same time along with oscilloscope.

The 80dB scale of this LCD oscilloscope can be adjusted with the two trimmers providing the reference voltages to the A/D converter. The operation of the LCD oscilloscope is slightly different between the 80dB mode and the 40dB mode. In the 80dB mode, the trace is always visible and saturates on the bottom or top of screen. In the 40dB mode, the trace runs out of the screen and only the central part of the original 80dB scale is displayed. This project designed by Matjaz Vidmar.

Download
Source code, documentation and schematic

tags : LCD, Oscilloscope, Spectrum Analyzer, PIC, microcontroller, project src

PIC LCD Oscilloscope for Spectrum Analyzers

PIC LCD Oscilloscope for Spectrum Analyzers
This is simple and inexpensive LCD oscilloscope for spectrum analyzer display. The project use PIC 16F876A as main processor. Although a small LCD screen is not as good as analog oscilloscope, a LCD oscilloscope may be very useful in field measurements, for battery operation or you need different measurement at the same time along with oscilloscope.

The 80dB scale of this LCD oscilloscope can be adjusted with the two trimmers providing the reference voltages to the A/D converter. The operation of the LCD oscilloscope is slightly different between the 80dB mode and the 40dB mode. In the 80dB mode, the trace is always visible and saturates on the bottom or top of screen. In the 40dB mode, the trace runs out of the screen and only the central part of the original 80dB scale is displayed. This project designed by Matjaz Vidmar.

Download
Source code, documentation and schematic

tags : LCD, Oscilloscope, Spectrum Analyzer, PIC, microcontroller, project src

20090629

Functional Programming

This post is mainly an excuse for me to link to a blog I came across:

I have been starting to use Scala over the last year. Initially I was drawn to the language purely by the functional programming experiences I had in Python: using map, filter, and list comprehensions. Scala promised similar tools, but with much better performance, and objects that just "feel" more robust than those in Python. In short, I began using it for very pragmatic reasons that had nothing to do with any underlying theory. However, over the last year, I have started to become more interested in the more theoretical aspects of functional programming, to the point where I'm now starting to reach out and trying to read blogs like the one above.

All of this reminds me of the kind of mind-bending experience I had when I first started to learn about C++ templates... they were a level of abstraction that I couldn't immediately translate to "mental bytecode", but that promised a massive amount of power and versatility. Admittedly, I was only about 13 when I started playing with C++ templates, but these new kinds of logic analyses are equally confusing now! It's all very interesting, even if it's not exactly approachable.

20090624

USB PIC Programmer

open source USB PIC Programmer

If you start learning PIC microcontroller, you need PIC progrmmer to "fill" your PIC with compiled source code. You can build your own PIC programmer like USBPICprog project.

Usbpicprog is an USB in circuit programmer for Microchip PIC processors. The hardware is as simple. The latest version only contains one PIC18F2550, 3 mosfets, and besides the connectors a hand full of passive components.

download
Open source programmer


USB PIC Programmer

open source USB PIC Programmer

If you start learning PIC microcontroller, you need PIC progrmmer to "fill" your PIC with compiled source code. You can build your own PIC programmer like USBPICprog project.

Usbpicprog is an USB in circuit programmer for Microchip PIC processors. The hardware is as simple. The latest version only contains one PIC18F2550, 3 mosfets, and besides the connectors a hand full of passive components.

download
Open source programmer


20090621

Analysis of Strains from a 45-Degree Rosette

45 degree strain gauge rosettes are commonly used for measurement of strains. These rosette arrangements measure normal strains in three separate directions. From this data, the so-called "principal" strain state can be obtained. The principal strain state is just the orientation in which the shear strain is zero. At this orientation of zero shear strain, the two normal strains are called principal normal strains.

It can be quite tricky to obtain the principal strain state from the three gauge strains in a 45-degree rosette. Numerous textbooks provide equations for the principal normal strains, and generally these "just work". However, the angle of the principal strain state is often quite ambiguous. It's often difficult to figure out whether the angle is clockwise or anti-clockwise, which gauge it is relative to, and to which of the two principal normal strains it refers.

I have recently done some work on this problem in the context of measuring strains on the equine hoof wall. I have written a short description of the Analysis of Strains from a 45-Degree Rosette (PDF file; 47.9 KB). Please feel free to use this document (with an appropriate link to my blog), and please contact me regarding any corrections.

20090618

The PSP Go - The Future is Here and it’s About Time


The PSP Go has been the subject of a good amount of discussion lately, with good reason. That Sony announced it’s next handheld has any number of reasons why it should be surprising. The PSP has had limited success (though you’d be incorrect labeling it a failure), and many thought Sony would simply focus its energies on the console market. On top of this though, it seemed as if these days the PSP was beginning to receive the kind of efforts and support it needed from Sony earlier than just these past few months. Now, Sony is already jumping ship towards its next handheld.

Read full article here:
http://www.powso.com/?p=614

20090616

PSP Go has system features current model PSP's won't have



Sony's PlayStation.Blog.Europe recently answered questions from the community on the new PSPgo (PSP-N1000). There were several more details noted on the PSPgo that weren't on the spec sheet or announcement at E3 2009. Here are a few of the noteworthy features as mentioned by Adam Grant, European Product Manager for PSPgo:

Game sleep function:
"You will be able to operate the XMB™ (XrossMediaBar) while suspending the gameplay temporarily." This won't be available for the current PlayStation Portables (PSP-1000, PSP-2000, PSP-3000 models).

Clock and Calendar Application:
You may have seen the Clock application on the PSPgo in Kaz Hirai's hand at the E3 2009 press conference. That is the Clock and Calendar application, which isn't planned for the earlier PSP models either.

On the PSPgo's battery life:
"We have adopted an embedded battery to realise a smaller and lighter PSP system. The battery life is equivalent with the current models meaning approximately 3 to 6 hours for gameplays and approximately 3 to 5 hours for playing back videos."

Read full article here:
http://www.gamingbits.com/content/view/6008/1/

20090615

ARM USB Data Acquisition

ARM Project USB Data Acquisition
This project shows you how to build a simple data acquisition device around an LPC2138, ARM-based microcontroller. The system features a simple GUI that allows you to view graphed data instead of the streaming serial data in a terminal emulator session. In this project, Bruce gives example by collects temperature data from an analog temperature sensor and graphs it via a PC GUI.

Download
Source and PDF

tag : data acquisition, LPC2138, ARM microcontroller, project src

ARM USB Data Acquisition

ARM Project USB Data Acquisition
This project shows you how to build a simple data acquisition device around an LPC2138, ARM-based microcontroller. The system features a simple GUI that allows you to view graphed data instead of the streaming serial data in a terminal emulator session. In this project, Bruce gives example by collects temperature data from an analog temperature sensor and graphs it via a PC GUI.

Download
Source and PDF

tag : data acquisition, LPC2138, ARM microcontroller, project src

PSP Go App Store?



The incoming PlayStation Portable Go!, the new gaming handheld designed by Sony, is set to ditch the UMD drive, which has been the main content delivery system since the PSP was released. The company has said that all the games released for the PSP would be available both in physical form and as digital distribution packets.

Now, it also seems that the new handheld will be getting more content via something that will probably resemble the Apple app store. Destructoid has gotten news from sources close to game development at Sony who are saying that small applications that will not be appearing at retail will be offered through a fresh service on the PlayStation Portable Store at prices set to range from 2 to 6 dollars. The official reveal should be made in August 2009.

Read the rest of the article here:
http://www.diginewsdigest.com/en/news/1034-psp-go-getting-its-own-app-store.html

20090614

PIC Low Cost USB-CAN Distributed Motion Control System

PIC Distributed Motion Control System
This project presents high performance distributed motion control system at extremely low cost. Rapid prototyping of multi-axis designs is often required during the development of automation equipment. One can use centralized controls with PC motion control cards, external amplifiers, and a tangle of wires, or utilize existing high cost distributed motion control system with RS485, Ethernet, or one of the fieldbuses (DeviceNet, CANOpen, Profibus, etc.). With the use of highly integrated microcontrollers, such as the PIC18FXX8, and power devices like the Allegro A3977/A3959, a very small and inexpensive system was developed.

Download
document and schematic

tag : motion control system, USB, PIC project src

PIC Low Cost USB-CAN Distributed Motion Control System

PIC Distributed Motion Control System
This project presents high performance distributed motion control system at extremely low cost. Rapid prototyping of multi-axis designs is often required during the development of automation equipment. One can use centralized controls with PC motion control cards, external amplifiers, and a tangle of wires, or utilize existing high cost distributed motion control system with RS485, Ethernet, or one of the fieldbuses (DeviceNet, CANOpen, Profibus, etc.). With the use of highly integrated microcontrollers, such as the PIC18FXX8, and power devices like the Allegro A3977/A3959, a very small and inexpensive system was developed.

Download
document and schematic

tag : motion control system, USB, PIC project src

20090612

PSP Go: Sony may have confused hardware for service


Sony is making waves with the PSP Go, although what many gamers are failing to realize is that the ability to buy games online and go purely digital already exists with the product they own. Everyone is talking about the hardware, when the PlayStation Network as a service is the big story... and that already works with your less expensive PSP.

Read more:
http://arstechnica.com/gaming/news/2009/06/psp-go-sony-may-have-confused-hardware-for-service-1.ars

20090611

Blog link!

I'd like to say thank you to Fran Jurga for publicizing a video that I created during my PhD. She wrote about it on her HoofBlog website, and since that time it has received a lot of attention.

It's great to see that something I worked on during my PhD has been so immediately useful for people. My PhD involved a lot of "basic science" work, which rarely has immediate influence. It helps a lot with motivation to find that people are so enthusiastic about it.

20090606

Getting started with PIC microcontroller programming under Mac OS X

I recently started experimenting with PIC microcontrollers. Microcontrollers are small chips that contain all of the essential components of a whole computer. They can function as the embedded "brains" of any electronics project.

I found a lot of information online about programming PIC microcontrollers under both Microsoft Windows and various types of Linux. However, the information relating directly to Mac OS X was quite sparse. I began by working with both Linux and Windows under VMWare Fusion, but eventually migrated to OS X when the overhead of continually running VMWare just for PIC stuff became too much.

In this blog post, I'll explain how I set up my toolchain under OS X. My setup is still in its infancy, but I thought I'd share the information early.

1. Obtain a programmer

The first step was to obtain the required hardware - a programming device that can upload your program to the microcontroller chip. There are various programming kits available online and from electronics stores, but to be safe, I ordered a PICkit 2 programmer directly from Microchip Inc. It connects to the computer via a standard USB cable:

The PICkit 2 cost AU$54.70, which included shipping to Melbourne, Australia. It also came with a demo board, which included a PIC PIC16F887:

To get started, this was the only financial outlay (given that I already owned a modern Mac computer running OS X!).

2. Download and compile GPUTILS

GPUTILS provides programs to deal with compiling PIC assembly code. I used gputils-0.13.7 and compiled it using the standard commands:

$ ./configure
$ make
$ sudo make install

3. Download and compile SDCC

The next stage was to obtain a compiler. The compiler takes human-readable programs and converts them to machine code. I wanted to use the C programming language for my work, so I began using the Small Device C Compiler (SDCC).

I downloaded the source code for SDCC and compiled it using gcc. For this step, you need to have the OS X developer tools installed. I obtained SDCC from their subversion directory (read their documentation to learn about this), and then compiled it from the command line using the standard commands:

$ ./configure
$ make
$ sudo make install

4. Compile the SDCC PIC libraries

Inside the SDCC source directory, we now have to compile libraries for SDCC on the PIC16 architecture. This is done as follows:

$ cd device/lib/pic
$ ./configure
$ make
$ sudo make install
$ cd ../pic16
$ ./configure
$ make
$ sudo make install
$ cd ../
$ make
$ sudo make install

5. Download and compile PK2CMD

Microchip Inc. have provided source code for a program called pk2cmd which can be compiled under OS X and Linux. This program communicates with the PICkit 2 programmer. The idea is that once your code has been compiled by SDCC, pk2cmd controls the PICkit 2 programmer to program the chip.

I obtained the pk2cmd source code from the Microchip website. The required package (at the time of writing) is listed about 3/4 of the way down the page and is called "PK2CMD V1.20 Linux & Mac OS X Source Code with Makefile". After extracting the package, I compiled it for OS X 10.5.7 and installed it as follows:

$ make mac105
$ sudo make install

Take note of the makefile target that had to be used for OS X 10.5 (mac105). There is more information in the makefile included with pk2cmd.

6. Try a test program

The final stage is to check that your toolchain is working. The simplest way to do that is to try out a test program with the 44-pin demo board that comes with the PICkit 2 programmer. The test program below works for me:
With this code in a file called test.c, it can be compiled and uploaded to the demo board as follows:

$ sdcc -mpic14 -p16f887 test.c
$ pk2cmd -B/usr/share/pk2 -P -T -M -Ftest.hex

If everything is successful, you should see the LEDs on the board winking from left to right.

20090605

Sony Releases Some of the New Features of the PSP Go Portable Gaming System

Sony has recently revealed some of the expected new features on their newest handheld gaming system the PSP Go. This new system has been highly anticipated and is set to be released this fall. Sony had originally proposed a lot of innovative changes for the system, but was unable to deliver on some of them. They were able to include improvements to the system and games on the new PSP Go, and they are hoping that customers and fans will enjoy what they have done with the system.

What can gamers expect from the new system? Digital downloads are now going to be faster and easier. You can choose the games that you want to download right upon launching the system. There are expected to be 100 games available for downloading from Sony. The negative to this is that gamers who have previous versions of the Sony gaming systems, are not going to be able to play their old games on the PSP Go system. It is expected that Sony will have to release some different versions that are compatible with the new system.

Gaming fans have been anticipating how the new PSP Go system will work, and how the new sliding screen feature will work. The screen on the PSP Go is 3.8 inches and the sliding feature reveals the buttons to operate the handheld system. The system is set to start shipping in the fall, so gaming fans from all over will have to keep posted for any new details and new information on the system, the new and exciting games and the pricing as it becomes publicly leaked out. There will be new information about the release of the PSP Go system posted on the Internet, as it is available and also when Sony launches the new system.

The dual memory options on the new PSP Go portable gaming device are sure to please many gamers who want the option of how much memory that they have on the device. The new digital downloading features allow users to download a lot of new games quickly and easily. Sony will also likely set up places in stores where users can dump information and games from their UMD drives unto the new PSP Go system. Sony is hoping that this will alleviate any disappoints from fans about not having the UMD drive on the new system.

Keep watching for new information and details about the new gaming system to be announced on the Internet and more details about the release date and pricing of the new system.

20090604

PSP Go System Details Leaked Early

If you are a fan of handheld gaming, there is no doubt you have been eagerly anticipating more information to be released about the new PSP Go gaming system. Although Sony has not formally released information about the launch of their new gaming system, sources have been able to retrieve information on the PSP Go system that is set to launch in the fall.

Fans of handheld gaming will have to wait a little longer until more details are released about the PSP Go system about the pricing and other details but there has been some information released about the games that will be sold for it, the specs and the new features.

Gaming fans have been anticipating how the new PSP Go system will work, and how the new sliding screen feature will work. The screen on the PSP Go is 3.8 inches and the sliding feature reveals the buttons to operate the handheld system. There has been rumors of some of the names of the games to be released are Gran Turismo, Jak and Dexter and Metal Gear Solid. These are only a few of the new games set to be released with the release of the PSP Go system.

The information that has been leaked about the PSP Go system seems to have been released earlier than Sony had originally planned. They were going to announce at the E3 trade show, but sources were able to find out some details on the system and leak them out to fans everywhere. If you are a handheld gaming fan and have been waiting for Sony to release their new PSP Go system, you will only have to wait until this fall.

The system is set to start shipping in the fall, so gaming fans from all over will have to keep posted for any new details and new information on the system, the new and exciting games and the pricing as it becomes publicly leaked out. There will be new information about the release of the PSP Go system posted on the Internet, as it is available and also when Sony launches the new system.

With some of the new features of the handheld gaming system, such as the sliding screen and the extra memory, it is expected to be a good launch with successful results. If you do have games from older systems, they may not be compatible with the PSP Go system, Sony may have to release new versions or downloads online to allow users to have access to older games. Stay informed on the new details as they are released about the new handheld gaming system to be revealed.

20090603

Gamers Eagerly Await PSP Go System

In the world of handheld gaming, any new system that comes out is highly anticipated by fans of portable gaming systems. This is true for the new Sony PSP Go portable gaming system. There have been a lot of rumors surrounding the system including what some of the features will be, what games will be available and what changes have been made to the system from previous versions.

Some of the changes to the new PSP Go system will delight fans, while others may be disappointing because the proposed changes did not go through. What are the changes that gamers were waiting for? One of the biggest things that Sony had wanted to add to the new system was the dual analog sticks. Many gamers were excited to experience the true dimensions of gaming with dual analog sticks, but Sony was not able to produce this feature on the new system. While some gamers are disappointed about that, Sony did serve up some good features that many should be pleased with.

The dual memory system allows gamers to choose from 8 GB of memory and 16 GB of memory. This allows fans to put as many or as few games on their system as they would like. One of the favorite features of the new system is that there is no UMD. This means that you can download tons of games right about launching the system. It has a lot of internal storage, which allows users to choose from either 8 GB of space or 16 GB of space.

Gamers that have been anticipating the new games that will be available with the PSP Go system will be impressed to see that there are new games set to be released with the PSP Go that include Jak and Daxter, Gran Turismo PSP and Metal Gear Solid. The price or price range has not yet released. The older gaming systems are not going to be compatible, so there is a chance that Sony will re-sell the older content through the online store. Sony will likely have to figure out something to do about the lack of compatibility between older games and the new system because many gamers will want to play their older games on the PSP Go as well.

Information that has been released about the PSP Go system indicates that while Sony was not able to include all of the new features that they had originally hoped for, there are still many new features that are sure to delight gamers. Sony is hoping that the improvements over older versions of portable gaming systems will keep customers coming back to purchase the new system.

20090601

Project Natal

If you've been wondering why my project blog has been pretty quiet, I can finally say it is because I have been helping Xbox with Project Natal. If you haven't seen the vision video, it is definitely worth checking out:



Now, I should preface by saying I don't deserve credit for anything that you saw at E3. A large team of very smart, very hard working people were involved in building the demos you saw on stage. The part I am working on has much more to do with making sure this can transition from the E3 stage to your living room - for which there is an even larger team of very smart, very hard working people involved. The other thing I should say is that I can't really reveal any details that haven't already been made public. Unfortunately.

Speaking as someone who has been working in interface and sensing technology for nearly 10 years, this is an astonishing combination of hardware and software. The few times I’ve been able to show researchers the underlying components, their jaws drop with amazement... and with good reason.

The 3D sensor itself is a pretty incredible piece of equipment providing detailed 3D information about the environment similar to very expensive laser range finding systems but at a tiny fraction of the cost. Depth cameras provide you with a point cloud of the surface of objects that is fairly insensitive to various lighting conditions allowing you to do things that are simply impossible with a normal camera.


But once you have the 3D information, you then have to interpret that cloud of points as "people". This is where the researcher jaws stay dropped. The human tracking algorithms that the teams have developed are well ahead of the state of the art in computer vision in this domain. The sophistication and performance of the algorithms rival or exceed anything that I've seen in academic research, never mind a consumer product. At times, working on this project has felt like a miniature “Manhattan project” with developers and researchers from around the world coming together to make this happen.

We would all love to one day have our own personal holodeck. This is a pretty measurable step in that direction.

Xbox and Microsoft deserve an enormous amount of credit for taking on such an ambitious project. It’s one thing to say “Wouldn’t it be cool if…”, but it’s another thing entirely to say, “let’s dedicate the resources to really make it happen inventing whatever needs to be invented along the way.” I have to say it's pretty neat building the future.

Project Natal

If you've been wondering why my project blog has been pretty quiet, I can finally say it is because I have been helping Xbox with Project Natal. If you haven't seen the vision video, it is definitely worth checking out:



Now, I should preface by saying I don't deserve credit for anything that you saw at E3. A large team of very smart, very hard working people were involved in building the demos you saw on stage. The part I am working on has much more to do with making sure this can transition from the E3 stage to your living room - for which there is an even larger team of very smart, very hard working people involved. The other thing I should say is that I can't really reveal any details that haven't already been made public. Unfortunately.

Speaking as someone who has been working in interface and sensing technology for nearly 10 years, this is an astonishing combination of hardware and software. The few times I’ve been able to show researchers the underlying components, their jaws drop with amazement... and with good reason.

The 3D sensor itself is a pretty incredible piece of equipment providing detailed 3D information about the environment similar to very expensive laser range finding systems but at a tiny fraction of the cost. Depth cameras provide you with a point cloud of the surface of objects that is fairly insensitive to various lighting conditions allowing you to do things that are simply impossible with a normal camera.


But once you have the 3D information, you then have to interpret that cloud of points as "people". This is where the researcher jaws stay dropped. The human tracking algorithms that the teams have developed are well ahead of the state of the art in computer vision in this domain. The sophistication and performance of the algorithms rival or exceed anything that I've seen in academic research, never mind a consumer product. At times, working on this project has felt like a miniature “Manhattan project” with developers and researchers from around the world coming together to make this happen.

We would all love to one day have our own personal holodeck. This is a pretty measurable step in that direction.

Xbox and Microsoft deserve an enormous amount of credit for taking on such an ambitious project. It’s one thing to say “Wouldn’t it be cool if…”, but it’s another thing entirely to say, “let’s dedicate the resources to really make it happen inventing whatever needs to be invented along the way.” I have to say it's pretty neat building the future.

PSP Go


The PSP Go launches this fall. No price yet. Stay tuned for more info from Sony's presser tomorrow morning.

Hackers, get ready for this new revolution of UMD-less gaming