Skip to content

Commit 352bee3

Browse files
authored
Update the Linux build instructions
Updated firmware build instructions: * Added virtual machine setup * The Arduino IDE seems to be using Python3 to upload files * Switched from Python2 to Python3 - requires switching esptool.py file * Add a few more high level comments * Reordered the sequence to group like things together
1 parent c6bebc8 commit 352bee3

File tree

1 file changed

+122
-61
lines changed

1 file changed

+122
-61
lines changed

docs/firmware_update.md

Lines changed: 122 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -232,27 +232,71 @@ Note: The COMPILE_WIFI and COMPILE_BT defines at the top of RTK_Surveyor.ino can
232232

233233
### Ubuntu 20.04
234234

235+
#### Virtual Machine - Ubuntu 20.04
236+
237+
Execute the following commands to create the Linux virtual machine:
238+
239+
1. Using a browser, download the Ubuntu 20.04 Desktop image
240+
2. virtualbox
241+
1. Click on the new button
242+
2. Specify the machine Name, e.g.: Sparkfun_RTK_20.04
243+
3. Select Type: Linux
244+
4. Select Version: Ubuntu (64-bit)
245+
5. Click the Next> button
246+
6. Select the memory size: 7168
247+
7. Click the Next> button
248+
8. Click on Create a virtual hard disk now
249+
9. Click the Create button
250+
10. Select VDI (VirtualBox Disk Image)
251+
11. Click the Next> button
252+
12. Select Dynamically allocated
253+
13. Click the Next> button
254+
14. Select the disk size: 128 GB
255+
15. Click the Create button
256+
16. Click on Storage
257+
17. Click the empty CD icon
258+
18. On the right hand side, click the CD icon
259+
19. Click on Choose a disk file...
260+
20. Choose the ubuntu-20.04... iso file
261+
21. Click the Open button
262+
22. Click on Network
263+
23. Under Attached to: select Bridged Adapter
264+
24. Click the OK button
265+
25. Click the Start button
266+
2. Install Ubuntu 20.04
267+
3. Log into Ubuntu
268+
4. Click on Activities
269+
5. Type terminal into the search box
270+
6. Optionally install the SSH server
271+
1. In the terminal window
272+
1. sudo apt install -y net-tools openssh-server
273+
2. ifconfig
274+
275+
Write down the IP address
276+
277+
2. On the PC
278+
1. ssh-keygen -t rsa -f ~/.ssh/Sparkfun_RTK_20.04
279+
2. ssh-copy-id -o IdentitiesOnly=yes -i ~/.ssh/Sparkfun_RTK_20.04 <username>@<IP address>
280+
3. ssh -Y <username>@<IP address>
281+
282+
#### Build Environment
283+
235284
Execute the following commands to create the build environment for the SparkFun RTK Firmware:
236285

237286
1. sudo adduser $USER dialout
238287
2. sudo shutdown -r 0
239288

240289
Reboot to ensure that the dialout privilege is available to the user
241290

242-
3. sudo add-apt-repository universe
243-
4. sudo apt update
244-
5. sudo apt install -y git gitk git-cola curl minicom python2
245-
6. sudo ln -s /usr/bin/python2.7 /usr/bin/python
246-
7. curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
247-
8. sudo python2 get-pip.py
248-
9. sudo pip install pyserial
249-
10. mkdir ~/SparkFun
250-
11. cd ~/SparkFun
251-
12. mkdir esptool
252-
13. cd esptool
253-
14. git clone https://github.com/espressif/esptool .
254-
15. cd ~/SparkFun
255-
16. nano serial-port.sh
291+
3. sudo apt update
292+
4. sudo apt install -y git gitk git-cola minicom python3-pip
293+
5. sudo pip3 install pyserial
294+
6. mkdir ~/SparkFun
295+
7. mkdir ~/SparkFun/esptool
296+
8. cd ~/SparkFun/esptool
297+
9. git clone https://github.com/espressif/esptool .
298+
10. cd ~/SparkFun
299+
11. nano serial-port.sh
256300

257301
Insert the following text into the file:
258302

@@ -266,8 +310,8 @@ Insert the following text into the file:
266310
#
267311
sudo minicom -b 115200 -8 -D /dev/$1 < /dev/tty
268312

269-
17. chmod +x serial-port.sh
270-
18. nano new-firmware.sh
313+
12. chmod +x serial-port.sh
314+
13. nano new-firmware.sh
271315

272316
Insert the following text into the file:
273317

