Archive for category Recumbent Bicycling

Wouxun KG-UV3D: Enemy Action

Once is happenstance, twice is coincidence, three times is enemy action:

Wouxun KG-UV3D - failure 3

Wouxun KG-UV3D – failure 3

All of the (surviving) battery packs produce 9.0 to 9.2 V, a bit hotter than the pair of fully charged lithium cells the radio expects to see, but the first two radios lasted for six years under that abuse.

This one failed after a few hours. It’s a new radio, but I’m willing to assume I killed the thing and will just eat the cost.

I have no theories about what’s going on, but I must tweak my APRS interface to work with a Baofeng radio I have on the shelf.

From now on, though, both radios will run from their stock battery packs.

Maybe I’m just a slow learner.



VFAT Time Zone Offset Correction

An SJCAM M20 action camera includes the date and time in its file names, but the directory entries appear with the wrong timestamp:

sudo mount -o uid=ed /dev/sdc1 /mnt/part
ll -tr /mnt/part/DCIM/Photo/ | head
total 4.8G
drwxr-xr-x 4 ed root  16K Apr  8  2016 ../
drwxr-xr-x 2 ed root 144K Jan 25 18:52 ./
-rwxr-xr-x 1 ed root 3.8M Jan 26 05:08 2018_0126_100825_001.JPG*
-rwxr-xr-x 1 ed root 3.8M Jan 26 05:08 2018_0126_100830_002.JPG*

I’m in the Eastern US time zone, -5 hr from UTC.

By definition, FAT directory entries contain the “local time” when the file was created / changed. Because it cannot know which “local time” applies, the Linux VFAT filesystem treats the timestamp as UTC and adjusts it by -5 hr.

So the camera writes the directory timestamps properly. When mounted, Linux correctly (for a reasonable definition of correctly) regards them as UTC, knocks off five hours to match this time zone, and displays the result.

Alas, disabling the VFAT timestamp conversion has no effect:

sudo mount -o uid=ed,tz=UTC /dev/sdc1 /mnt/part
ll -tr /mnt/part/DCIM/Photo/ | head
total 4.8G
drwxr-xr-x 4 ed root  16K Apr  8  2016 ../
drwxr-xr-x 2 ed root 144K Jan 25 18:52 ./
-rwxr-xr-x 1 ed root 3.8M Jan 26 05:08 2018_0126_100825_001.JPG*
-rwxr-xr-x 1 ed root 3.8M Jan 26 05:08 2018_0126_100830_002.JPG*

I’m not sure why that doesn’t do anything; it doesn’t generate any error messages.

Although it seems like a reasonable thing, one cannot force a specific time zone with, say, tz=EST or tz=EDT or tz=UTC8 or whatever.

You can specify an offset in minutes:

sudo mount -o uid=ed,time_offset=$((-5*60)) /dev/sdc1 /mnt/part
ll -tr /mnt/part/DCIM/Photo/ | head
total 4.8G
drwxr-xr-x 4 ed root  16K Apr  8  2016 ../
drwxr-xr-x 2 ed root 144K Jan 25 23:52 ./
-rwxr-xr-x 1 ed root 3.8M Jan 26 10:08 2018_0126_100825_001.JPG*
-rwxr-xr-x 1 ed root 3.8M Jan 26 10:08 2018_0126_100830_002.JPG*

The time_offset value is subtracted from the directory timestamp, which means you’re feeding in the actual time offset from UTC, including whatever Daylight Saving Time offset may be in order.

So Linux takes the FAT timestamp, adds (subtracts a negative) 5 hr, and displays the result as my (now correct) local time.

I suppose I could set the camera to UTC, but then the camera’s on-screen and in-video timestamps would be off by four or five hours, depending on the season. So it goes.



Wouxun KG-UV3D: Another Failure

Once is happenstance, twice is coincidence:

Wouxun KG-UV3D - failure

Wouxun KG-UV3D – failure

Three times is enemy action, but we’re not there yet. I was willing to believe something I’d done had killed both of the radios, even though it seemed unlikely for them to last five years and fail almost simultaneously.

So I dismantled this one to see what’s inside. Pull off both knobs, remove the two screws at the bottom of the battery compartment, pry gently with a small screwdriver, and the whole PCB pulls out:

Wouxun KG-UV3D - disassembly

Wouxun KG-UV3D – disassembly

A bit more prying separates the big pieces:

Wouxun KG-UV3D - interior

Wouxun KG-UV3D – interior

Looking closely at the main PCB showed some problems I definitely didn’t cause:

Wouxun KG-UV3D - PCB overview

