Lithium, Lithium-ion, LiPo & LiFePO4 Battery Safety and Fire Handling


NASA JPL RoboSimian Fire

Lithium battery safety is an important issue as there are more and more reports of fires and explosions. Fires have been reported in everything from cell phones to airplanes to robots. If you don’t know why we need to discuss this, or even if you do know, watch this clip or click here. I am […]

Motor Control Systems – Bode Plot & Stability


Set point feedback controller

What is a control system? A control system alters the future state of its system to a more desirable outcome. We often work with feedback control systems (also called closed-loop control), where the result of the command is fed back into the control system. In particular we are looking for the error between the command […]

Antenna Separation: How Close Can You Go?


antenna on car

Hi When building a new robot the mechanical engineers always ask me how close can the different antennas be to each other. It is not uncommon to try squeezing 5+ antennas on a single robot (GPS, GPS2 for heading, RTK, joystick, e-stop, communications, etc..). So what is the proper response? The real answer is that […]

Fuse Locations, Protection, Shunt Regulation, & Motors


shunt regulator

Hi all I wanted to write a quick post today about where to place fuses and how to protect your robot. When you design a system it is often tempting to place a fuse on every component. This idea is fine for most batteries, sensors, and computers. However this can really cause destruction when you […]

Controlling Brushless DC motor with no Encoders


hall detection

This is just a quick post on controlling DC brushless motors with no encoders. This post applies to brushless motors that typically use hall sensors for commutation. This post does not apply to the hall-less ESC (electronic speed control) motors that typically run at very high speeds and are used for things such as quadcopters […]

Incremental Encoder Selection


quadrature encoder

Hi all Just a quick post on incremental encoders. Incremental encoders are good for speed control and can be used for position control when we have a homing routine to get absolute position, or the system is constrained to less than one rotation. One way an incremental encoder can also be an absolute encoder is […]




Hi all Today I want to talk about batteries. However before I begin there are a few terms I want to clarify. So here we go. Terminology Cell – This is where the chemical reaction takes place which produces electricity. The characteristics of the cell are determined by its chemical formulation and its construction. Battery […]

Motors: Active, Reactive, and Apparent Power


power beer analogy

There are a bunch of confusing powers involved when we look at motors, especially with DC brushless motors. When your boss comes and asks you to measure the electrical power that your motor is using, it is often not straight forward. Typically the easiest way to get the current used by a motor is to […]

Grounding & Avoiding Ground Loops


Ground Loop

Ground loops are often discussed but less often understood (I am far from being an expert in this). I have seen several cases where a robot malfunctioned or a sensor did not work due to bad grounding. For example if you have a 0-5V signal and also have a “noisy” ground then the signal can […]

Copley Motor Controller Review


Copley controller

Hi all This is a post about the Copley Controls motor controllers. For this review I will be using a ACJ-055-09 (55Vmax and 9Apeak) motor controller (I love when product names mean something useful) with a 3 phase DC brushless motor. This is a good controller for distributed motion control. Copley makes several versions of […]

Soldering Tutorials



Hi all Here are a few soldering tutorials that might be of interest to you. These first two are your day-to-day standard soldering methods. There are many of these types of videos online. This next set of tutorials is for high reliability “proper” soldering techniques. This is actually why I am writing this post. These […]

Creating Wire Harness Diagrams


wire harness

(See full size wire harness diagram here) Hi all So it is time to think about wiring up your robot, one of the key steps before you begin is to develop a wiring diagram. A wiring diagram is not only needed for wiring the robot but is also a valuable resource to have if you […]

Selecting and Sizing Your Motor (and gear boxes)


motor planetary and harmonic gears

Hi all Selecting a motor is a critical task when designing a robot. In a prior post we discussed the different types of motors and feedback options as well as how to control those motors. In this post we will focus on how to size your motor and select the proper gearing. In the main […]

CAN bus (CANopen & CiA) for Motor Control


CAN topology

A Controller Area Network, or CAN for short is a common message based protocol used in cars and other vehicles. If you are trying to interface with a car/truck/bulldozer, there is a good chance that you will be reading data its CAN bus, and sending it commands via its CAN bus. It is also used […]

Connectors (cable to cable, wire to wire)


ring connectors

Ahh. Connectors. We love them and we hate them. When you wire a robot there are many places where it can be tempting to take shortcuts to save time and money. Unfortunately connectors often suffer and lose that battle. From experience and many field tests I can not stress the importance of choosing proper connectors […]

Time and Clock Synchronization



Hi all Time. Don’t you wish you had more of it? If you were a robot you would probably be worrying about having consistent time. Why do we need consistent time? In many robots there are multiple systems/computers that are generating and using data, if the systems/computers are not in sync than the result can […]

Motor Controllers & Amplifiers


motor architectures

Hi all I recently wrote a post on different types of motors and feedback options, now I want to talk about how to control those motors. Each motor is often refereed to an “axis”, so a 8 axis motor controller can control up to 8 motors. There are two different components used in the control […]

PCB Design Tutorials


pcb from OSH Park

Hi all I got a question about PCB design for robots. I am not going to recreate what is already out there so here are some links. UPDATE: Contextual Electronics has released the entire KiCad course online. Check it out here! The two places that I have used to get PCB’s built are: – Advanced […]

E-stop and M-stops



Hi all Just a quick note on e-stops (emergency stops) and m-stops (mobility stops). There are various levels of e-stops. In an ideal world an e-stop would kill power to ALL power, however in complex systems we often settle for less. Some reasons for a weaker e-stop is to keep the computers and other sensors […]

Electronics Engineering Books + FPGA Books


Art of Electronics book

Hi all Here are some books that I like for electronics (including FPGA’s). If you have any favorite electronics book please leave it in the comments below. The first one is the Art of Electronics by Horowitz and Hill. This is a very in-depth book that starts with the basics and ohms law and works […]

Motors and Feedback (encoders)


brushless motor

Hi all There are many types of motors and feedback methods to choose from. Which do you need? Keep reading to find out more about selecting your motor stackup. Since most field robots are DC powered I am skipping the many types of AC motors that are out there. In addition to this post you […]