IMG_20190714_133844334_HDR

Arrow - TNC w/ BLE and 2M Radio

I’ve been working on Arrow for a while now, but I think it’s time I put it to rest for a bit and write down what has been completed. I’ve learned lots of fun things from this project (and some horrible things…like AX.25 and the FCC limitations on the 2M band’s data rates!) and I hope someone in the future can make use of it or would be willing to work with me to encourage further development! ...

November 24, 2022 · 4 min · 709 words · curiousmuch

CC12XX / CC112X Analog FM Reception

The M17 Project has been hunting for a simple one chip solution for their protocol. If you’re unaware of the M17 project, I’ll briefly summarize it, but I recommend you review their website / join their Discord/IRC/Matrix. M17 is an open source protocol for digital mobile radio (DMR). It’s currently utilizing the Codec2 voice codec for compression of voice. The protocol has support raw data frames as well. The PHY for M17 is RRC filtered 4-FSK. The signal is designed to fit within 9kHz of bandwidth for support with analog radios and the standard 12.5kHz channel spacing. ...

February 20, 2022 · 2 min · 259 words · curiousmuch

JLCPCB 2313 Coupon, SMA Footprints, and De-embedding

In a quest to measure the input impedance of the CC1200’s LNA in the 2m amatuer radio band, I created a basic development board for the CC1200. The data lines were broken out to a raspberry-pi header, and the RF lines were routed out to edge mount SMA connectors via 50Ohm microstrip. The stackup was JLC2313. This design had a number of issues. JLCPCB offers a calculator which accounts the soldermask. I didn’t use this tool and instead used KiCad’s built-in calculator which doesn’t account for soldermask. To eliminate this variable, I removed solder mask from the RF traces. This is a common practice, but in the future I should make sure to keep soldermask within the courtyard of the CC1200. I designed the microstrip to use the 7XXX stackup offered by JLCPCB and not 2313 :D, opps. The PA and LNA traces are different lengths! This means in order to de-embedded the measurements, I need to calculate the phase-delay for each length (assuming the microstrip is actually 50Ohms…it wasn’t) or perform additional measurements to de-embedded. The SMA footprint is poorly matched, but to be frank - I wasn’t completely sure of this at this time. In light of all these issues, I decided to run back to basics and create a basic coupon based on the JLC2313 stackup using the JLCPCB calculator. The coupon was designed to used as a SOL cal standard for de-embedding a 20mm microstrip trace. A 40mm microstrip through connection was also added to quickly confirm the performance of the stackup. ...

January 12, 2022 · 2 min · 404 words · curiousmuch

NanoVNA + Python = 🖤

I’ve recently purchased the NanoVNA produced by HCXQS at their store. I’m quite impressed with the product for the price. 50kHz - 4.4GHz T/R Network Analyzer w/ 70dB of dynamic range for S21, and 40dB of dynamic range for S11 measurements for 200.00USD. Th unit is equipped with a touch screen for control and obviously displaying results. In addition, there is a built-in 18650 cell for portable use. I don’t have much to say about the UI/UX experience because I’ve never used it. The device has the ability to be remotely controlled over a serial interface (through USB). The remote interface offers a large number of points per sweep ( 10,000+, built in UI is limited) and all the niceties of using a modern computer when it comes to display, processing and storage. HCXQS has a program called NanoVNA-Qt to remotely control the unit. There is another program called NanoVNA-Saver, also Qt based but written in Python, with near identical functionality. ...

December 8, 2021 · 2 min · 389 words · curiousmuch
image-2

Raspberry Pi Zero W- SSH over USB

If you’re attempting to setup the Zero without Wi-Fi, the best method I’ve found is to utilize Ethernet over USB. This permits SSH over USB. There is quite a few guides illustrating this, but they all assume the host (the computer which you’re connecting the Pi to) will bridge with it’s own internet connection. This gives the Pi access to the router so it will be assigned an IP / register it’s local domain name. ...

June 19, 2020 · 2 min · 228 words · curiousmuch

ESP32 - Stock Firmware Disables JTAG

I’ve been working on a project recently with the ESP32. I purchased 4 raw ESP32-WROOM-32 modules from Digi-key, soldered them to my hardware, and then attempt to flash them over the JTAG interface. Every attempt of programming the module left me with the dreaded all ones seen blah blah blah error. Error: JTAG scan chain interrogation failed: all ones Error: Check JTAG interface, timings, target power, etc. Error: Trying to use configured scan chain anyway... Error: esp32.cpu0: IR capture error; saw 0x1f not 0x01 All of the existing documentation online suggested a hardware fault so I went into hardware troubleshooting mode until I became fully confident the hardware was not an issue. After much thrashing around, I finally noticed the module were pre-programmed as it was dumping data over the UART port. I managed to re-flash the hardware using the UART interface instead and then the JTAG interface was accessible. ...

October 6, 2019 · 1 min · 187 words · curiousmuch
tiny

miniVNA Tiny

I’ve recently been forced to work on an antenna matching issue at work which has been fun and terrifying at the same time (my favorite combination personally). See, I don’t have any traditional RF experience. Everything has been learned on the job / via independent studies; therefore, there I have quite a few gaps I’m trying to fill. I purchased a miniVNA Tiny to continue my studies at home: http://miniradiosolutions.com/ The miniVNA tiny runs between $350-$600 dollars which is two to three orders of magnitude less than a traditional professional VNA new or used. That being said, I didn’t expect much . The best part was I didn’t even really know what to expect because I didn’t know what was important :). I thought measuring the reflected power on a few antennas I had laying around would interest people. ...

March 4, 2019 · 3 min · 613 words · curiousmuch

IdeasX Alpha Manual

IdeasX-User-Guide-v20180119 Download I’ve been working hard to make IdeasX deployable for testing in a real world environment. I’ve also be cleaning up the code based to make it easier for others to hopefully join in on the fun. Attached is the user-manual for the IdeasX Alpha. If you believe you’d be interested in helping or have potential users please don’t be afraid to contact me. Demo Video: I say “ummm” five million times. You’ve been warned. ...

April 7, 2018 · 1 min · 77 words · curiousmuch

CC3220, FreeRTOS, Debugging, and Hairloss

It’s been quite a while since I’ve seriously worked on or written anything about IdeasX. The project has been placed on hold for a few months now. I’ve recently graduated school and I’ve been working on a few things in my personal life. I’ve decided to dedicate a few hours each week to the project to see where it will go. My time is limited thou as I need to spend slightly less than 24x7 hours behind a laptop screen. ...

July 12, 2017 · 2 min · 349 words · curiousmuch

IdeasX - System Architecture

This is old material generated around 2016-2017. I’m posting here to archive the material. The IdeasX system consists of 3 categories of devices: IdeasX connected Encoder - Encoders are sensor equipped devices designed to interpret any feedback an individual can provide with the disability. A few examples of feedback is limb movement, EMG, EEG, and respiration. As a device which will basically “live” with the user, encoders need to be light, portable, wireless, and have a long battery life. In addition, change is hard so encoders have to be a breeze to configure and setup. ...

March 4, 2017 · 4 min · 654 words · curiousmuch