HomeThe Bluewater Blog

Deloittes_Fast50The team at Bluewater Systems is proud to announce that we have won two awards as part of the recent  2011 Deloitte Fast 50 – celebrating the 50 fastest growing companies in New Zealand.


Bluewater Systems received awards for 29th Fastest Growing Company in New Zealand, as well as Fastest Growing Technology Company – Canterbury and Upper South Island Region, with a growth of 283% over the last financial year.

Bluewater Systems also received a placing in the /Deloitte Technology Fast 500 – Asia Pacific/, with a ranking of 188 out of 500.

We would like to thank all of our staff, clients and suppliers for supporting us throughout the recent turbulent times, as without strong support on all fronts, we know this fantastic growth would not be possible.

During development there are often situations in which a device is left in an unbootable state. Its flash memory has been erased, or incorrectly written, such that the unit performs no useful operation on startup. Generally, this is also how the units will be initially after assembly. Once in this state specialised tools are required to program the units. Typically, this would be JTAG, involving some kind of external JTAG adapter. This works well, as JTAG gives full access to all elements of the CPU. However, it is not without its drawbacks.

  • As standard it requires a 20-way connector, which is quite large in board real-estate.
  • It requires dedicated CPU pins to be routed appropriately.
  • The software is often not easy to automate reliably for programming units in the factory.
  • It requires an external JTAG adapter, and associated software. These are often not easily usable by an inexperienced operator.
With Atmel's AT91SAM range of CPUs, they have included a built in Boot-Rom which runs a protocol they've called SAM-BA. This code allows CPUs to be put into a programming mode when commands can be sent either over USB or the debug UART. Using this mode, we have successfully been able to program our Snapper 9260 at rates of approximately 30kB/s. This is more than ample to allow simple and reliable reprogramming of these units, using just a standard USB cable. To automate this, we've developed a SAM-BA based scripting tool, available from http://www.bluewatersys.com/quickstart/9260sambootassistant.php. This tool is customised for our environment, and supports several useful features
  • NAND support, for read, write & erase of the on-module NAND devices.
  • U-Boot environment support. This allows automatic programing of U-Boot environment variables.
  • YAFFS2 image support, allowing creation & writing of a YAFFS2 filesystem directly to the NAND flash.
Using these features we can reprogram a unit, from completely erased to a standard factory level, in just a few minutes, including the boot loader, kernel and filesystem. While this is not fast enough to be suitable for factory production, it is quite suitable for the occasional situation when someone accidentally erases their system.

Embedded development boards have, in the last few years, progressed from being expensive platforms only available to professional or commercial developers, to almost-commodity devices accessible to anybody with an inclination to tinker. In the same time, the processing power available has progressed from cramped 8-bit micros to something resembling a previous-generation desktop, in a board the size of a deck of cards. As a result, there has been an emergence of hobbyist devices, ranging from the intimidating to the inane, of which we'll highlight a few here. Deeply impressive: Autonomous Trans-Atlantic Sailboats Roboat overview [From: http://www.roboat.at/en/technologie/] The Microtransat Challenge is a trans-Atlantic race of fully autonomous sail boats, designed to stimulate development of autonomous sailing boats. There are currently 12 teams registered for the 2009 race, with control systems ranging from commodity PC hardware to a custom FPGA-based system PCB. Resilience, intelligence, a wide range of sensor options and energy efficiency are key to success for these boats – a task to which modern embedded processors are ideally suited. Inevitable, in a way: RFID Cat Doors RFID cat door overview [From: http://ioanghip.googlepages.com/catdoor – controller laptop not shown] The key to invention is to recognise a need, and address it. In this case, the need is controlling the use of a cat door - whether to prevent other cats entry, or to control what the cat is allowed to bring in with it. In both these cases, the hacked-together prototype is a mishmash of commodity desktop computer hardware and components - a mixture that ideally lends itself to being simplified through the use of a smart embedded controller. While this may seem like an obscure product, commercial variations now exist: RFID Cat Door Pet Porte® Microchip Cat Flaps Just cool: Persistence-of-Vision LED Bike Lights SpokePov biohazard sign [From: http://www.ladyada.net/make/spokepov/index.html] Persistence-of-vision means that rapidly-moving light sources will appear to be present for longer than they actually are, in this instance allowing a rapidly spinning line of LEDs to appear as a solid surface. Combine this with a small micro-controller, a sensor capable of determining rotational position, and you have the ability to display arbitrary images – or to turn your bicycle into a stunning mobile billboard. Again, this appears to be a fairly niche device – more of a toy than anything – but it has been commercialised by a number of companies: SpokePOV Kit MonkeyLectric Monkey Light Hokey Spokes Pimpstar Dub Custom Wheels The focal point here is that the line between hobbyist and commercial development is blurring: build something interesting, and you might find people lining up to give you money.

