Sunday, January 22, 2023

Blue Diamond pool cleaner drive train assembly fix

Re: automatic pool cleaners.. in my opinion, are overpriced plastic toys designed to capitalize on a vertical market "keep my pool" sparkling clean wish. Nevertheless I fell to the notion and became a proud owner of a "dead in the water" Blue Diamond automatic pool cleaner. It had a sticker Water Tech on it and claimed to be manufactured in late 2003. So with the warranty long gone. I cracked it open.

Upon closer examination it revealed that one of the plastic cap retainers from a drive train assembly snapped, letting chlorinated water (grade 5 oxidizer) into the drive train and a controller compartment.

To get to the part, you need to open up and extract the filter and a protective plastic net around the pump and the drive train modules. Remove the top screws to free the pump motor. (do not open the pump motor housing, it is filled with oil and it will be messy. Should you do that by accident, close the housing up open up a rubber plug under the impeller and refill with non-detergent SAE20 or 30 motor oil, wipe off the residual spill clean from surrounding plastic parts and the motor with paper towels). Note the rubber plug under the impeller.

Once the controller board dried up and plugged into power the driver motor remained motionless while the pump motor would be spinning with no problem. The smoke, touch test revealed that one of the ICs was overheating to a burning point. Looking closely it appeared that the board contained several familiar elements. There was PIC16F84 and a number of voltage regulators for 5 and 12 volts, an opamp that was probably feeding signals from tilt sensors to the PIC, and the MC33033 brush-less 3-phase motor controller close looping throu. MC33039.. The controller would be driving powerful FETS in the half-bridge mode for each of the 3 phases. Suspecting soare me of the FETS blown (and this can happen if both of them remain open foencodedodod of time), I decided to measure the resistance between Gate, Source and Drain on all of them. Two of them showed less than 30 or so Ohm in each and every direction and they were in the same H-Bridge configuration.

This is the board with the two taken out. You can see the tilt sensors in the white frame.

The FETs are MTP50N06 and the corresponding P series MTP23P06, these are old but you still can find them on eBay. Mouser and DigiKey sell newer versions of it, I found RFP50N06 fits quite well. I got MTP23P06 cheap on eBay.

The MC33033DW controller was KIA, so it too had to go. I used a hot air soldering gun at 280 Celcius plus a pre-heater made out of an electric skillet to de-soldBefore:

After lots of flux:

And wiped clean.

Soldered new MC33033DW back to place and replaced some of the charred resistors which connected the motor control IC to the blown MOSFET gates.


It also turned out that the rover uses mechanical tilt sensors. These are based on a metal ball rolling inside a cylindrical enclousre and shorting contacts depending on an angle of the unit. It looked like one of them failed, likely due to oxidation. I replaced those weith the newer units.


Also, current limiting resistors were burned and had to be replaced as well. (They are blue in the picture).
The controll board came to life. It tested OK so I packed it back in to the enclousre and closed the lead.
Saved myself $350 in the process and learned something new..:)

Monday, November 23, 2009

Enabling Multiprocessor Support in Windows XP

My upgrade streak went something like this..486DX66, Pentium Pro200, Celeron300.. my last contraption had a Pentium "solo" core processor, clocked at 850 or so, as in an older book of radio engineering one would have it put, megacycles. All was well and happy I had been until one day I was sucked in to the World of War Craft 3.. open wide, eyeballing over my army moving as if it just had a touch of a smoky magic dragon. The arm race was on and I upgraded ferociously and swiftly.. of course I went an old school and put the next balls heater myself.. why did I do it myself, yes, I like pain.. that's very clear to me now.

I stuck in a multi-core rock, shiny copper heat exchange mother and RAM so cheap I cried. After giving it a kick it all light up as a x-mas tree and went on pumping. Thing were flying for a year or so, than I decided to see how all the 4 cores share the load and to my amazement I only could see one core working! It turned out that old XP installed on a single core didn't have necessary multi-core system files and worked as if my expensive 4 core processor was a single core Pentium. Good thing kind people figured it out before me:

To test all cores are engaged open Windows Task Manager, it should show 4 heart beats..

Wednesday, September 30, 2009

USB "unplugged"

So I want to send a few bytes back and forward between a PeeCee and a "microCee" a microcontroller.
It used to be a serial port. You take a voltage level shifter such as for instance a venerable max232 (back in a day to reach further you just pump more voltage in to lines, these were the simpler times.. rs232 coming out of a PC somehow assumes 12 volt swings in the Tx/Rx) connect it to transmit receive pins on the microcontroller, and provided you have firmware handling the exchange, fire up hyperterminal (you see hyper was there way before v..) and if all went well see some garbled characters popping out in the hyperterminal window.. don't be alarmed, this is your micro is talking to you.. (maybe). All went well for a couple of good years until COM ports are all of a sudden are passe, archaic, not cool a word and hard to find on newer motherboards. Never surrender. My recent laptop has got 5 USB ports, I figure they must be good for something. Scavenging a landfill of 8 bit micros a few years ago I stumbled across the fact that it was quite a challenge to find a decent USB device performer out of the box. CYPRESS was a long and solid player in the USB field, for instance CY7C64xx series provided a full speed USB connectivity, but I remember back than I was a bit skeptic about my abilities to solder TQFP or QFN bricks. I also was somewhat unimpressed by the software toolchain, it was either expensive or a bit bigger "bang" for what I needed it for. FTDI had been and still there but it used to be mostly about COM to USB layer, plus all the logic if any had to be done on PC, FTDI chips would come functionally rigid and if anything you want to do outside the FTDI spec you'd need to couple the FTDI chip with a standalone controller and have software ready to do whatever you need it to do. I wanted, being lazy of course, a single chip solution without the extensive PC software dance around it. Moving along, AVR Atmega, love the architecture, love the developing toolchain.. but until recently no USB in their 8bit controller space. There was this "virtual" implementation of the USB in software (see here) but the lack of speed and the fact that it was not functionally up to the whole specification did keep me away. So here I was, delivered to the gates of PIC18F4550.. by Microchip. No, no I'm not complaining thanks to Microchip and their firmware examples for HID and CID type USB devices I managed to actually hear that illusive sound of a USB device getting picked up by Windows. But these days I'm not quite sure if I would stick with PIC18F4550 if I had a choice. I mean no disrespect but first of all there are finally AVR USB solutions available, second the 32 bit Cortex-M3 family from STMicroelectronics, STM32 is priced very competitively against any other 8,16 or 32 bit microcontrollers and provides extremely versatile toolchain and firmware support. So if I had to do it all over again, I'd go with STM32 but back than PIC184550 seemed to be a quite viable solution and I'm sure it still is for many.

