How to repair Broken Trail Remote on Specialized Turbo Levo 2018 and the pinout for bonus

Specialized e-bikes utilize control cables with a braided wire construction that exhibit a lower tolerance for mechanical stress and extended vibration compared to more industrial durable options. These cables, specifically those associated with the handlebar-mounted remote buttons, are susceptible to fatigue-induced failure due to their fine gauge and hard braided design. This can manifest as button malfunction after a period of sustained use, as experienced in my case after two to three years of riding.

And now the sad part of the story… Replacement part price. For 130 euros, those buttons better come pre-attached to a small gold-plated unicorn. Four buttons? Absolutely criminal!

Disassembly:

  1. Housing Access: The remote enclosure utilizes a sonic welding technique, essentially creating a permanent closure between the two halves. Destructive disassembly is required. A thin, flat-head screwdriver can be used to carefully pry open the housing seam, but caution is necessary to avoid damaging the internal flexible printed circuit board (FPCB).
  2. Cable Removal: Once the housing is breached, the control cable can be severed near the entry point. This allows for the complete removal of the remote unit.
  3. Sealant Removal: The remaining challenge lies in the removal of the silicone sealant. This process requires meticulous cleaning with a sharp tool to scrape away the adhesive from the wires and FPCB. Special attention should be paid to the vicinity of the soldering pads on the circuit board, as these delicate components are susceptible to damage from excessive force.

The pinout:

1 = “S”, 2 = “+”, 3 = “-“, 4 = Foot, 5 = Common

The pinout (see above)
Continue reading ‘How to repair Broken Trail Remote on Specialized Turbo Levo 2018 and the pinout for bonus’ »

KWeld spot welder

I recently bought Kweld spot welder kit for all battery welding purposes. The old, transformer welder was not good and welds were not consistent and reliable. Worst issue with transformer welder was inability to weld thicker metal strips (0,3mm Ni).

The Kweld came with everything needed to start welding except power supply source. They offer supercap bank with charger or recommend some RC batteries. I had niether. The most suitable battery pack I have was 3S1P LiFePo pack with internal resistance of 5mΩ. Unfortuantely such source is not OK for kWeld.

Continue reading ‘KWeld spot welder’ »

Raspberry pico W GUI (-O)

The Raspberry Pi Pico W is a microcontroller board that is based on the Raspberry Pi Pico, but with the addition of wireless connectivity features. Specifically, the Pico W includes built-in Wi-Fi and Bluetooth, which allows it to connect to the internet and communicate with other devices wirelessly.

The Pico W is powered by a dual-core Arm Cortex-M0+ processor, which runs at a speed of up to 133 MHz. It also includes 264KB of RAM and 2MB of flash memory, which can be used to store programs and data. Additionally, the board has a variety of input/output (I/O) pins, which can be used to connect to sensors, actuators, and other devices.

The Pico W can be programmed using a variety of programming languages and development environments, including MicroPython and C/C++. This makes it a flexible and versatile platform for a wide range of projects, including Internet of Things (IoT) devices, robotics, and more.

Here is one example how to use Raspberry Pi Pico W with micropython, one senzor connected via I2C and simple GUI on the android device using GUI-O via WiFi.

Read more

STLINK-V3-MODS Simple Breakout board

I bought few STLINKs V3 (MODS) modules. It is ST-Link module to be embedded on some target system. It can be used as any other ST-Link, but the pinout and castelated via contacts have 50 mils pitch. So I prepared very simple, single sided breakout board with 100 mils pitch. The most important signals are connected to larger pads:

  • SWD
  • VCP Rx/Tx
  • Bootloader Bridge via UART
  • Supply

The “toner transfer” pdf is here (with marked signals):

There is no schematic, just layout:

PCB


Remote SDRs – update

This is short update on my post about seting up the Multiband WEB SDR with remote receivers: https://e.pavlin.si/2021/12/11/multiband-sdr-with-remote-receivers/

The update is based on Armbian, Linux for ARM development boards. First download and write image (CLI) for your preffered board. After first boot, enter default credentials for Armbian (root/1234) and follow some basic setup:


create new password
select bash (1)
enter your new username
create pass for new user
enter real name
Set user language based on your location? Yes

Now enter following commands:

apt update
sudo apt install soapyremote-server
sudo apt install soapysdr-tools
sudo apt install rtl-sdr
sudo apt-get install soapysdr-module-rtlsdr

edit the file /etc/modprobe.d/blacklist.conf and add following lines:

sudo nano /etc/modprobe.d/blacklist.conf 
blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830

reboot with

reboot

Now plug RTL SDR (could be more than one) and check if everything works with:

SoapySDRUtil --probe="driver=rtlsdr"

The output should be something like this:

#
Soapy SDR -- the SDR abstraction library
#
Probe device driver=rtlsdr
Found Rafael Micro R820T tuner
Found Rafael Micro R820T tuner

