STS PI explorer HAT
Any actions and or activities related to the material contained within this Website is solely your responsibility. The misuse of the information in this website can result in criminal charges brought against the persons in question. Cyber Security Associates Limited, will not be held responsible for any criminal charges brought against any individuals misusing the information in these projects to break the law.
Please ensure you are using the latest SD Card image which is available here.
This project expands on the simple motor project by adding an additional motor and connecting the Pi to the internet to allow remote control of the STS-Pi which can be controlled either on a computer or through a mobile device. The Raspberry Pi is the brain of the robot with the additional components like the Explorer HAT Pro being peripherals that are connected to the Pi and allow you to code for the components. One of the primary protocols (rules) of the internet is Internet Protocol (IP) which allocates a specific numerical address such as 192.168.1.1 and allows other protocols to communicate and understand where that device is located.
Every device connected to the internet has an IP address which can be discovered by typing "ifconfig" into the Terminal of the Raspberry Pi and "ipconfig" on a Windows machine. The software on the STS-Pi is connected to the internet and when the specific Raspberry Pi IP address is put into the URL bar in a browser the control software for that Raspberry Pi is presented. This is quite a complex task and is made easier with an easy installation of the software. You should research into how the Python script controls the motors and the principles of creating a web application (Look at the intro to motor driver project for ideas).
This is the foundation level of nearly all robotic systems, they start very simple and then develop with additional hardware and software into very complex systems. A robot is defined as a complex machine able to complete tasks automatically, usually with either the aid of sensors or specific commands, robots can take many forms and can fulfil a range of tasks only limited by your imagination. There are robots that understand how to walk and jump (like the Boston Dynamics robots), we send robots to explore space and the ocean and we are even creating robots small enough to enter the human body for medical research.
Each of these robots are the union of hardware and software with a processing controller like the Raspberry Pi at the heart of them. The Raspberry Pi not only stores the code but also possesses the processing power to quickly execute the code. While the STS-Pi doesn’t have as much processing power as the Boston Dynamics robots it is also a fraction of the price, allowing anyone interested in computers access to make their own robots.
Use 2 Motors with the Explorer HAT Pro and assemble a working robot;
Understand the how the STS-Pi connects to the Internet and allows remote control;
Understand how the Internet can allow connections between a robot and a controller;
Explore how different robotics projects can be developed from this foundation.
Raspberry Pi + Case
Raspbian SD Card
Explorer HAT Pro
Male Female Wires
Component Number (Peli Case)
(Base) 4 + 5
(Level 1) 2
(Level 1) 2
(Level 1) 3
(Level 1) 3
(Level 1) 3
(Level 1) 5
(Level 1) 4
This project combines and works through many different concepts and it is important to understand how these all work together to make a working product. By connecting a robot to the internet will enable it to be controlled anywhere there is another internet connection.
It is important to understand how the controller works and what can be achieved by looking at the app.py code (open this in Nano and have a go at changing some of the code). The easiest would be to slow down or speed up the rotation of the wheels, while this can make the STS-Pi very quick it also drains the battery and there is a latency between the STS-Pi and the controller.
There are many more modifications that could be made to the STS-Pi, you could add a camera to the setup and instruct it to take pictures every 30 seconds. You could also add a sensor that would stop it hitting any walls in front of it if it was being directed too close to an object. The possibilities are endless, but can you think of any more developments you could make?