Following you can find useful references for the hardware setup such as schematics and example breadboard wiring setups.
ESP01 Pinout:
FTDI Wire Guide:
- connect FTDI cable
- black:GND, brown:CTS, red:VCC, orange:TXD, yellow:RXD, green:RTS
Breadboard Wiring Guide:
Note:
- 3.3v (red/purple)
- gnd (brown - rightmost)
- reset btn (brown centered)
- flash btn (gray) Modes:
- normal operation (btns released)
- reset (left btn pressed)
- flash (both pressed, left (brown) released first then right (gray))
Example breadboard setup with two buttons:
And a more neat version produced by Robin Baran (@RBinsonB)
- Connect ftdi cable with (vcc, gnd, ch_pd, tx(esp) -> rx(ftdi-yellow))
- in terminal execute
sudo screen /dev/ttyUSB0 115200 8N1
- in terminal execute
- if device is busy use
lsof | grep /dev/ttyUSB0
(forUSB0
) and shutdown the occupying process- Often QGroundControl is the culprit.
- Flash procedure wiring instructions
- Official PX4 ESP8266 documentation
- Configured to connect to a fixed hotspot (see section Usage)
- esp8266 runs on
/dev/ttyS0
on pixracer configuration with 20000 B/s (baudrate of 921600)- see
px/boards/px4/fmuv4/init/rc.board_mavlink
- see
- inspired from dogmaphobic's work.
- depends on esp8266wifi (Documentation).
- e.g. see IP class
- e.g. see WiFi header
- e.g. see UDP driver
- flashing
px4_fmu-v4
- installarm-none-eabi-gcc
here. - in this repository root executepip install -r requirements
- in px4 firmware foldermake px4_fmu-v4 upload
- connect via mavros (installation instructions)
roslaunch mavros px4.launch fcu_url:=udp://:[email protected]:14555
- test it with
rostopic echo /mavros/rc/in
(shows rc commands send to the aerial vehicle)