-- Device identification
driver=RTLSDR
hardware=R820T
origin=https://github.com/pothosware/SoapyRTLSDR
rtl=0

-- Peripheral summary
Channels: 1 Rx, 0 Tx
Timestamps: NO
Other Settings:
* Direct Sampling - RTL-SDR Direct Sampling Mode
[key=direct_samp, default=0, type=string, options=(0, 1, 2)]
* Offset Tune - RTL-SDR Offset Tuning Mode
[key=offset_tune, default=false, type=bool]
* I/Q Swap - RTL-SDR I/Q Swap Mode
[key=iq_swap, default=false, type=bool]
* Digital AGC - RTL-SDR digital AGC Mode
[key=digital_agc, default=false, type=bool]

-- RX Channel 0
Full-duplex: YES
Supports AGC: YES
Stream formats: CS8, CS16, CF32
Native format: CS8 [full-scale=128]
Stream args:
* Buffer Size - Number of bytes per buffer, multiples of 512 only.
[key=bufflen, units=bytes, default=262144, type=int]
* Ring buffers - Number of buffers in the ring.
[key=buffers, units=buffers, default=15, type=int]
* Async buffers - Number of async usb buffers (advanced).
[key=asyncBuffs, units=buffers, default=0, type=int]
Antennas: RX
Full gain range: [0, 49.6] dB
TUNER gain range: [0, 49.6] dB
Full freq range: [23.999, 1764] MHz
RF freq range: [24, 1764] MHz
CORR freq range: [-0.001, 0.001] MHz
Sample rates: 0.25, 1.024, 1.536, 1.792, 1.92, 2.048, 2.16, 2.56, 2.88, 3.2 MSps

Finally, use rtl_eeprom to change serial numbers and add newly created receivers to your WEB SDR.

Optionally: add firewall rule for the Soapy remote:

ufw allow 55132

1 to 4 power splitter

This is small module for splitting 1 signal to 4 receivers. It is part of the multiband SDR receiver, but it can be used standalone for any similar application.

Finished splitter with four SMA connectors
Continue reading ‘1 to 4 power splitter’ »

Multiband SDR with remote receivers

In past I assembled small SDR receiver based on Raspberry Pi and SDR USB dongle based on software developed by PA3FWM. The problem was with limited usability by multiple clients connected to the Raspberry pi at the same time. The old SDR was retired and put aside for few years.

Then András Retzler ha7ilm developed (and stopped developing) OpenWebRx, which was the base for now regulry maintained and further developed OpenWebRx.de.

I recently built homelab server based on “proper” server infrastructure with plenty of RAM and lots of processing cores. I decided to setup OpenWebRx in one linux virtual machine with raspberry pi only as remote receivers serving single user (server itself).

Continue reading ‘Multiband SDR with remote receivers’ »

GoPro Session 3D printed housing

I broke the original housing for GoPro Session (the smallest GoPro). Then I designed more bulky one, suitable for 3D printing.

Here is the OnShape project.

and 3D printed part…

Please send email for STL files.

Final version with holder for quick release gooseneck:


FT991 IPO/ATT FAULT

Yaesu FT-991A Frontend has nasty hidden fault. It is not normal from €1000 radio to stop working just because you use it in a pileup situation or when your close OM is beaming toward you with QRO.

New, out-of-the box radio receive performance of the FT-991(A) was normal, but after other station(s) had transmitted at a higher power levels, the FT-991(A) receiver failed. The failure mode was as follows:

  • Receiver operation is normal when the Attenuator feature is disabled.
  • Receiver operation fails (no receive and a very quiet noise-floor) when the Attenuator feature is enabled.
  • IPO operation enables the Attenuator and results in the same receiver failure mentioned immediately above.

Same issues are reported elsewhere:

Patient with exactly the same simptoms got to the operation table in my lab today. The owner is OM S52W, very successfull contester and member of the famous contest club.

Continue reading ‘FT991 IPO/ATT FAULT’ »

Multi-Service Flight Tracker

(Photo by Dan Gitwood/Getty Images)

There are many flight tracking services around the web and most of them are based on ADS-B receivers placed by individuals. Few months ago I put together simple GP antenna, RTL-SDR and installed Pi-Aware software. It fed data to FlightAware. Soon after one of my mod-school friends asked if I could do the same for FLightRadar24. After some search I found this github repo: Balena ADS-B Multi-Service Flight Tracker. I had good experience with balena (for LoRa gateways) and followed the really excellent step-by-step instructons. Below are some details about my installation of this Multi-Service Flight Tracker.

The plane tracker is now feeding online (with short outages) since August 2019.

Here are links:

https://flightaware.com/adsb/stats/user/s54mtb

https://www.flightradar24.com/account/feed-stats/?id=24076

https://planefinder.net/coverage/receiver/102325

Continue reading ‘Multi-Service Flight Tracker’ »