Saturday, April 11, 2009

Some usefull embedded silicon..

PowerQUICC™ II Pro processor with higher CPU performance, added functionality, and faster interfaces MPC8313E
ST Microelectronics STM32F103 Micorocontroller, with the high-performance, high-speed 32-bit ARM Cortex M3 core processor, executing at 90 MIPS, 512k of high access speed Flash Program Memory. Excellent alternative to any PIC or AVR controller.
Philips LPC2119 Micorocontroller, which is based on the high-performance 16/32 bit ARM7TDMI-S CPU Core, 128kb Internal Flash Program Memory

MCF51AC: Flexis™ 32-bit ColdFire® V1 Microcontroller board
Xilinx Spartan-3E FPGA ready made boards in different configurations available from Digilent

Will update this list should anything else of interest pop up..

Tuesday, April 7, 2009

KXPS5 twists and turns..

So the story is like this.. i wanted to read SPI data from an accelerometer through USB. Simple enough? Not really, first I grabbed one of FTDI solutions, namely FT2232L. I quickly pieced together the following contraption..

and ventured to install FTDI driver and build a program out of a sample provided by FTDI website. Everything worked flawlessly, communication to and from the chip was taking place as expected. Outer I/O pins would light up as i wanted them to, that is until I decided to write and read a simple byte in the MPSSE mode. That is utilizing inbuilt SPI hardware support by the chip. I quickly realized that the API that is exposed by ftcspi.dll is quite clumsy for my purposes and wouldn't let me to fine tune and time the protocol as i needed. I'm yet to find a successful implementation of SPI to KXPS5 using FTDI hardware SPI solution. Of course there's always a bit bang mode where i could have software simulated the SPI but failing to launch the first time I kind of felt low pressure in the fuel pipelines to continue with FTDI. One day I saw a sample which would go something like this. SPI_PORT = byte; byte = SPI_PORT;.. I couldn't believe it was that easy to read and write to it. Of course it was a microcontroller.. yeah one of those things where code is still code, small and straight forward. I quickly (pic)ked up a microcontroller chip and build the next following contraption..

After fine tuning a few things, and putting a MCHPUSB bootloader from Microchip USB framework for PIC18 (so i can fine tune a PIC program till i drop) i fired it up, uploaded a program and saw read outs form the KXPS5.

It worked!

Next step, visualize!! I used XNA framework and the examples from Microsoft. I downloaded a free 3D model from TurboSquid spend some time debugging a few timing issues and the final result so far is like this. See it!! At least music is cool..;)

Monday, February 9, 2009

KXPS5 accelerometer, now and than..

I've been looking for a right accelerometer for more than a year. I did have this idea that it would be great to stack up these little guys against the gravi-force of our bubble and see the digits measuring the 3 dimensional tilt flicker on a screen. I went trough a number of choices. The venerable ADXL330 from Analogue Devices. Good, but..a bit pricey and requires 3 analogue to digital input, if having more than 3 connected might ran out of AIN inputs.Than of course STMicroelectronics LIS3LV02DQ this one pumps data trough SPI. I like, but.. still pricey.
Than there is Freescale Semiconductor MMA7455L good one, digital SPI or I2C all bells and whistles in order, and this one would've been my chose providing it only costs around 5 dollars on digikey but wait.. crawling over ebay, totally spaced out as usual, i came across this. Behold KXPS5 series accelerometers by Kionix. And wait there's more, there's a savior out there helping people to get acquainted with this technology at a very reasonable price his ebay tag is crodnet and the page on the web unfortunately at the time of writing the page seems to be inaccessible, but i hope it should be an easy fix. So there.. the package of the unit is not friendly, it is LGA14 and 0.8 mm thin.. some fear and ran when see. But, wait.. it is not that bad.. have a look at the pictures.. all done by somewhat steady hand.

Using low melt, non clean solder and very fine tip of a ESD safe soldering iron at a controlled temperature point. (I personally use AOYUE 937).. but wait, there's more you can even mount it on a PCB..

again, all hand made using presensitized boards and a scaled down transparency. Than you put some solder, flux and than you bake.. more about it next blog entry.

Sunday, January 25, 2009


Often you find yourself bouncing off a fridge back to a stove back to the fridge... open look inside.. yogurt, frozen semi prepared bricks of heavily processed space food, what IS it? Ah, its a dead bird frozen in space-time iced cube, no turning back, blue slopes of shaved skin goosebumps.. no appetite you say? Wrong! Have a go here:


this is a jump you can and should afford, this will remind you the time you heard stereo.. ah.. not that old? Ok how about this, it will remind you the first time you heard 12.1 3D sound penetrating the depth of your inner ear while comfortably floating in a null-graviton chair looking at a holographic projection of Connan the Barbarian. Wait a minute, this is not 2035.. well you got the idea, at least try this food, hope you will not be disappointed.