CHAPTER Return to Pioneer webpage Geoscan Pioneer is a multifunctional educational complex. It was developed for schools, robotics labs and for individual use. Use Pioneer to: • study the robotics and avionics basics • get to know the principles of quadcopter constuction...
500 m Max wind speed up to 5 m/s Operation temperature From 0 to +40 °C 1.1 Pioneer assembly Important: The stock Pioneer kit contains all necessary parts and tools to assemble and launch it. Chapter 1. Return to Pioneer webpage...
Pioneer assembly is executed in two stages: Frame assembly Protection assembly Modules connection is described in Extension modules 1.1.1 Frame assembly Pioneer kit contains all necessary elements and tools Step 1 Chapter 1. Return to Pioneer webpage...
Page 9
Parts: unit assembled at step 1, studding nut (long) 4, m3x10 screw Install the stands on the botoom side of the frame and secure them with M3x10 screws like shown in the picture. Step 3 Parts: unit assembled at step 2, dampers 4, M3x4 screws 1.1. Pioneer assembly...
Page 10
Using M3x5 screws thighten the stands on the battery bay cover like shown on the picture. These stands will be required for mounting extra modules. Step 5 Parts: unit assembled at step 3, landing gear (upper lower), battery compartment back␣ plate. Chapter 1. Return to Pioneer webpage...
Page 11
Parts: unit assembled at step 4, unit assembled at step 5, M3x10 srews. Using M3x10 screws, connect the assembled frame and lipo bay cover together (steps 4 and 5) Step 7 Parts: unit assembled at step 6, studding nut(metal, short) 4, main board. 1.1. Pioneer assembly...
Place protection mounts and secure them using M2x6 screws like shown on the picture Step 9 Parts: unit assembled at step 8, protection arch 8, protection bar 8, M3x10 screw 8,␣ studding nut (long) (continues on next page) Chapter 1. Return to Pioneer webpage...
Page 13
Step 10 Parts: unit assembled at step 9, protection arch 8, protection bar 8, M3x10 screw Connect the stands and protection arcs using M3x10 screws. Step 11 Parts: unit assembled at step 10, 5030 prop -2, 5030R prop 1.1. Pioneer assembly...
Install the receiver on the landing gear using elastic ring. Connect the PPm cable to the board under mUSB port. For further instructions, proceed to First switch-on 1.1.3 First switch-on To turn Pioneer on, place the LiPo battery in the bay and plug in its connector to the board. Chapter 1. Return to Pioneer webpage...
Page 15
• White led blinking fast - error • When the battery voltage drops down - quadcopter begins to beep every 5 seconds. Attention: Pioneer is able to switch off its motors in case of: • pitch or roll angle more than 90°; • strike or fall.
1.2.1 Firmware update For Pioneer to perform correctly, it is recommended to upload the last version of firmware. You need to have Pioneer station installed on your PC. If you don’t have it, click...
2. The default screen image looks like this: “warning! Place all switches in their up position” means you have to check all flipswitches and place left stick to its lower position. 3. Use touchscreen to navigate the menu and press settings icon. 4.
Pioneer to your PC. Switch to “autopilot parameters setting” tab. To perform a setting, Pioneer should be connected to PC and its current parameters should be displayed in right part of Pioneer station window. Switch to “autopilot parameters” tab. Left column represents parameters, their current values are dis- played in the second column.
Changing stock motors on Pioneer to more powerful (or any other at all) may result in different electrical specs. This, in turn, will lead to pre-flight checks fail, and Pioneer will not be able to take off. Adjust the following parameters to reset pre-flight checks: •...
Page 20
Note: Older firmware versions do not support log download by Plazlink protocol. In that case, select Logs - Download logs from AP by Payloader menu tab. Follow the wizard instructions (press and hold “Start” button on Pioneer board and connect it to the computer). After that select folder and start log download.
• Select the channel you need and Add it to the preview window. • Customize data projection with checkboxes and plot color pallette. • Use right mouse button and mouse wheel for plot navigation and scale change. • To change time scale (horizontal), press and hold Ctrl and use mouse wheel. •...
FlySky F6S RC unit can be connected to PC via USB cable to start your training in any simulator. To get familiar with buttons and sticks, read RC Unit Pioneer reaction on sticks movement is described in Controls Most flight simulators may be quite expensive, but to learn the basics a free or demo version is enough.
Page 23
When you can fly in selected direction without loosing or crashing the drone, you are prepared for actual flight using Pioneer. Note: The simulator gives the ability to learn first person view (FPV) flying as well. To toggle it, switch the camera button in FPV mode.
Danger: If the battery is severely damaged, do not try to extract it immediately ! The bend and additional air inflow may cause intensive flame and lead to burn. If you notice a flare or smoke from the drone, land on a non-flammable surface immediately. Chapter 1. Return to Pioneer webpage...
1.3.3 Flight safety Pioneer is designed for both indoor and outdoor usage. The temperature should be from 0 to +40 °C and humidity no more than 80%. Quadcopter is not intended to fly in the rainy, snowy or windy conditions.
Page 26
If the stick is moved up, the quadcopter will gain altitude • If throttle stick is moved down, the drone will loose altitude. SW& switch in lower position activates loiter mode Chapter 1. Return to Pioneer webpage...
1.3.5 Controls To control the Pioneer via RC transmitter, follow these rules: Altitude control When throttle/yaw stick is pushed forward, the drone will gain altitude and decline when stick pulled down.
9. Turn on the motors. To do this, place the left stick in the lower-right position. 10. Wait until all props start spinning and take off smoothly. Stick to safety rules during flight, don’t let the drone crash. Chapter 1. Return to Pioneer webpage...
11. Stop the motors after landing. To do this, place the left stick in the lower left position. 1.4 Extension modules Pioneer’s functions can be extended with different programmable modules. 1.4. Extension modules...
Pioneer Station TRIK studio Note that connected modules consume additional energy, which shortens the flight time 1.4.1 Extension modules board Extension modules board provides the ability to plug in different module to the base board. Chapter 1. Return to Pioneer webpage...
Page 31
The board is equipped with laser range sensor as well. It provides the ability to precisely estimate the altitude up to 1.5 m above the surface. The sensor is activated in alt.hold mode. Pioneer will remain the same altitude regarding the surface. If the distance between the drone and the surface changes, Pioneer will react, trying to compensate the change.
Use 8 channel of the RC unit to operate the module. A free SwA flipswitch can be used. To set the channel, turn on the RC unit, use touchscreen to select function-AUX Channels - 8 and choose SwA as Chapter 1. Return to Pioneer webpage...
Page 33
Now you should upload the program for Pioneer’s cargo module. Use the given code, which allows to control the magnet with SwA switch. Magnet control port (PC3) initialize Pioneer_Base v local magnet Gpio.new(Gpio.C, 3, Gpio.OUTPUT) and␣ Magnet control port (PA1) initialize...
X - axis is directed to the East, Y - axis to the North. Z represents the altitude. Pioneer gets its position from the switch-on moment. This point is considered to be (0, 0, 0) in ap.go- ToLocalPoint command.
Page 35
Example Below is a example of GPS module program. Upload it to Pioneer, find a spacious site and connect the LiPo battery. Wait until module LED stops blinking, then switch SwB to lower position and push “Start” button on the quadcopter’s base board. In 5 seconds Pioneer will take-off, fly 10 meters east and return to launch point.
Page 36
Event processing function called automatically by autopilot function callback(event) After Pioneer reaches Flight_com_takeoffAlt, it starts mission flight if(event Ev.TAKEOFF_COMPLETE) then nextPoint() When Pioneer reaches current point it initiates flight to next point if(event Ev.POINT_REACHED) then nextPoint() After Pioneer lands, it switches off LEDs (event Ev.COPTER_LANDED) then...
For more details see OpenMV documentation page OpenMV module communicates with the main Pioneer board using UART interface. You need two sep- arate programs for Pioneer and camera to structure this protocol. Use the following code for Pioneer: initialize UART interface local uartNum...
Page 38
1) then i uart:read(uart:bytesToRead()) (#buf == 0) then buf = '\0' end --buf leds:set(1, 0, i/N, 0.5*i/10) --local buf[#buf] (strUnpack nil) then local b strUnpack("B", buf) return else return (continues on next page) Chapter 1. Return to Pioneer webpage...
Page 39
(continued from previous page) --string.byte(buf) --return #buf --return string.byte(string.sub(buf, -1)) --return string.byte(buf) local takerFunction function () function to read UART data local intensity getData() 100.0 changeColor(intensity, intensity, intensity) local interval getMeasureTimer Timer.new(interval, takerFunction) photo timer getMeasureTimer:start() changeColor(1, 0.2, 0) orange Code for OpenMV # Hello World Example # Welcome to the OpenMV IDE! Click on the green run arrow button below to run the script!
The module is also equipped with optical distance sensor. It can measure altitude above the floor or other objects from 0 to 1.5 m range. When Pioneer exceeds this value, the barometer is used for altitude control.
Page 41
“Firmware update” in program’s menu and follow the wizard instructions. On “device choice” tab you will see both Pioneer Base and Optical flow module. Click the module checkbox and proceed. It is recommended to select “internal” firmware source. Wait for update to end, the quadcopter will be reloaded to standard mode.
Page 42
(event Ev.POINT_REACHED) then action[curr_state]() turn off LEDs after landing (event Ev.COPTER_LANDED) then changeColor(colors[7]) turn red LED on changeColor(colors[1]) start 2-second timer execute first array function (flight preparation) Timer.callLater(2, function () action[curr_state]() end) Chapter 1. Return to Pioneer webpage...
X2 connector with parallel cable. Depending on uploaded program, a LED module is used for backlighting or colour indication. As an example a random colour program is given below. Use Pioneer Station to upload the program...
Page 44
) ledMatrix [i] then ledMatrix [i] colors with Filling matrix array color function (colors color RGB) local function fillMatrix( colors ) 1, matrix_count ledMatrix [i] colors (continues on next page) Chapter 1. Return to Pioneer webpage...
Page 45
(continued from previous page) Digit symbol to matrix array write function (x digit, colors color RGB form) local function setDig( x, colors ) _, v ipairs(dig[x]) do ledMatrix[v] colors The end of affecting matrix functions ----------------------------------------------------------------------------------------------- --------------------- function callback( event ) from while from...
The mount is attached to the lower part of the frame with M3x5 screws, providing a solid Gopro camera joint to capture onboard video during flight. Its vertical angle may be adjusted. Be careful while take-off and landing stages, as the mount with A Gopro affects the quadcopter’s balance and dimensions. Chapter 1. Return to Pioneer webpage...
Runcam Split control board. Plug the camera connector to X1 on the Pioneer base board. Connect the battery to set camera modes. It is convenient to control Runcam Split with smartphone app via Wi-Fi. Download and install it from...
Indoor flight can be performed both in manual or mission mode. Example of such mission program is established below. According to it, Pioneer will take-off, gains 1.2 m altitude, then flies to the corner of flyzone with (0:0) coordinates, and lands in the (1:1) point. Use Pioneer station to...
Besides flying in RC mode, Pioneer can execute pre-loaded flight mission autonomously. It supports Pioneer Station and TRIK studio to create and upload flight mission. In this section you will learn how to use Pioneer Station and see some mission examples.
Page 50
LED file. Mission diagram should appear in the workspace. Once activated, it will change led colour every second. Feel free to configure the mission to your liking. Now it is necessary to create correct Lua code. Press “generate to Pioneer Lua” button or use ctrl+shift+G key combination.
Page 51
If there’s no errors in the program, a code tab will open. Otherwise, all errors will be shown in the lower part of the screen along with troubleshoot tips. When code is generated, press upload to Pioneer When familiar with led controls, try more advanced options.
Page 52
Add “Yaw” and “Led” blocks to diversify your flight. Having created the diagram, don’t forget to generate Lua code and check it for errors. Mission upload is performed similarly as before. Chapter 1. Return to Pioneer webpage...
1.5.2 Pioneer Station Pioneer Station is a tool to work with the drone. Using it, you can: • Update quadcopter’s firmware • Set autopilot parameters • Run modules diagnostics • Create and upload flight missions • Test scripts To install the app, click download Pioneer station and run .exe file.
Page 54
Attention: Do not run the flight mission with USB cable attached. Code editor This section describes code editor operation in Pioneer Station In Pioneer Station, main tab is used as a code editor. Here you can develop flight mission code for Pioneer. Code editor main menu: Control buttons: •...
Page 55
• Upload code to Pioneer (active when drone connected) Program upload to Pioneer After you developed program using TRIK Studio or Pioneer Station, it is time to upload it to Pioneer. Connect the drone to your PC. Select “USB cable” connection in the bottom right corner of Pioneer Station window. Pio- neer’s current parameters, lean angles and board number should appear on the screen.
Page 56
“Receive” LED should blink on Pioneer board, and a message appear in the bootom right corner, indicating successful upload. There are different ways to start mission execution. If flight is not required, don’t disconnect USB cable and press “Mission start” in Pioneer Station. In five seconds you will observe mission execution.
Page 57
• Select the desired drone to be connected and press OK button. • To connect Pioneer wirelessly, select “Radiomodem” in the “connection” tab in the bot- tom right corner. The drone should be powered from LiPo or another USB 5V source.
1.5.3 Lua programming language Standard Pioneer kit allows LEDs and flight mission programming. Two options are offered, depending on users competence: Visual programming using TRIK Studio Advanced programming using Lua basics are stated in Learnlua.lua at pioneer stations/examples. Open it with Pioneer Station and get used to syntax and basic command.
Page 59
boardNumber Returns aircraft ID - access using variable. Example local boardNumber boardNumber ap.push(Event) Add autopilot event (see Autopilot events). Parameters Event – Event number or name (for example, COPTER_LANDED). Example Ev.MCE_PREFLIGHT ap.push(Ev.MCE_PREFLIGHT) ap.goToPoint(latitude, longitude, altitude) for GPS mode flight. Parameters •...
Page 60
Set alternative function number. Example local pin_name Gpio.new(Gpio.A, 1, Gpio.OUTPUT) pin_name:read() -- get value pin_name:set() -- set value 1 pin_name:reset() -- set value 0 pin_name:write(true) -- set value true pin_name:setFunction(1) -- set alternative function number Chapter 1. Return to Pioneer webpage...
Page 61
UART interface class Uart new(num, rate, parity, stopBits) Create UART in settings port.. Parameters • num – UART number;; • rate – speed; • parity – Uart.PARITY_NONE, Uart.PARITY_EVEN, Uart.PAR- ITY_ODD, not a necessary parameter, by default Uart.PAR- ITY_NONE; • stopBits – Uart.ONE_STOP, Uart.TWO_STOP, not a necessary pa- rameter, by default Uart.ONE_STOP.
Page 62
Events a presented using constants with “Ev” prefix Name Description MCE_PREFLIGHT Motors start and execute pre-flight check ENGINES_DISARM Stop motors MCE_LANDING perform landing MCE_TAKEOFF perform takeoff –устаревшие– ENGINES_ARM Start motors Get autopilot data To get autopilot data Sensors class is used Chapter 1. Return to Pioneer webpage...
Page 63
class Sensors lpsPosition() Returns x, y, z lpsVelocity() Returns vx, vy, vz lpsYaw() Returns yaw orientation() Position data. Returns roll, pitch, azimuth altitude() Altitude data fro barometer. Returns altitude in meters range() Data from proximity sensors/ Returns Returns proximity sensor distance. Several values. accel() Accelerometer data.
Page 64
Ev.TAKEOFF_COMPLETE) then nextPoint() if(event Ev.POINT_REACHED) then nextPoint() local leds Ledbar.new(1) local blink leds:set(0,1,1,1) function timerBlink Timer.new(1, if(blink then blink else blink (continues on next page) Chapter 1. Return to Pioneer webpage...
Page 65
(continued from previous page) leds:set(0, blink, 0, 0) end) timerBlink:start() ap.push(Ev.MCE_PREFLIGHT) Timer.callLater(1, function() ap.push(Ev.MCE_TAKEOFF) end) Description for modules pin connectors Pioneer_Base_v.1.0-v.1.1 autopilot controller pins X1 (MC pin) Function Description 5V power (only with LiPo) 2A max. 3.3V power 2A max. 3 (PA12) USART1_RTS 4 (PA11)
The control and onboard modules are communicating via radio channel. Measure the distance between the transducers and their installation height. A square is the most convenient and easy to set form of flight zone. 1.6. Geoscan Locus indoor navigation system...
Page 68
The top line of the screen shows a turn-on timer and battery voltage. If it drops lower than 3 V, a “status” light will start to blink. To charge it, just connect the module to PC or a 5V2A charger. The coordinates are established in a same way as on LPS screen. Chapter 1. Return to Pioneer webpage...
To perform pre-programmed flight, connect battery, switch SwB to bottom position, and push start but- ton on Pioneer base plate. The drone will begin script execution in 5 seconds. For manual flight control, switch SwB in middle position. Pioneer will still maintain its position with Locus navigation system, so the flight will be smooth and easy to control.
Quadcopter vibrates violently - Check the frame assembly, base board connection. A propeller de- fect is also a possible issue. Empty ports list when connected to Pioneer Station - check USB cable; download and install virtual port driver for your OS Empty window in Pioneer Station when opening parameters from file - close the app, and activate run_extra.bat file in Pioneer Station directory...
Page 71
• Added accelerometer calibration • Added compass calibration • Added installed on a pioneer module version output. if its firmware is outdated its version will be highlighted in a table and a window inviting to update it will pop-up • Added English localisation, when installing this application you will now have an option to choose between Russian and English •...
Need help?
Do you have a question about the Pioneer and is the answer not in the manual?
Questions and answers