• Stars
    star
    130
  • Rank 268,524 (Top 6 %)
  • Language
    C++
  • License
    MIT License
  • Created almost 8 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Controlling RC cars with HackRF

Overview

Build Status

Small programs for controlling RC cars with HackRF.

ook_car

ook-car

This car works on 40.684 MHz and moves in 8 directions (forward, backward, left, right, forward-right, forward-left, backward-right, backward-left). You can see it in action here:

demo-ook

The remote control is using OOK modulation with long and short pulses. One long pulse is equal to three short pulses. For example, to move the car forward, we need to send 4 long pulses followed by 10 short pulses. We can easily find the control sequence for each direction by recording the signal from the RC and then analyse it with inspectrum:

ook-signal

To synthesize the signal with the HackRF, we need to transmit SAMPLE_RATE/SYMBOL_RATE samples ('1' or '0') for each bit of the control sequence. We can find the SYMBOL_RATE with inspectrum, it is about 2018. We choose the SAMPLE_RATE to be 2M.

dickie

dickie-car

This is the Dickie Toys Flippy RC Car, it works on 2.4 GHz and moves in 6 directions. You can see it in action here:

demo-dickie

First you need to turn on the car and then start dickie. This is because dickie sends a synchronization pattern upon start and the car needs to receive it. You can find more details about the remote protocol in this blog post.

concept

dickie-car

This car is very similar to the one from Dickie Toys. The support was added by @alexbilevskiy, you can find more details in this PR.

rover

rover-car

This is Range Rover donated by thegiftscholars.com especially for this project! It works on 2.4 GHz and moves in 8 directions. You can see it in action here:

demo-rover

Build & run

The programs depend only on SDL2, SDL2_image and libhackrf. To build on Linux:

$ sudo apt-get install libsdl2-dev libsdl2-image-dev libhackrf-dev
$ make
$ ./ook_car
$ ./dickie
$ ./rover

To build on OSX:

$ brew install sdl2 sdl2_image hackrf
$ make
$ ./ook_car
$ ./dickie
$ ./rover

Support

If you want to support the project you can send me an RC toy and I will try to reverse engineer its protocol and add it here. Send me an email for more details.

More Repositories

1

footswitch

Command-line utility for PCsensor and Scythe foot switches
C
390
star
2

ggtag

programmable e-paper tag with RFID
C
262
star
3

py-air-control

Command line app for controlling Philips air purifiers
Python
245
star
4

nfqsed

Modify network traffic with netfilter_queue
C
86
star
5

gen5fw

Firmware tools for Mobis Gen5 navigation
Python
84
star
6

tesla-opener

Open Tesla charging port with HackRF
C++
70
star
7

shanocast

Google Chromecast Reciever
Nix
62
star
8

spoof_temp

Spoof temperature sensor with HackRF/FlipperZero
C++
38
star
9

aprs-sdr

APRS tracker with an SDR
C++
30
star
10

mks

Client for VMware consoles
Python
25
star
11

xxe-example

XXE vulnerability demo
Java
22
star
12

mario

Inject keystrokes with LEGO Mario
Python
19
star
13

ggwave-fm

Transmit ggwave encoded messages with an SDR
C++
16
star
14

dlp

Discrete logarithm problem
Java
12
star
15

vmdecrypt

Decrypt multicast Verimatrix streams
Go
9
star
16

pyvmdk

Python scripts for VMDK manipulations
Python
7
star
17

solo-pgp

PGP with Solo key
Python
5
star
18

rfbot

Slack bot for doing RF stuff
C++
4
star
19

vmware-vspc

Virtual Serial Port Concentrator
Python
4
star
20

sms

Send SMS messages from command line
C++
4
star
21

usdr

C++
3
star
22

osmo-sdr

Mirror of osmocom/osmo-sdr
C
3
star
23

stereovision

Capture video from two cameras
C
3
star
24

rabbit-comet

Comet application delivering messages from RabbitMQ broker
Java
3
star
25

remote-kbd

C
2
star
26

qsl

QSL cards gallery
Java
2
star
27

ctkip

Java
2
star
28

cec-watch

Emit a keypress when the display is powered off
C
1
star
29

stm32f3

Applications using the STM32F3 Discovery board
C
1
star
30

p4actions

Eclipse plug-in that adds custom actions to pending Perforce changelists
Java
1
star
31

nova-mksproxy

Nova console proxy for VMware instances
Python
1
star
32

openenclave-openssl

For using the OpenSSL libraries with the Open Enclave SDK
CMake
1
star