Whitney in Winter

It’s February 2020. You’re excited. You enter the lottery to get permits to hike Mt Whitney. It’s the highest mountain in the contiguous United States. You’ve never been that high before! In March you find out you’ve got a permit for May. There’s some pandemic thing happening, but that’ll totally be resolved by May. You book campsites at Whitney Portal; you book a few nights before at Onion Valley. You’ve got a team ready to go. Time to kick up the training a notch.

Multiple trips to the San Gabriels, culminating in a summit of San Gorgonio two weeks before you’re due to hike Whitney. You hear rumours of permits getting cancelled. You’re nervous, but optimistic. It’s the week before your hike. Your campsites have been cancelled, but oddly not your permit. It’s 5 days before your planned summit. Your permit is revoked. All permits for the rest of the year are already booked. No dice.

Endure 6 months of pandemic…

It’s early November 2020, you’re planning on camping up the 395 for the Thanksgiving week. Permit season has ended, but fire season has devastated the Sierras. Whitney’s still closed.

This image has nothing to do with Whitney, I just needed something to intersperse all the words. It’s taken at the Hot Creek Geological Site, just outside Mammoth Lakes, CA

It’s two weeks before your trip; Whitney is open; permits are being offered for the following week. Ooh. You wait patiently for the week to finish and the following week’s worth of permits to be released. They aren’t…

It’s Wednesday, your trip is planned to start on Sunday. Still no permits for the following week. You phone, they acknowledge its odd, but claim permits will be up the next day most likely. Next day, no permits. You phone Friday, this time they open a reservation spot just for you. You claim the reservation! You phone back minutes later to get them to email you your permit. They do! You have a permit for Monday.

It’s the Thanksgiving week. By some fortune there hasn’t been a snowfall in the Sierras for two weeks, and reports claim the initial season’s snowfall hasn’t been too heavy. You got this.

Parking lot is down there somewhere

Ideally you would have trained for this. You would have planned camping at altitude the few days prior to the summit attempt. You and your wife wouldn’t have to work on the Saturday to ensure work is done for when you get back from your trip. This is not an ideal attempt. But this is probably the only attempt you’re going to get.

Sunday we get a camping spot at Tuttle Creek Campground, just outside Lone Pine. We drive up to the trailhead and take a leisurely stroll. This is all we can do to try acclimatize.

It’s 4am on Monday morning. Time to get up. We met people the day before who had started hiking Whitney at midnight. We met them around 3pm on their way down. Tired but triumphant. We couldn’t imagine starting at midnight. Our bags are pre-packed. Prepared hot water is in the thermos. We top up our oats and eat as we drive up to Whitney Portal. It’s winter, and understandably dark.

While this sign was up at the trailhead, it was clearly old, from when the trails had initially been closed for fires. We had just been given a permit two days prior. When we finished the hike, the sign had been taken down.

04:56 marks our start time. It’s chilly but comfortable. We pick up our WAG bags, gloss over the outdated and yet to be removed “TRAIL CLOSED” sign and start up the trail. Headlights leading the way. Half an hour in we see another vehicle in the parking lot and we have a tail. Half an hour later and we’ve lost them. Concerning :/

To track our pace, and make sure we’d get up and down the mountain safely, I marked down whenever we took a break and how far we’d gone. I was somewhat successful with this on the way up. And on the way down had other things on my mind. Summary at the end of this post.

06:21 we enter the Whitney Zone, 06:48 we hit Outpost Camp. and at 07:25 we’ve done 8.0km of our 18km ascent (then there’s another 18km down). We’re feeling pretty good. We’ve climbed 800m of the planned 2000m.

It’s cold, earlier thoughts of removing base layers disappeared quickly as we ventured deeper into the valleys, and gained altitude. Running streams with hints of cold temperatures are followed by completely frozen lakes, and rock hopping surrounded by ice. But we’re prepared. Gloves stay on. Bandanas and masks that had previously been intended to limit covid transmissibility now do double duty keeping our faces warm. Ice starts to form within our water bottles.

Ice crystals forming

08:48 the sun is well up, but not hitting us. Headlamps are long since forgotten. We just arrived at Trail Camp. It’s empty. We met a couple making their way down half an hour earlier. They’d spent the night at Trail Camp. I do not envy them. Having survived the frigid night, and inspected conditions, they had elected to not summit, and instead head back down to the warmth. What do they know that we don’t?

It starts to snow on us. It’s very weird. The sky is mostly blue with some puffs of cloud. But those puffs of clouds are blessing us with the lightest snow I’ve ever experienced. Weather forecasts predicted clear conditions, and besides these wisps of clouds, the sky is otherwise barren. We forge on. We have switchbacks awaiting us.