Wouxun KG-UV3D – PCB overview

Although it’s been riding around on my bike, the white blotches on the PCB came from inadequate flux removal after hand soldering.

A collection of images taken through the microscope reveals the problems:

This slideshow requires JavaScript.

I swabbed off the crud with denatured alcohol to no avail. The bottom side of the PCB has even more components and, I’m sure, even more crud, but I didn’t bother removing all the screws required to expose it, nor did I dismantle the other failed HT.

I doubt Wouxun’s QC improved over the last few years, which means the two replacement KG-UV3D radios I just bought are already on their last legs, despite my paying top dollar to the same reputable source that sold me the first pair.

We’ll be ready for new radios on new bikes by the time these fail.



Eyebrow Lights

A high energy collision / accident / mishap in front of Adams Fairacre Farms (a.k.a., the grocery store) demolished 20 feet of their dry laid stone wall along Rt 44, flattened several bushes, gouged trenches in the grass, and scattered plastic debris into the parking lot. The remains of a headlight eyebrow running light emerged from a snow pile:

Eyebrow light - front

Eyebrow light – front

From the back:

Eyebrow light - back

Eyebrow light – back

Contrary to what I expected, it has one white LED at each end of the chromed reflecting channel, topped with a shaped plastic lens collecting the light:

Eyebrow light - Lens mount

Eyebrow light – Lens mount

The LED PCBs are in series, which produced a backwards wire color code on one end:

Eyebrow light - LED PCB 1

Eyebrow light – LED PCB 1

The other end looked more reasonable:

Eyebrow light - LED PCB 2

Eyebrow light – LED PCB 2

The white SMD LEDs draw 300+ mA at 3.6 V, so they’re obviously depending on external current limiting provided by the regulator PCB, sporting a TLE4242 linear current regulator and a handful of passives:

Eyebrow light - Regulator PCB

Eyebrow light – Regulator PCB

AFAICT, they didn’t use the chip’s PWM control input or its LED failure status output.

Extracting the various PCBs from the wreckage and reconnecting the wires produced a satisfactory result:

Eyebrow light - resurrection

Eyebrow light – resurrection

The regulator limits the LED current to 120 mA at any input from a bit over 7 V to well past 12 V, with each LED dropping 3.0 V.

Dunno what I’ll use this junk for, but at least I know a bit more about eyebrow lights. The chip date codes suggest 2010 and 2012; perhaps linear regulators have become passe by now.



Cycliq Fly6: Battery Replacement

After verifying my defunct Cycliq Fly6 has a dead battery, I ordered a handful of 18650 cells from Batteryspace (a known-reputable source):

Fly6 - battery replacement - Samsung label

Fly6 – battery replacement – Samsung label

The transplanted protection PCB goes between the tabs, with a nickel strip snippet because I didn’t cut the old strip in the right place:

Fly6 - battery replacement - PCB

Fly6 – battery replacement – PCB

The PCB goes under a manila paper layer, the ends get similar caps, and the whole affair receives an obligatory Kapton tape wrap:

Fly6 - battery replacement - endcap

Fly6 – battery replacement – endcap

Reassembly is in reverse order. I now know the Fly6 will reset / start up when the battery connector snaps into place, but, because it emits identical battery-charge beeps when it starts and shuts off, there’s no way to tell what state it’s in. I don’t see any good way to install the ribbon cable from the LED PCB before plugging in the battery, so just blindly press-and-hold the power button to shut it off.

After an overnight charge, it makes videos of my desk just fine and will, I expect, do the same on the bike.

Now that I’ve taken the thing apart, I should open it up and tinker with the (glued-down) camera focus adjustment to discover whether:

We’ll find out when the weather warms up in a week or two.



Cycliq Fly6 Failure and Teardown

My Cycliq Fly6 continued to shut down during rides, even with a new video-rated card, suggesting:

  • The fault resides in the camera
  • The Samsung card is just fine

Following all the steps recommended by Cycliq Tech Support didn’t improve the situation. It’s just under two years old and thus outside the warranty, so they advised me to buy their new, not-quite-released-yet Fly6, now with Bluetooth / ANT+ / phone app / shiny, but still with a non-replaceable battery.

Seeing as how the Fly6 works as well as it ever did, apart from the minor issue of shutting down both dependably and intermittently, the problem is almost certainly a bad battery. Cycliq does not offer a repair service, nor a battery replacement service; being based in Australia probably contributes to not wanting to get into those businesses. You’re supposed to responsibly recycle the Whole Damn Thing when the battery goes bad. Which, inevitably, it does.