@@ -280,26 +324,32 @@ Insert the following text into the file:
280324
# 1: ttyUSBn
281325
# 2: Firmware file
282326
#
283-
sudo python ~/SparkFun/esptool/esptool.py --chip esp32 --port /dev/$1 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect \
327+
sudo python3 ~/.arduino15/packages/esp32/tools/esptool_py/*/esptool.py --chip esp32 --port /dev/$1 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect \
284328
0x1000 ~/SparkFun/RTK/Binaries/bin/RTK_Surveyor.ino.bootloader.bin \
285329
0x8000 ~/SparkFun/RTK/Binaries/bin/RTK_Surveyor.ino.partitions.bin \
286330
0xe000 ~/SparkFun/RTK/Binaries/bin/boot_app0.bin \
287331
0x10000 $2
288332

289-
19. chmod +x new-firmware.sh
290-
20. mkdir ~/SparkFun/RTK
291-
21. cd ~/SparkFun/RTK
292-
22. git clone https://github.com/sparkfun/SparkFun_RTK_Firmware .
293-
23. mkdir ~/SparkFun/arduino
294-
24. cd ~/SparkFun/arduino
295-
25. wget https://downloads.arduino.cc/arduino-1.8.15-linux64.tar.xz
296-
26. tar -xvf ./arduino-1.8.15-linux64.tar.xz
297-
27. cd arduino-1.8.15/
298-
28. sudo ./install.sh
333+
14. chmod +x new-firmware.sh
334+
335+
Get the SparkFun RTK Firmware sources
336+
337+
15. mkdir ~/SparkFun/RTK
338+
16. cd ~/SparkFun/RTK
339+
17. git clone https://github.com/sparkfun/SparkFun_RTK_Firmware .
340+
341+
Install the Arduino IDE
342+
343+
18. mkdir ~/SparkFun/arduino
344+
19. cd ~/SparkFun/arduino
345+
20. wget https://downloads.arduino.cc/arduino-1.8.15-linux64.tar.xz
346+
21. tar -xvf ./arduino-1.8.15-linux64.tar.xz
347+
22. cd arduino-1.8.15/
348+
23. sudo ./install.sh
299349

300350
Add the ESP32 support
301351

302-
29. arduino
352+
24. arduino
303353
1. Click on File in the menu bar
304354
2. Click on Preferences
305355
3. Go down to the Additional Boards Manager URLs text box
@@ -310,31 +360,31 @@ Add the ESP32 support
310360
8. Click on File in the menu bar
311361
9. Click on Quit
312362

313-
Get the Necessary External Libraries
314-
315-
30. cd ~/Arduino/libraries
363+
Get the required external libraries, add to the Sketchbook location from above
316364

317-
This path is the Sketchbook location from above
318-
319-
31. mkdir AsyncTCP
320-
32. cd AsyncTCP/
321-
33. git clone https://github.com/me-no-dev/AsyncTCP.git .
322-
34. cd ..
323-
35. mkdir ESPAsyncWebServer
324-
36. cd ESPAsyncWebServer
325-
37. git clone https://github.com/me-no-dev/ESPAsyncWebServer .
365+
25. cd ~/Arduino/libraries
366+
26. mkdir AsyncTCP
367+
27. cd AsyncTCP/
368+
28. git clone https://github.com/me-no-dev/AsyncTCP.git .
369+
29. cd ..
370+
30. mkdir ESPAsyncWebServer
371+
31. cd ESPAsyncWebServer
372+
32. git clone https://github.com/me-no-dev/ESPAsyncWebServer .
326373

327374
Connect the Config ESP32 port of the RTK to a USB port on the computer
328375

329-
38. ls /dev/ttyUSB*
376+
33. ls /dev/ttyUSB*
330377

331378
Enable the libraries in the Arduino IDE
332379

333-
39. arduino
380+
34. arduino
334381
1. From the menu, click on File
335382
2. Click on Open...
336383
3. Select the ~/SparkFun/RTK/Firmware/RTK_Surveyor/RTK_Surveyor.ino file
337384
4. Click on the Open button
385+
386+
Select the ESP32 development module
387+
338388
5. From the menu, click on Tools
339389
6. Click on Board
340390
7. Click on Board Manager…
@@ -345,21 +395,17 @@ Enable the libraries in the Arduino IDE
345395
12. Click on Board
346396
13. Click on ESP32 Arduino
347397
14. Click on ESP32 Dev Module
398+
399+
Load the required libraries
400+
348401
15. From the menu, click on Tools
349-
16. Click on Flash Size
350-
17. Select 16MB
351-
18. From the menu, click on Tools
352-
19. Click on Port, Select the port that was displayed in step 38 above
353-
20. Select /dev/ttyUSB0
354-
21. From the menu, click on Tools
355-
22. Click on Partition Scheme
356-
23. Click on 16M Flash (3MB APP/9MB FATFS)
357-
24. From the menu, click on Tools
358-
25. Click on Manage Libraries…
359-
26. For each of the following libraries:
360-
27. Locate each of the libraries in the list below
361-
28. Click on the library
362-
29. Click on the Install button in the lower right
402+
16. Click on Manage Libraries…
403+
17. For each of the following libraries:
404+
1. Locate the library
405+
2. Click on the library
406+
3. Click on the Install button in the lower right
407+
408+
Library List:
363409

364410
* ArduinoJson
365411
* ESP32Time
@@ -372,9 +418,24 @@ Enable the libraries in the Arduino IDE
372418
* SparkFun Qwiic OLED Graphics Library
373419
* SparkFun u-blox GNSS Arduino Library
374420

375-
30. Click on the Close button
376-
31. From the menu click on File
377-
32. Click on Quit
421+
18. Click on the Close button
422+
423+
Select the terminal port
424+
425+
19. From the menu, click on Tools
426+
20. Click on Port, Select the port that was displayed in step 38 above
427+
21. Select /dev/ttyUSB0
428+
429+
Setup the partitions for the 16 MB flash
430+
431+
22. From the menu, click on Tools
432+
23. Click on Flash Size
433+
24. Select 16MB
434+
25. From the menu, click on Tools
435+
26. Click on Partition Scheme
436+
27. Click on 16M Flash (3MB APP/9MB FATFS)
437+
28. From the menu click on File
438+
29. Click on Quit
378439

379-
40. cd ~/SparkFun/RTK/
380-
41. cp Firmware/app3M_fat9M_16MB.csv ~/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/partitions/app3M_fat9M_16MB.csv
440+
35. cd ~/SparkFun/RTK/
441+
36. cp Firmware/app3M_fat9M_16MB.csv ~/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/partitions/app3M_fat9M_16MB.csv

0 commit comments

Comments
 (0)