Skip to content

prisect/hexar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hexar

hexagon-shaped radar. 6 antennas, 1 brain. default 24Ghz, maybe will plan for more frequencies

setup

# Prepare machine
sudo usermod -aG input $(whoami)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Restart your machine
git clone --recursive https://github.com/prisect/hexar
# Build and run
cargo build
cargo run --release

dependencies

  • 6 antennas
  • hexar sdr card
  • USB-to-TTL converter (CP2102, FT232RL)
  • UART interface (3.3V / 5V)
  • central processing unit/FPGA
  • Arduino nano & duo
  • *used LD2412 and LD2450, Hi-Link Electronics, 24GHz mmWave
  • RS232+BT
  • GY-4988
  • nRF24L01
  • Doppler Radar RS3400 (77GHz)
  • Doppler Radar KLC-6 (24GHz)
  • GPS+RTL
  • Power regulator (YL105)
  • (optional) XY42STH34-1504A (High Stepper motor)
  • (optional) Op Amp
  • (optional) LNA nooelec SAWBird+GOES L-band for l-band, see bottom

software

dev

  • rust tc
  • cargo
  • gcc
  • make
  • cmake
  • toml

specs

Carrier frequnecy     24GHz          77GHz
Signal bandwidth      15kHz          0.15MHz
Transmit power        20 +/- 1 dBm   25 +/- 2 dBm
Antenna Gain          20 dB          20 dB
H-plane beamwidth     80 deg         15 deg
E-plane beamwidth     12 deg         15 deg

py

  • pyserial >= 3.5
  • numpy >= 1.21
  • matplotlib >= 3.5
  • scipy >= 1.8
  • pyqt5 >= 5.15

ros2

  • rclcpp
  • std_msgs
  • sensor_msgs
  • geometry_msgs
  • nav_msgs
  • tf2_ros
  • rosbag2
  • rviz2

schematic

Untitled Diagram drawio

LD24

LD2412 and LD2450 driver, made in rust.

Example plot of LD2412:

image

other stuff

what about, k-band?

i've also tested something completely different, i might add it or implement it later in some sort.

using the Dish Tailgater’s poorly documented “nudge” command, which moves the antenna in very small steps. each azimuth nudge is about 0.2 degrees, though elevation nudges later proved inconsistent.

image

i wanted to improve the original low-resolution scan of the clarke belt, where each pixel represented one degree of azimuth and elevation. scanning 180 degrees of southern sky took over three hours, which was the fastest possible due to antenna firmware limitations.

below is a close-up of the inset from the original image, still using the low-resolution scan where each colored square is one degree by one degree.

image

originally, i scanned in alternating directions to save time, but motor backlash, indexing errors, and inconsistent nudge distances caused the image to drift diagonally. after repeated suggestions, i switched to single-direction scans, sacrificing aesthetics but finally making high-resolution imaging work.

image

i wasn’t sure the higher resolution would help, since the dish beamwidth exceeds one degree, but the finer 0.2-degree steps produced a clearer image despite some remaining noise and reflections.

l-band?

here is an diy l-band (~1.7GHz). in addition to the wood pieces, it needs some kind of ground plane (using an aluminum pan lid), some stiff wire (pre-coiled around a 1/5″ PVC pipe), an SMA connector, and an LNA. also might use something like this. but, i like k-band more, it's just, more efficient i would say.

image

great resources

About

6 antennas, 1 brain.

Resources

License

Stars

Watchers

Forks

Contributors