Final assembly

A project log for Standing desk remote control

Control multiple desks over wifi

lion mclionheadlion mclionhead 09/15/2022 at 06:140 Comments

The IR receivers marked TSOP3238 achieved 2kbit/sec using PWM, but other receivers scavenged from toys & VCR's  showed much lower bandwidth.  They have some highly variable bandpass filters.  It's unfortunate that a part number is  TSOP.  

To save electricity, the spare pins on every button were soldered to battery ground so pressing any button connects the battery ground to the circuit ground as well as the button's GPIO to ground.  It's a lot more soldering, but interrupt on change historically sucked amps.

The top mounted dial encoder was revealed & the problems began.

The hall effect sensor encoder proved devilish hard to get working consistently.  It's highly dependent on positioning of the magnets & sensor.  That might be the cause of the code parsing appearing to have a bug.  The magnets might have to be smaller, but smaller magnets are a 1 week snail mail away.  The easiest way to win is to copy the dimensions of a known good hall effect encoder.

The best solution was moving the sensor closer to the magnets & having it slightly off of the fiducial.

Full left generates 208, 1/3 right generates 250, 2/3 right generates 109, full right generates 50.  Maybe the magnets have to be over 90 degrees apart where the sensor is.  The sensor could be crossing over the magnets twice when it hits the ends.  The most finicky position is 2/3 right.  That desk takes some doing to command but is rarely commanded.

The decision was made to let the button board flop around instead of hot gluing it down.  Maybe there could be standoffs from the top panel pressing down on it.  The mane idea is none of the buttons get stuck down.  A piece of foam lies on the battery to keep it from flopping around.  It's as big & clunky as something from the space age, but that's the price of big tactile controls.

It took many single layer supports to create the screw holes & the inset edge of the dial.  It's surprising how Ben Heck doesn't use single layer supports.

The dial is created by sandwiching the top panel between 2 parts.

In true recycling tradition, some receivers require swapping PGC & PGD while others don't, based on availability of 4 pin headers.  These 16F1508's represent the last of the 8 bit PICs from the lion kingdom's Skulpt AIM's.  A 5V GND connector was required for programming, since the original firmware was causing the desk to move on its own.  The 16F1508 is 1 of the better 16F's.  It does 20Mhz all the way down to 2.5V & does 16Mhz on its internal oscillator.  The mane gremlins are the need to stop the 16 bit timer to write to the 16 bit time register & the need to poll TRMT instead of TXIF to write to the serial port.

The lion kingdom's once inexhaustible bag of 120R resistors is nearly gone.  That bag of resistors came from Fry's during a late night commute.  They never had exact powers of 10.

The board etching had the worst case of air bubbles in a while.  The board has to be taken out & rinsed.  Merely kicking it around won't pop the bubbles.

The original idea was to keep the stock buttons attached but disconnected for storage, but the space under the desk is used for clamping.  A simple packing tape job was whacked on to see how well it works.

The trickiest position was the instrument since it doesn't have a panel.  It's the hardest to get IR to.  It might be necessary to break out the IR sensor on this one.

Now there are 4 unused button panels.  Most of the cost of these is for how they look.

There is the part about having to search for the remote control instead of always having buttons nearby, but this amount of time should be less than the amount of time spent holding down the arrow buttons.

The bug causing the full up preset to stop 1/2" from the top will probably entail a hack whereby it reads height packets.  If it gets to 1/2" below full height after getting a preset command, it hits the up button until the height packet shows full height or a timer runs out.  The lion kingdom has never intentionally moved the desk to 1/2" below full height. The problem with this is the desk could have stopped because it hit an obstruction, in which case you don't want the up button pressed.  It would have to test for exactly 1/2" below full height & timeout if it doesn't get that reading within a certain amount of time after getting a preset command of if it gets another command after the preset command.