It’s an itty bitty snowflake! Look at it!

We break at 10:03 (12.3km). There are a lot of switchbacks. The gradient is extremely steady, and very manageable, but it’s a long way up. A few snowy sections demand caution, but nothing overly dangerous.

At 11:15 we crest the ridge that divides Inyo National Forest from Sequoia National Park. The views down into Sequoia are astonishing. The landscape is incredibly barren, spotted with trees and the most amazing looking frozen lakes. We’ve done 14.3km. We’re at roughly 4200m. Only 5km left, and another 250m of altitude to gain, unfortunately first we have to drop down 100m.

As we’re getting ready to go a guy comes down. He was our tail from 6 hours ago. He’d done the mountaineers route. Enjoyed his time at the top and was on his way down. We’re jealous he made it to the top so fast. It would be nice to be heading down now.

View from the Ridgeline, looking down into Sequoia National Park

We’re both feeling pretty good at this stage. It’s taken us a long time to get here. But we’re not terribly behind schedule. We catch some sunlight here. It’s glorious. Weather forecasts predicted -20 C at the summit. I’ve experienced those temperatures for brief times while skiing, usually followed by some good time in front of the fire. There is no fire here. Even were it to be allowed, there is nothing to burn.

The biggest issue we’ve faced thus far is a slightly upset stomach, a headache, and our camelback nozzles freezing. Not the end of the world. But what do you do when your water freezes. Fortunately the liquid in our packs themselves remained mostly unfrozen. Somehow. Besides our times in the sun, I don’t think we’ve experienced temperatures above freezing the entire day.

But we could keep ourselves warm. Unfortunately we couldn’t control the altitude (I mean we could, but we wanted to get to the top…), and this is when it started to take its toll. The last 2 hours of hiking was some of the least pleasant time I’ve ever experienced. Fatigue. It just killed me.

It doesn’t look cold, but it was

I’ve climbed all the SoCal peaks, but they top out at 3,500m. That’s higher than the highest point in South Africa. For most of my childhood I never spent any time above 2,000m. With only two occasions that I’m aware of to hit 2,900m at the top of the Sani Pass. The highest I’ve ever been outside of an airplane is in the Rocky Mountains, where we got to 3,650m, and we drove to 3,550m, and had a light walk to the top. Now we’re trying to get to 4,400m, and my body is not playing ball.

But we’ve come this far. The weather is good, we’ve got food, we push on. The last two hours are gruelling. And the final few hundred meters have you making your way up a convex crest, never quite sure where the top is. We walk a short way, stop, catch our breaths, continue. We see the hut on the top. I’m too tired to be happy. We sit down in the hut. Relieved more than anything else. We’ve made it.

The sign inside the hut says that the hut will not provide protection from lightning

We force down some food. Drink some water, try to recover. But we’re just so tired. I wish I had felt better. I wish I’d given myself more time to train. I wish we’d spent more nights at altitude before trying to go straight up in one day. I wish for many things. We take some photos. We don’t look happy. I didn’t enjoy the top. I have some photos. The views look amazing. But I was in no state to appreciate it. I want to go back.

We spend only a short time at the top. We still have a long day/night ahead of us. It’s 13:30. We should make it down the sketchiest sections to Trail Camp long before it gets dark. Things to be grateful for. We start the descent.

Happy or pained?

Altitude is one hell of a drug. Going downhill is so much easier. Why couldn’t it all be downhill. We still have a long way to go. But at least I’m not having to stop every few minutes. I’m actually slightly hungry. I’m happy to be enjoying food as opposed to force feeding myself.

We’re down the switchbacks. Tarryn counted them. She got 98. It’s easy to see how someone could count differently. I mean, what really is a switchback. Short breaks to eat and drink, but we’re feeling much better. Struggling to remember how terrible we felt just hours before.

It gets dark and the headlamps are back on. We feel good, but this seems to be taking forever. This path is surprisingly easy to follow in the dark. Like astoundingly. Have to stop once or twice to make sure where the path goes next, but for the most part, just walk and follow the path. I’ve been on countless routes that are harder to follow in the middle of the day.

Surrounded by ice

How is this taking so long? Oh that’s right, it’s just really far.

