Author Archives: Chris McCarty

Autonomous Riding Lawnmower – Phase One Update

via SparkFun: Commerce Blog

Jesse Brockmann is a senior software engineer with over 20 years of experience. Jesse works for a large corporation designing real-time simulation software, started programming on an Apple IIe at the age of six and has won several AVC event over the years. Jesse is also a SparkFun Ambassador. Make sure you read today's post to find out what he'll be up to next!

This is the second part of a multi-post series. If you would like to start from the beginning click here to see part one.


I would first like to respond to some comments I received on this project. I support and encourage the right to repair, and I can understand why people are upset with the current situation with newer equipment from John Deere or other companies. This mower was produced in a very different era and was very well documented by the owner's manual. For example, it included a complete circuit diagram with standard maintenance procedures and ways to fix common issues that an owner may have.

I’ve been making good progress on the mower project and I thought it was time for an update. A motor mount was fabricated and sprocket attached to the steering wheel. Size #25 chain is being used to connect the geared motor to the steering sprocket. The motor mount is notched to allow the chain tension to be adjusted.

Steering Sprocket

I also bought a linear actuator to control the brake/clutch mechanism. The linear actuator has a built-in potentiometer to provide feedback. This feedback will be used to set the end points for the actuator, so damage is not done to the brake pedal. The actuator has six inches of travel and 55 lbs of force for a margin of safety. As you can see, the mounting worked out well, as an existing hole was used and a threaded rod was run through that hole to mount the end of the actuator on a custom fabricated bracket.

Brake/Clutch

For the throttle, a servo was attached to the side of the tractor using a custom fabricated bracket. From the servo horn, a linkage was used to connect to the carburetor. This allows for full control of the throttle including the ability to kill the engine at very low throttle and choke for startup.

Throttle

Another custom mount was fabricated to shift the mower between second gear, neutral and reverse. This completes the four major control systems required for the mower.

Shifter

However, an extra safety system was added that allows the mower to be killed by shorting a wire that is part of the ignition system. This wire was routed up to the location where the controller will sit. The wire attaches to a relay on a normally closed connection. This means when the relay is not energized, the engine cannot run. This is a last line of safety in case the controller fails or power is lost.

Ignition System

A new circuit breaker was added to power the new control systems and wires run to the location of the controller. A fuse block provides power to the various circuits, and switches are used so the controller can be powered but leaves the motors disabled for testing.

Circuit Breaker

I decided to do some testing before all the systems were ready; here is the result of my testing late last fall.

The project sat over the winter, but I started again this spring. The various systems I described above were fabricated and tested manually without the controller. I then started to work on the code for the overall system. The system will have the following modes: INIT, START, STOP, RUNNING, FAILSAFE, MANUAL and KILL.

Here is a table with the various modes and sub-systems. Any software connected to hardware should have various MODES and some rigid guidelines to avoid any catastrophic issues. This is no time to slack on your code!

Mode Brake Throttle Shifter Steering Kill Relay
INIT ENGAUGED KILL DISABLED DISABLED OFF
STOP ENGAUGED Idle Allow Change DISABLED ON
RUNNING Controlled Controlled CONSTANT Controlled ON
START ENGAUGED Controlled DISABLED DISABLED ON
FAILSAFE ENGAUGED Idle CONSTANT DISABLED ON
KILL NA KILL NA NA OFF
Manual Controlled Controlled Controlled Controlled ON/OFF

The FAILSAFE and KILL modes are used if some failure occurs. Depending on the nature of the failure, a determination is made if it’s a FAILSAFE or KILL failure. Loss of radio contact is a FAILSAFE failure, but any communication failure with the controllers is a KILL failure. Other failure modes will be added as needed, such as low input voltage, temperature too high on some sub-system, over current on steering motor controller, etc.

I think most of these modes are easy to explain. MANUAL mode exists for testing, and will allow for testing in ways the other modes will not allow. My end customer for this mower will not have access to this mode.

