Having been a lurker for quite a while, I finally decided to grab an account and to throw out a project I've started on Kickstarter http://kck.st/2o4ZJz7
. I know there are a lot of people out there that tinker around with microcontrollers/processors both at work and at home. When I wanted to do some real in depth troubleshooting of a UART interface to a wireless module, I did not see many options besides 2 USB/UART cables and 2 PuTTy sessions.... So ...
Why did we make the Ultimate Serial Port Tool?
Our mission is to make the software/hardware interface development easier for us all.
In the art of learning the software/hardware interface, instrumentation can mean the difference between a project meeting a deadline or pulling your hair out. Knowing what is happening on the wires between your processor and the peripheral, whether it is a Raspberry Pi talking to a uBlox GPS, or a Microchip PIC talking to a cellular modem or an MSP430 talking to an SD card, is critical to making a robust software interface.
The days of using 2 USB-UART cables and opening 2 PuTTY windows to see UART data and trying to correlate the 2 data streams in time are over.
Especially for the embedded designer, but also for the hobbyist, being able to see the data on the wires allows one to verfiy that the software is doing what it is supposed to do. It is not always practical, or even possible sometimes, to use an emulator or debugger to step thru communicae between a processor and a peripheral. An operating system or scheduler, or even buggy interrupt code may cause timing issues with UART, SPI or I2C data that are not apparent. The use of a Logic Analyzer or Oscilloscope can be a great help to track down timing issues, but they do not always have the abilty to view a lot of data on a scalable timeline, export to spreadsheet software or save to log files overnight.
What is the Ultimate Serial Port Tool?
USPT is a combination of hardware and software which connects up to 4 serial port analyzers thru a single USB cable to a PC. One version is geared towards UART development which is still a very prevalent interace in cellular modems, GPS modules, WiFi modules, Bluetooth modules and others. Particularly with UARTs, there is no single tool which can correlate both the Tx and Rx signals in time with respect to each other. Another version is geared towards SPI and I2C development which would be more useful for interfacing to serial memories or interprocessor connections.
The power behind UPST lies in the software interface which has the ablity to view data in many different scenarios such as timeline, packet sequence, byte timing ASCII, HEX, binary, and mixed modes. Log files can be captured over a period of time and opened up at a later time with full timing information as if the capture had just occurred. Data can be filtered by value, sequences or timing and can even be used to set up triggers which act like bookmarks so you can easily find specific data which may have been captured over a long 3 day weekend. With the correct hardware design, data can be injected into either Tx or Rx wires right from the PC and the results can be monitored in real time.
We designed UPST as a tool that you can use to troubleshoot your projects in real time whether it is a data collection gateway, a sensor fusion chip, an SD card or a BTLE module. You can monitor data over long periods and get a better picture of what is happening in your design.