What is the Gizmo?

The Gizmo refers to a platform, a software tool, and a physical hardware device that goes on a robot. The when we refer to "The Gizmo" in this guide, we're referring to the physical hardware device unless otherwise specified. If we need to refer to the software tool, you'll see those references formatted like this with the unique font and coloring to indicate we're talking about the Gizmo software tool.

The Gizmo is a carrier board that accepts two Raspberry Pi Pico micro-controllers. These micro-controllers, referred to as the System Processor on the left and the User Processor on the right make up a programmable controller that can be customized.

What is a Micro-controller?

You now know that the Gizmo contains two different micro-controllers, but what is a micro-controller? In short, a micro-controller is a small programmable device not unlike a primitive computer. In fact, micro-controllers are computers, just very simple ones. The computer you use to browse the web, write documents, and watch media on operates on the same principles as a micro-controller, just much faster and with more capability. The micro-controllers used on the Gizmo are made by the Raspberry Pi foundation and contain integrated memory, processors, and peripherals that let them communicate with other devices such as motor controllers, limit switches, wireless radios and more.

If you want to learn more about micro-controllers, check out the Wikipedia page and remember to check the listed sources at the bottom of the page for further reading!

What is a Carrier Board?

Earlier, we referred to the Gizmo as a carrier board. As the name implies it's a board that carries. The board referred to in this case is a fiberglass circuit board that contains a printed electronic circuit. The fiberglass is covered in various layers to build up the circuit, and part of that circuit includes the two processors from above. These processors are "carried" by the board and it provides support components such as connectors, power supplies, and mounting holes.

The circuit board on the Gizmo is colored green with a dye called a "solder mask" which makes it easier to assemble and protects the board from abrasive damage. Be careful when handling a circuit board outside its case because this layer is very thin and can be scratched off by sharp objects!

To learn more about printed circuit boards, this Wikipedia Article gives a good overview, and this episode of Branch Education on YouTube gives a walk through of how PCBs work by looking at the parts that make up a cellphone. The Gizmo is built using the same technologies.

System vs User Processor

There are two processors on the board, both designed by the Raspberry Pi foundation. This organization develops advanced microcontrollers and Single Board Computers (SBCs) that are popular in the education, hobbyist, and industry. The Gizmo uses a two different Raspberry Pi Pico devices. The system processor is a Pico WH which contains a built in wireless radio assembly, and the user processor is a Pico H which uses the same components as the WH version, but does not include a wireless radio.

We use two processors to split up the responsibilities that are handled in controlling a robot. The system processor runs code developed by the Gizmo team and it handles communicating with the driver's console, the field management system, and supervising the user processor. The system processor is also able to reboot the user processor if it detects that the user processor has frozen, or if a programming error causes it to become "stuck" in a loop.

The user processor is where code that you write will go. It has access to motor ports, sensor ports, analog input ports, and a dedicated port for connecting programmable LEDs to to display information, provide feedback about automatic systems, or just look cool. The user processor communicates with the system processor using I2C.