From each of the above modes, only certain other modes can be intentionally reached except for KILL. Here is what switching to different modes looks like.

INIT -> STOP (Automatic)
STOP -> MANUAL/START/RUNNING
RUNNING -> STOP
MANUAL -> STOP
FAILSAFE -> STOP
KILL -> NONE

FAILSAFE mode is possible from any mode other than FAILSAFE or KILL, but the controller decides when it is activated. If the FAILSAFE condition is resolved, then switching to STOP is allowed.

At this point, all that is left is to test the above logic in standalone mode off the mower, and make 100 percent sure that the above logic table is followed and no crashes or weird behaviors occur. I’ve certainly found and fixed issues already, such as the brake not being engaged when switching from RUNNING to STOP. This would mean I could not stop the mower without switching to RUNNING mode again and that could lead to a runaway mower.

Once standalone mode is working, I will start testing the various control systems in isolation and then finally test the entire system on the mower. Please stay tuned for the final write-up on this project (hopefully in a month or two), and hear details about my next big project: a remote control/autonomous electric go-kart!


As a thank you for reading this far, I would like to let you know I have a special promo code you can use to get 10% off any SparkFun Original product. Just use ORIGINALRED2020 during checkout. This code is good through the end of 2020, but can only be used once per customer. Thanks for reading - I hope I can start attending STEM shows next year and show off my hard work on this and other projects I have been working on.

comments | comment feed

Come Get Your Mux!

via SparkFun: Commerce Blog

Welcome, everyone! This week we're starting off with a new version of the SparkFun Qwiic Mux Breakout, now with a new pass-through connector enabling daisy-chain capabilities. Next up is a new SparkX Qwiic Refrigeration Sensor using the ZMOD4450, which could be especially useful if you have some abandoned leftovers in your work fridge! To end the week we have a new version of our Raspberry Pi Zero W Camera Kit, the Pimoroni Automation HAT Mini, and an updated SIK Guidebook. First, though, we wanted to bring you some info about our newest digital event:

Summer activities canceled? Welcome to SparkFun Summer Camp! We’ve got your classic camp fun covered online – with an electronics twist. Check out our activity schedule, and let’s have some fun! Our first week starts with e-textile projects and sales, week two is GPS, week three robotics, and week four machine learning.

Now onto our new products!

Pass-through for multiple daisy-chain possibilities!

SparkFun Qwiic Mux Breakout - 8 Channel (TCA9548A)

SparkFun Qwiic Mux Breakout - 8 Channel (TCA9548A)

BOB-16784
$11.95

Do you have too many sensors with the same I2C address? Put them on the SparkFun Qwiic Mux Breakout to get them all talking on the same bus! The Qwiic Mux Breakout enables communication with multiple I2C devices that have the same address, making it simple to interface with. The Qwiic Mux also has eight configurable addresses of its own, allowing for up to 64 I2C buses on a connection. To make it even easier to use this multiplexer, all communication is enacted exclusively via I2C, utilizing our handy Qwiic system.


SparkX Refrigeration Gas Sensor - ZMOD4450 (Qwiic)

SparkX Refrigeration Gas Sensor - ZMOD4450 (Qwiic)

SPX-16677
$39.95

The ZMOD4450 gas sensor from Renesas is a unique Refrigeration Air Quality Sensor designed to measure gases emitted by food ripening or rotting: ethlyene, amines and volatile sulfur compounds. The sensor can measure Ethylene (C2H4), Trimethylamine (C3H9N) and Dimethy sulfide (C2H6S) in air with up to ±10% repeatability, and with additional calibration using a known organic compound, can be accurate to ±15%. With the ZMOD4450 you can finally quantify that funky smell coming from your refrigerator.


SparkFun Raspberry Pi Zero W Camera Kit

SparkFun Raspberry Pi Zero W Camera Kit

KIT-16327
$66.95