Protip: anything with a non-replaceable battery is a toy, not a tool.

The most recent ride gave some evidence supporting a bad battery. The first shutdown happened after about half an hour and it gave off three battery status beeps (four = full charge, as at the start of the ride) when I restarted it a few minutes later. It shut down again a few minutes later while we were stopped at a traffic signal and gave off one lonely charge beep when I reached back to restart it, indicating a very low battery voltage. The battery voltage (and the number of startup beeps) increased with longer delays between shutdown and restart, but after the first shutdown it’s never very enthusiastic.

Having nothing to lose, let’s see what’s inside:

Cycliq Fly6 Teardown from inside

Cycliq Fly6 Teardown from inside

Don’t do as I did: you should extract the MicroSD card before you dismantle the camera.

Remove the rubber plugs sealing the four case screws:

Fly6 - Exterior screw plugs out

Fly6 – Exterior screw plugs out

The case pops open, with a ribbon cable between the LEDs and the main circuit board:

Fly6 - Case opened

Fly6 – Case opened

Pull the ribbon cable latch away from the connector before pulling the cable out.

It’s amazing what you find inside a blinky taillight these days:

Fly6 - PCB Top side

Fly6 – PCB Top side

I’m sure there’s a fancy 32 bit RISC computer in the big chip, along with plenty of flash ROM just below it. The clutter over on the right seems to be the power supply. Yeah, it has a camera in addition to blinky LED goodness, plus USB charging, so eight bits of microcontroller aren’t nearly enough.

There’s supposed to be some nanotech waterproofing protecting everything inside. It sure looks like magic to me and, in any event, solders just like a layer of ordinary air.

Note: the case screws are slightly longer than the PCB retaining screws:

Fly6 - Case and PCB Screws

Fly6 – Case and PCB Screws

The underside of the PCB has even more teeny parts, along with, mirabile dictu, a battery connector and (most likely) battery charging stuff:

Fly6 - PCB Underside

Fly6 – PCB Underside

A plastic piece holds the “Rechargeable Li-Ion Battery Pack” in place:

Fly6 - Battery in place

Fly6 – Battery in place

A strip of gooey adhesive holding the mic and speaker wires in place also glues the battery strap to the case, but it will yield to gentle suasion from a razor knife.

Pause to count ’em up:

  • Four case screws (longer)
  • Three PCB screws
  • Two battery screws

It looked a lot like an ordinary 18650 lithium cell to me and, indeed, it is:

Fly6 - Battery - label

Fly6 – Battery – label

More razor knife work removes the outer shrinkwrap. The cell has a protection PCB under the black cardboard cover:

Fly6 - Battery Protection PCB - on 18650 cell

Fly6 – Battery Protection PCB – on 18650 cell

I don’t know what the yellow wire does:

Fly6 - Battery Protection PCB - wire side

Fly6 – Battery Protection PCB – wire side

The FS8205A on the left may be an SII S8205 protection IC preset and packaged for a single cell:

Fly6 - Battery Protection PCB - components

Fly6 – Battery Protection PCB – components

After all that, yeah, it’s a dead battery:

Fly6 OEM 18650 - EOL - 2017-12-06

Fly6 OEM 18650 – EOL – 2017-12-06

The red curve shows the in-circuit charge state after taking it apart, the green curve comes from charging the bare cell in my NiteCore D4 charger. I have no idea what the nominal current drain might be, but a 0.25 Ah capacity is way under those Tenergy cells.

A new cell-with-tabs should arrive next week, whereupon I’ll solder the protection circuit in place, wrap it up, pop it back in the case, and see how it behaves.




Sandisk 32 GB High Endurance Video Monitoring Card

Despite my misgivings, “Ships from and sold by” suggests I could return a Sandisk 32 GB High Endurance MicroSD card if things turned out badly:

MicroSD 32 GB - Samsung EVO and SanDisk High Endurance

MicroSD 32 GB – Samsung EVO and SanDisk High Endurance

Unlike the Samsung cards, Sandisk charges a substantial premium for not buying through Amazon.

Verifying the card using f3probe produced the same results as with the earlier 64 GB card and copying the existing files from the Fly6 card (on the left) went smoothly:

rsync -rtv /mnt/Fly6/ /mnt/part

“High Endurance” means it’s rated for 5000 hours of “Full HD” recording, which they think occurs at 26 Mb/s. The Fly6 records video in 10 minutes chunks, each weighing about 500 MB, call it 1 MB/s = 8 Mb/s, a third of their nominal pace. One might reasonably expect this card to outlive the camera.

As with the AS30V, we shall see …