Ooh someone is following us again. Headlamps are great for being able to spot a tail. The stranger’s light disappears as we go through a wooded section. Stop for another break and zoom! A runner comes flying by. His bright headlamp shining everywhere. Where did he come from? We can’t figure this out. Maybe he did the mountaineers route? He didn’t look kitted out for it, but where else would he have come from? We should have seen him earlier in the day. He checks we’re okay, but doesn’t stop, so there’s no chance to ask.


Finally. Finally. Finally, we make the final turn dropping the last few meters to level up with the parking lot. We’re so close. It’s 20:15. It’s been over 15 hours since we left our car here. The “TRAIL CLOSED” sign is down. That’s reassuring. We hop in our car, eat a snack or two and make our way back to our campsite.

At the campsite, I walk to the restroom. I don’t remember this road being an uphill yesterday. Weird. We sleep well. Wake up the next morning and are relieved to be in relatively good condition.

Looking back on it, I’m very glad we took this opportunity to climb Mt. Whitney. Were conditions perfect? No, far from it. It was very cold, we didn’t have the time to prepare and acclimatize like I would have liked. Would I suggest other people do the same thing? Probably not. Often for hikes like these, you’re advised to just come back later. The mountain’s not going anyway. And it’s true. Whitney’s not going anywhere, but sadly we are. We’re most likely not going to have another opportunity to climb Whitney. So I’m glad we took it.

there’s just something about frozen lakes I’ll never get over

For everyone else though, you want to do it earlier in the year. It was at times unpleasantly cold. You want to take time to acclimatize. You don’t want to feel like I did on the summit. I was miserable, I didn’t appreciate it, I couldn’t. Camp at Whitney Portal a night or two before your hike. Hike to Trail Camp and spend a night there. Take your time and enjoy it.

I’ve added a table below with our average speed for different sections of the route. Besides the first section they’re all much slower than I feel I’ve ever hiked before. They obviously also include break times, so are slower than are actual moving averages, but still.

Microsoft Hyperlapse Pro stuck on “Opening Video”

I like using Microsoft’s Hyperlapse Pro application in Windows to make cycling or driving videos a bit easier to absorb. I’ve used it a number of times in Windows 10 without issue. Recently when trying to load a new video, the application would say “Opening Video” and just stay like that indefinitely. Slowing eating all the RAM your computer has to offer.

Initially I though this was because I was loading an hour+ video, so I tried with a 15min version of the same video, but got the same issue. Some googling shows a number of known issues, the suggested resolution is to open Windows Media Player and accept the licences proffered.

However my computer didn’t appear to have WMP installed. So I assumed this was a Windows 7 specific issue. Further searching didn’t reveal anything concrete, so I found a way to install WMP on Windows 10. After this I opened it, accepted the licences and Hyperlapse worked perfectly! I don’t understand what Hyperlapse was doing before hand, and why they don’t have a popup telling you what to do, but that’s the way it is.


  • Open Windows Media Player and accept licences.
  • If WMP is not installed, do the following:
    • Start Menu > Settings > Apps > Apps & Features > optional Features > Add a feature > Windows Media Player
  • Open Windows Media Player and accept licences.

The Hyperlapse algorithms do a great job of smoothing out moving videos, giving a nice panning motion. Example:

Circuit Sculpture Touch Lamp with PCB shade

I haven’t had a bedside lamp for a while. I just never bothered. So, on seeing a competition on Hackaday for Circuit Sculptures, and having a sudden surge of inspiration, I decided to give it a go.

My final entry can be found on Hackaday.io here, and in tandem I uploaded all the files to Github here. There’s a brief demo video below, and full gallery at the end.

I only decided to do something a few weeks after the competition had started, so I decided to go fast, make easy decisions and not worry about efficiency, or cost too much. LEDs were the obvious choice for light source, but LEDs are bright and directional, not ideal for a lamp. And so I got it into my head to make a lampshade out of PCBs.

With the number of board fabs offering $5 deals on various PCB sizes and numbers, I figured I’d be able to work something out that wouldn’t be too expensive. I went through a number of iterations on various shapes and sizes before settling on a stacked dodecagon design. The layers would be slightly angled, to allow light to reflect off and hopefully out.

Performing some size optimization to fit into Seeed Studio’s 100x100mm cheap design limitation, I ended up with 8 panels per board. I need 12 panels per layer, and size wise I was hoping for 8 layers. This is 96 panels. Seeed gives you 10 boards, so for one order I’d get 80 panels. Knowing I’d need two orders then, I decided to experiment a bit.

I’d already settled on a white silkscreen, to help reflecting light from within the shade outwards, but for the second design I opted to have no silkscreen, in the hopes of some of the light getting through the boards.