Bluewater Systems has developed the Big-Eye security camera system. Big-Eye uses a 3 Megapixel CMOS sensor and includes features like power-over-Ethernet, WiFi, IR motion sensing, day and night operation, solid state internal and external storage and even audio in/out. Our latest development with Big-Eye includes a tilt and pan enclosure which is rated for internal and external operation. Installation is as simple as connecting power-over-Ethernet to the camera and providing 24VAC to drive the tilt and pan motors. The tilt and pan operation is driven directly by the camera and can be operated via the GUI software, which can potentially be operated via the web. Below is a picture of Big-Eye in this tilt and pan enclosure. BigEye in a tilt and pan enclosure

In preparation for manufacturing a large number of Snapper CL15 modules, we have been developing an automated test system for quickly and accurately finding assembly faults in Snapper CL15 modules.  The test system will be sent to the manufacturer so that the modules can be tested and, if necessary, repaired at the point of assembly. In the past we have used our Autotester software, combined with a Rig 200 baseboard for testing Snapper modules.  While this approach works reasonably well, it has a number of limitations which make in unsuitable for this task:

  • It is too interactive.  Many of the tests require user interaction or confirmation. For example, the audio test requires the user to confirm that a sound was played correctly, and the USB tests require the user to insert and remove a USB device.  For large builds this interaction becomes both tedious and error prone.
  • It cannot accurately find faults.  A failed test in the Autotester only tells the user which sub-system is faulty, but not where the specific problem is. For example, the video sub-system of the Snapper CL15 comprises of more than 20 pins, but a failed video test in the Autotester does not give any information about which of these may be faulty.
  • The Rig 200 baseboard does not expose all of the features of the Snapper CL15 in an easy to test way.  While the major features of the Snapper CL15 are accessible on the Rig 200 baseboard, many of them require some additional hardware to actually test the functionality.
To solve these problems, we have developed the Snapper CL15 test jig.  The test jig is a standard Snapper CL15 baseboard which has been designed to fully automate the testing of all of the Snapper CL15 features. In the event of a failure, very specific information about the nature of the fault, often referencing a single pin, is given. The problem of requiring external hardware for testing some peripherals is solved by having an FPGA which can monitor and drive pins on the Snapper CL15. The FPGA enables tests which previously required user interaction, such as video test, to be fully automated. For the video testing, the Snapper CL15 runs an application which configures a video mode and displays a test pattern.  The FPGA has registers which contain information such as the number of clocks per line and the sum of the pixel data in the frame. The software running on the Snapper CL15 can verify that this information is correct. Many of the test procedures use loop-backs so that no user interaction is required. For example, the audio tests, which in the Autotester setup required a user confirmation that sound played correctly, loop the line-out to the line-in via an analogue switch. After initially testing that the left and right capture channels are working correctly by feeding a 1kHz (generated by the baseboard) to them, the line-out and high-power out are tested by looping them back to the line-in and comparing the captured audio with what was played. The test jig system will be able to fully test a Snapper CL15 module in around 2-3 minutes, with no user interaction other than insterting the Snapper CL15 module and checking the result of the test. Because the information about failures is highly specific, it enables the manufacturer to quickly find and correct any assembly faults with the modules.