The SparkFun Raspberry Pi Zero W Camera Kit provides you with a pan/tilt camera controlled via a Raspberry Pi Zero W. This kit consists of parts that are easy to assemble and program, expanding the Raspberry Pi Zero W's IoT capabilities and highly tailored accessibility to the Pi Camera Module. With the Zero W camera kit, you will be able to create homemade motion-activated security systems, webcam interfaces for streaming, or monitoring stations for any number of projects and adventures. After just a few steps you'll be set up in no time with your very own remote camera system!


Pimoroni Automation HAT Mini

Pimoroni Automation HAT Mini

DEV-16822
$24.95

The Pimoroni Automation HAT Mini is perfect for home automation projects, giving your greenhouse intelligent sprinklers, scheduling your fish feeding, or controlling low-voltage lighting systems. The Automation HAT Mini is equipped with a relay, three buffered inputs, three outputs, and three analog inputs, all of which are 24V-tolerant. Last but not least, the HAT has a beautiful 0.96" full-color IPS LCD to display the status of your systems.


SparkFun Inventor's Kit Guidebook - v4.1a

SparkFun Inventor's Kit Guidebook - v4.1a

BOK-15884
$4.95

The full-color SparkFun Inventor's Kit Guidebook V4.1a contains step-by-step instructions with circuit diagrams and hookup tables for building each project and circuit. Full example code is provided, new concepts and components are explained at point-of-use, and troubleshooting tips offer assistance if something goes wrong. Once you make your way through all of the example circuits you will have a much better grasp on programming electronics!


That's it for this week! As always, we can't wait to see what you make! Shoot us a tweet @sparkfun, or let us know on Instagram or Facebook. We’d love to see what projects you’ve made!

Never miss a new product!

comments | comment feed

Nathan Seidle on IoT Radar

via SparkFun: Commerce Blog

We're popping in today to bring your attention to our LinkedIn page, where you can see Nathan talk about machine learning, artificial intelligence, tinyML, data logging with the Artemis OpenLog, and the origins of SparkFun with Wisse Hettinga at the IoT Radar.

Nate & Wisse

It's a fun interview, and you'll get a glimpse of some projects Nathan is working on at home! The interview is only up until July 3rd, so there are only a few days left to watch it.

comments | comment feed

Photodetector Gadget

via SparkFun: Commerce Blog

Hello and happy summer, everyone. This week we are pleased to release the new MAX30101 Qwiic Photodetector Breakout. This tiny board is a perfect addition to our line of Qwiic sensors and will surely find a place in your next project. Also this week we have the new Logitech K400 Wireless Keyboard for your computing and desktop applications, as well as two new sets of 2x20 headers for Raspberry Pi, Nvidia Jetson, and Google Coral boards. Let's jump in and take a closer look!

Go Gadget, Go!

SparkFun Photodetector Breakout - MAX30101 (Qwiic)

SparkFun Photodetector Breakout - MAX30101 (Qwiic)

SEN-16474
$19.95

The SparkFun Photodetector Breakout is an updated version of the SparkFun Particle Sensor Breakout and includes the MAX30101, a highly sensitive optical sensor and successor to the MAX30105 and MAX30102. The MAX30101 Breakout utilizes a photon detector to measure the amount of returning light reflected back from the LEDs. This is useful for various applications like particle (i.e. smoke) detection, proximity measurements and even photoplethysmography.


Logitech K400 Plus Wireless Touch Keyboard

Logitech K400 Plus Wireless Touch Keyboard

WIG-16300
$39.95

