Hardware

Introduction

RoboCar-TriClopes I will explain the electrical components used in this system. When referring to “Hardware,” some explanations also include the separately mentioned “Mechanics,” but I have separated the physical mechanical components (Mechanics) from the electrical components (Hardware). One might also say “Electronics,” and there is also the term “Mechatoronics.”

Power Supply

 No matter what, electrical systems won’t work without a power source. So, let’s start by explaining the power supply. There are two main types of power supplies: the drive system and the control system. The drive system’s battery is charged using a dedicated charger. The control system is automatically charged when power is supplied.

  • Types of Batteries
Control System Drivetrain Charger
Panoramic View of LiPo Panoramic View of LiPo Overview of the Charger
Category Voltage [V] Capacity [mAh] Uses
Drivetrain 11.1=3.7x3 2200 Motor Drive
Control System 3.7 10000 Control Systems in General
  • Note
    Since I’m not very familiar with LiPo batteries, I’m fairly careful when handling them. For the drive system, I use a commercially available charger and make sure not to leave it unattended while charging. As for the control system, I use a commercially available board for the boost converter. However, while I have modified the power supply method and increased the battery capacity, I do so at my own risk.

Circuit Board

 The functionality is determined by the circuit board. Here, we’ll introduce the circuit boards used in the “TriClops.” These boards are stacked to increase integration density. We’ll introduce them in order, starting from the bottom.

  • Motor Controller (Groovy-Quatro)
     The motor controller’s circuitry and PCB design were done by the old-timer himself, as was the control firmware. However, the firmware quality was extremely poor, and I2C control for the IMU (BMX055) that came pre-installed was not implemented. Amid all that, the FA pros implemented it. ↗ Since then, features such as a speed servo and compatibility with the BNO055 have been added, bringing it to its current state.
Motor Controller Circuit Diagram IMU
Before Replacing the Motor Driver Reference Figure Flip It Over and Implement It

 Hardware This is the core board within the system. Its main functions are as follows:

  • 4-Channel DC Motor or BLDC (Nidec 24H) Motor Control
     Allows independent 4-channel control of DC motors or BLDC (Nidec 24H) motors, as explained on the “Mechanics” page; mixed control is not supported.

  • Encoder Reading
     The encoder built into the motor can be read independently

  • 9ch IMU
     Equipped with the BOSCH BNO055, it enables attitude control.

  • Replacing the Motor Driver

    Motor Driver Modularization Installation (Replacement)
    TB6612 and L298N Complicated Wiring Replaced from L298N

     I replaced the motor driver from the L298N to the TB6612. This improved power efficiency and significantly increased the motor speed, so I replaced the motor to change the gear ratio. I removed the L298N and attempted to make the pins compatible so I could simply swap it out—it turned out to be a much harder job than I expected…
     The improved efficiency has also enhanced drivability. The motor controller receives a 12-bit PWM signal ranging from 0 to 1024. With the L298N, the motor would start spinning at 600, but after replacing it with the TB6612, it starts spinning at around 50. Based on these figures alone, it’s safe to say we’ve achieved a significant improvement in efficiency.

  • Pisugar 3 Plus

    PiSugar3 Plus Wiring in progress How it was installed
    Logo Aluminum Foil Protection to Prevent Solder Spills Assembled at the absolute minimum height

     A battery-powered board for the Raspberry Pi. I modified the connector section so it can be stacked with other boards. I also upgraded the included LiPo battery from 5,000 mAh to 10,000 mAh. It steps up the LiPo battery’s 3.7 V to 5 V and charges the battery. The power path is [USB-PD] ⇒ [PiSugarPCB] ⇒ [LiPo battery], [to the Raspberry Pi via pogo pins].

  • Flashlight

    Flashlight Connection Plug Flashlight Only
    Mounted on the frame Power Supply from the Drive System Solder the female connector

 A flashlight has been installed to alert those around you. Since this flashlight can be controlled via an infrared remote, it is controlled using irMagician. Various patterns are available, so you can choose the one that best suits your preferences.

Raspberry Pi (hereinafter referred to as “Raspberry Pi”) 4

 If the board mentioned above is responsible for the drivetrain, then the Raspberry Pi 4 can be considered the brain." In this section, we’ll explain the devices that connect to the Raspberry Pi 4.

LCD Hat Groovy-IoT irMagician
Attached directly to the header pin Mounted on the opposite side of the LCD hat Connect using a USB adapter
  • LCD Hat
     In the Raspberry Pi community, the term “**~**Hat” typically refers to a device that plugs into the header pins on a board and covers part of that board. This Wave 1.44inch LCD Hat is also of that type. Connections are made via SPI. It has a resolution of 128x128 pixels and 16-bit color depth. For details, please refer to the linked page; here, I’ll discuss its main applications.
     Its purpose is to display the current status of the Raspberry Pi: CPU load, temperature, RAM usage, and the battery level of the control system.

  • Groovy IoT
     A general-purpose interface board based on the MCP2221a. It connects to the host via USB. In particular, the Groovy-IoT is designed to align with the Raspberry Pi’s screw holes, allowing for a compact installation.MCP2221a Of the features listed at , I am currently using UART and I2C. The motor controller mentioned above (Groovy-Quatro) is connected to UART, and the BME280, which can measure temperature, atmospheric pressure, and humidity, is connected to I2C. The links are to Akizuki Denshi, but this old-timer is using junk parts.

  • irMagician
     Connecting to irMagican allows you to control devices operated by infrared remote controls, including home appliances. This is how you control the flashlight mentioned earlier.

  • GNSS

    GNSS Implementing Grove Connectors Connects directly to the header pin
    Mounted on a frame Grove UART Compatible Wire-wrapping a header pin

 GNSS The unit uses a product sold by Akizuki Denshi. I modified it by attaching a Grove connector to make it easier to handle. The wiring utilizes the Raspberry Pi 4’s built-in UART. The wires are connected directly to the UART pins on the main board header using wire-wrapping techniques to ensure they do not interfere with the aforementioned LCD hat.

Camera

 The system uses the official Raspberry Pi camera (connected directly to the Raspberry Pi 4 via a dedicated interface) and the Oak D-Lite depth camera via USB 3.0. The official camera is used for real-time video streaming for navigation, while the Oak D-Lite camera is used as a Depth camera for object recognition.

A Camera with Three Lenses Camera Installation Wiring
Consolidated at the front Molded a custom mount and installed it Wiring Through Tight Spaces
  • The Story Behind the Three Eyes
     Initially, I started using the center camera from Oak D-Lite, but the CPU cost for UVC was quite high—about 50% just for this process alone. So, I modified the mount to connect a genuine Raspberry Pi camera, which reduced the cost and allowed me to remove Oak D-Lite at the same time. The CPU cost related to the camera dropped to about 15%. However, I still wanted to include processing such as object recognition. So, I reconnected the Oak D-Lite and switched to local processing only. This allowed me to achieve both real-time video streaming and object recognition at a low cost.

  • The Role of Each Camera

    • Official Raspberry Pi Camera
       Used for real-time video streaming. It serves as a core component of ROCK and RVCS, as explained in the chapter on Software.
    • Oak D-Lite
       It performs object recognition, which is the true strength of depth cameras. This will be a core component of future autonomous driving.