For the outside, after I mentioned this and the design limitations to my wife, she was kind enough to generate several different pattern options, making use of the copper and white silk screen combos. Having recently watched the excellent Technology Connection’s video on olden times touch lamps, I liked the idea of being able to touch the lampshade to turn it on. This would require a conductive surface.

With that out of the way I turned to the electronics. I was going for quick and easy above all else, so settled on a small Arduino type controller. Doing some calculations, I realised I probably wanted a max total LED draw of around 10W. But the circuit sculpture nature of the design means cooling is difficult, so I heavily overspecced some LEDs and LED drivers.

I had a 19V power supply lying around, so worked from there. Although I later realized that the micro I’d chosen had a built in 16->5V regulator, so I could have taken advantage of that.

With the PCBs and electronics on order, I did some rough calcs for how much brass wire I’d need and went straight to McMaster Carr. Thereafter I spent as little time as possible designing some 3D printed jigs to make assembly easier. With mixed results.

Some quick prototyping when the electronics arrived had the lights and my ‘touch’ sensing working. Then it was just waiting for it all to arrive.

Assembly was grueling. For a number a reasons. I started off with the lamp shade rings. These went together fairly easily, and my printed jig made it super easy to solder this and ensure I got the right shape. Trying to attach all 8 levels of the shade together however was difficult. I was using 3mm brass wire, as I figured I’d need something sturdy. This is true, but it makes soldering to it difficult, as it takes a while to heat it up enough to get a decent structural bond. You may notice in my final photos that I got a bit of a slant to my shade as well. This is because I had no tools/jigs to help me keep the rods perpendicular to my lamp rings while soldering. TODO: Reduce use of 3mm brass rods.

Next was the LED rings. I had to do 4 rings of 6 LEDs each. Hexagons, easy enough. I’d 3D printed a jig to help with this assembly. But I got a bit ahead of myself, not spending enough time to center the LEDs on each surface, which made my jig useless, and made connecting the LEDs to each other nightmarish. I had lots of cruddy solder joints and shorts which kept me busy for hours trying to debug. I ended up having to excise one of the rings once everything was all already assembled, completely rework it, and then place it back. Not fun. TODO: Make a better jig

This is definitely not the typical interpretation of a circuit sculpture, and it’s a bit disappointing that the main visible electronics are the Arduino, and a regulator, both of which are soldered in a very non-aesthetically pleasing manner. The LED rings which actually look pretty impressive, if not neat, are hidden away behind the lampshade. That being said, the lampshade was supposed to be pretty. TODO: Plan component layout before soldering.

I had originally intended to have the contacts on the lamp shade be a type of touch sensor to turn the LEDs on and off. Unfortunately, although I put vias on the boards, and all of the boards are soldered together, I failed to connect the vias to the solder bridges. I probably could create additional solder bridges on the outer surface, but instead I opted to just make the frame of the lamp the touch sensor. TODO: Update lampshade PCBs to connect all surfaces.

Another problem is that the lights are suspended almost a foot above the electronics. All that is supporting them are three 1mm brass rods that absolutely mustn’t touch each other. Let’s just say that the lights tend to sway a bit when the lamp is bumped. Very visually appealing, and I haven’t had any shorts yet, but something sturdier is needed. TODO: Improve mounting of LEDs in shade.

Those are the main issues I encountered. It was a lot of fun. As impressive as I’ve always found the Circuit Sculptures in the past, trying to do one yourself definitely gives you a new appreciation for how much work goes into getting one that looks neat.

I took a number of videos as I was building up the different components. When I have some time I’ll try compile them.

UPDATE: I compiled them

Capturing Serial Data from Nidec Shimpo Force Gauge

We wanted to automate some testing. We had a Nidec Shimpo FG-3008 force gauge that we wanted to capture data from, but no obvious way to get it. Nidec Shimpo do offer their EDMS software that can log and graph data over time, but it can’t be automated.

The force gauge has two connectors, a USB-B port that is used for charging the force gauge and another port that has a serial out (only for connection to a printer) and some output pins that react relative to a set pin.

When connected via USB, the force gauge shows up as a COM port. The EDMS software obviously connects using this port. Connecting a terminal to the port doesn’t show any data streaming, implying a query needs to be sent to the force gauge to trigger a reading.

We eventually figured out that when you send a ‘?’ (0x3f) to the force gauge, it replies with the current force reading in plain text, of length dependent on the number of characters in the measured value, the last character always being a carriage return (0x0d).

Testing with Realterm

With this information, data capture can be easily automated with Python.

import serial

ser = ser_obj = serial.Serial("COM4",