The Logitech K400 Plus Wireless Touch Keyboard is a compact keyboard with an integrated touchpad that puts all your controls in a single device. Comfortable, quiet keys and a large (3.5-inch) touchpad make navigation effortless. A wireless range of 10m (33') enables a responsive, uninterrupted connection in even the largest rooms. Watch video, stream music, connect with friends, browse web pages and more without annoying delays or dropouts.


Qwiic Power Switch

Qwiic Power Switch

SPX-16740
$6.95
Qwiic PT100 - ADS122C04

Qwiic PT100 - ADS122C04

SPX-16770
$29.95

Two new SparkX boards also released this week: the Qwiic Power Switch and the Qwiic PT100. The Qwiic Power Switch (QPS) will help you control some of the high-power Qwiic boards in the world, while the Qwiic PT100 will allow you to measure temperature with a 100 Ohm Platinum Resistance Thermometer (PRT).

Make sure to check them out and the rest of our SparkX rapid production products!


Extended GPIO Female Header - 2x20 Pin (13.5mm/9.80mm)

Extended GPIO Female Header - 2x20 Pin (13.5mm/9.80mm)

PRT-16764
$1.95
Extended GPIO Female Header - 2x20 Pin (16mm/7.30mm)

Extended GPIO Female Header - 2x20 Pin (16mm/7.30mm)

PRT-16763
$1.95

These 2x20 pin female headers (in 13.5mm/9.8mm and 16mm/7.3mm sizes) allow you to extend the reach of any board with the standard 2x20 GPIO pin footprint, like the Raspberry Pi, Google Coral, and NVIDIA Jetson. You can also solder it to Pi HATs that do not have headers on the board (assuming that the board is only populated on the top, or the height of the components do not get in the way if it is a two-layer board).


That's it for this week! As always, we can't wait to see what you make! Shoot us a tweet @sparkfun, or let us know on Instagram or Facebook. We’d love to see what projects you’ve made!

Never miss a new product!

comments | comment feed

Keep Calm and Chassis On

via SparkFun: Commerce Blog

Hello everyone and welcome back to another Friday Product Post! We start the week off with a new robotics chassis – the same as the one in our SparkFun JetBot AI Kit. Following that, a new version of the SkyRC B6 charger/discharger is available. Let's jump in and take a closer look at both of these new products.

JetBot Chassis Kit

JetBot Chassis Kit

ROB-16405
$14.95

The JetBot Chassis Kit is the official chassis used on the SparkFun JetBot AI Kit, but it can be used for many different robotics platforms. The chassis plates are made from 3.5mm-thick ABS plastic milled with plenty of mounting points for sensors, servos, controllers, power and more. Assembly is simple - with just a few included screws needed for construction, you will have a reliable 2WD robotics chassis. It's a great economical option for desktop robots.


SkyRC IMAX B6 V2 Professional Balance Charger / Discharger

SkyRC IMAX B6 V2 Professional Balance Charger / Discharger

PRT-16793
$34.95

The SkyRC B6 V2 is a DC input, high-performance, micro-processor-controlled charge/discharge/DC/DC converter with battery management suitable for all mainstream battery types (LiPo/LiFe/Li-Ion/LiHV/NiMH/NiCd/Pb). The charger delivers dedicated 60W integrated power and charge current up to 6A. Additionally, it supports DJI Mavic/Inspire Battery with maximum 4A charge power.


That's it for this week! As always, we can't wait to see what you make! Shoot us a tweet @sparkfun, or let us know on Instagram or Facebook. We’d love to see what projects you’ve made!

Never miss a new product!

comments | comment feed

A micro:bit Programming Deep Dive

via SparkFun: Commerce Blog

Last month we hosted a webinar that showed you how to teach students all about micro:bit in order to continue STEM classes and lessons online. This week, Derek turns his focus to programming exercises that use the micro:bit and Microsoft MakeCode. During this session, we will explore what the first hour of using micro:bits with students looks like, and provide a foundation for you to build off of with your students.

Our goals for this session are to provide a hands-on experience with the micro:bit, outline implementation models and, most importantly, to deepen learning expectations around computational thinking and programming through physical computing.

If you've been wondering how to incorporate STEM, computer science and programming into your remote instruction, please join us for this and our previous webinar.

comments | comment feed