Walking a dog in the dark comes with the safety risk of motorists who don't see you walking, we've had a few close shaves with drivers turning quickly into or backing out of driveways or when crossing road intersections.
So why not illuminate your favorite Doggo with a rainbow of colors to get motorists attention and at the same time provide white lights pointing forward to enable you to see uneven pavement in the dark - the solution is this fun "Doggo Walking Light"
This unit is USB rechargeable, comfortable fit with its own collar with no light shining into your Doggos eyes as it's directed from underneath the collar.
Enclosed in this instructable the simple circuit, 3D Model for the case and the instructions to build using low-cost parts including an Arduino Nano.
Step 1: Required Materials
I did use independent LEDs that are mounted in each hole and fastened with Hot Glue. You can use an appropriate LED strip however you would need to consider modifying the 3D model to accommodate the distance between LEDs.
- Arduino Nano
- 3.7v 350mAh LiPo Battery Size: 38mm x 20mm x 7.5mm
- TP4056 USB LiPo Battery ChargerData Sheet
- 4.7K ohm resistor to limit LiPo battery charge current to below 300mA
- WS2812 RGB LED Module x 10
- Slider Switch
- Access to a 3D Printer (I used a Creality Ender 3)
- Clip on Dog Collar suitable for your dog
- Cable Ties x 5
- Hot Glue Gun
- Soldering Iron
- Approx 1m of multi-strand Hookup wire Red, Black, and Blue
Three x 30cm lengths of single-core "Bell Telephone" wire
One 15cm by 1cm strip of plastic sheet (I used an offcut from an A4 plastic document wallet)
Step 2: 3D Print the Case
The 3D design of the case has been through three iterations in the field and now I've settled on a design which ensures maximum dog safety, comfort as well as convenience to quickly attach the unit to your doggo.
Therefore the case attaches to an independent dog collar from your existing "Dog Lead Collar". See the photos above.
The inner diameter of the collar is 14cm so you can use this as a guide as to whether it is suitable for your Dog. I did this by measuring the circumference of our Dogs neck or length of Dog collar then working out the diameter of their neck. Use the formulae
doggo neck diameter = doggo collar length divided by 3.145 or (d = C/π)
Download the STL files from Thingiverse link here and load into your slicer in preparation for printing on your 3D Printer.
I used PLA filament and printed at 205 Degrees with a print speed of 40mm/sec, with Supports enabled.
The supports are required for the LED apertures and the slide switch mount in the case.
Step 3: Build the LED Array
1. Mount the LEDs in position
This is probably the most tricky part of the build so requires some patience and careful soldering.
Once the case is printed, place the WS2812 LEDs into the holes and orient them so that the "In" and "Out" connectors are facing in line with each other. Use a small amount of hot glue to tack them in place for the next step.
Note: For this project, I did use independent LEDs that are mounted in each hole and fastened with Hot Glue. You could use an appropriate LED strip however you would need to consider modifying the 3D model to accommodate the distance between LEDs.
2. Connect up the LEDs
Strip the insulation from 3 x 30cm lengths of single-core "Bell Telephone" wire and carefully connect the LEDs as per the circuit diagram.
Starting at one end of the LED array carefully solder connect all of the +5v LED connections on the independent LED pcbs to one length of wire. Repeat this for the GND connectors and also the "In" & "Out" connections.
Once complete use fine wire cutters to remove the wire between "In" and "Out" on each LED pcb. See closeup photo.
Using gentle finger pressure ensure all GND, 5V and Data lines are not touching each other and fasten them in place with hot glue ensuring the wiring hugs the inner walls of the case.
Step 4: Assemble and Test the LED Array
1. Connect the Arduino to the LED Array
Carefully solder the 5v, GND and First Data IN connection on the LED array to the Arduino Nano using Hookup wire.
2. Load Code and test the LED Array
Before loading the code into the Arduino Nano the FastLED library needs to be downloaded and added to the Arduino IDE. LInk to the library here FastLED.h
Download the code provided into the Arduino IDE and attach the serial port to the Arduino Nano. Follow the standard procedure for loading the code. When successful all LEDs should light in a sequence with the LED 0 & LED 9 staying white while the others are cycling through a series of colors.
In the event that some LEDs do not light remove the power to the Arduino and check all connections are soldered correctly. When reheating solder joints be careful not to overheat the LED pcbs as they will damage.
Warning: Do not add the battery until the circuit is working as expected because LiPo batteries deliver high current and can overheat and explode if they are connected incorrectly.
3. Insulate the LED Array with Plastic Strip
Now that the LEDs are working use hot glue to hold them firmly in place within the case. Add an insulation layer between the LED wiring and the rest of the circuit for extra protection from any likely wires shorting out.
Do this by placing a 15cm x 1cm strip of plastic sheet (I used an offcut from an A4 plastic document wallet) over the LEDs wiring taking care to ensure there are no wires crossed or likely to touch. Use Hot Glue to fasten the Plastic Strip in place.
Step 5: Add the USB Charger and Battery
1. Do not connect the LiPo Battery unit until the very last step as accidentally shorting this out during assembly can cause the unit to overheat or even catch fire.
2. When handling the battery and charger ensure you are careful not to short out the battery connections.
3. LiPo batteries are unlike other rechargeables and overcurrent charging can be dangerous so ensure you configure the charge circuit correctly.
1. Modify The Charger Current Limit
The circuit uses a LiPo Battery which can be charged using a Micro USB phone charger. The TP4056 USB LiPo Batt Charger Board is first modified with 4.7K resistor to limit charge current to under 300mA. Direction on how this can be done can be found here. This requires you to remove the existing surface mounted resistor and replace with a resistor as shown in the photo. Once in place protect any unplanned movement of the resistor with some hot glue gun.
Before connecting to the Arduino board, test the charger is working correctly by connecting a cell phone charger with a Micro USB port. The red charging light should come on when working correctly.
2. Install the Slider Switch
Carefully mount the slider switch into the case by rotating it into position and holding in place with hot glue. Connect up to the Arduino and USB charger and LiPo Battery as per the circuit diagram.
3. Fasten Components into the Case
Prior to gluing items into place ensure that the Arduino, LiPo Battery and USB charger PCB are positioned in the case so that they fit, there are no exposed wires touching PCBs or other wires, and that the lid will close without putting any tension on components or wires.
- The USB Charging Board has a specific whole designed for easy mounting within the case, use hot glue to hold the PCB in place taking care that the USB port is not covered in glue.
- The Arduino can be positioned on its side and glued into position as per the pictures provided.
- The LiPo battery needs to be handled with care and not overheated. Just tack this in place and
When mounted in place close the lid without inserting screws, then turn the power switch to on and ensure the circuit is working correctly.
Step 6: Final Assembly and Testing
1. Fix the Lid in place
Use 3 PK styled screws to fasten the lid on the unit. The three holes may require drilling out to accommodate the crews.
Turn the unit on and test for a few hours. I recommend you leave on charge for a few hours to ensure that the unit is charged. If there are no issues then proceed to the next step.
2. Fasten the Dog Collar
As discussed earlier I found that attaching a separate Dog Collar to the unit is the most convenient and safe way to attach to a Doggo.
In order to do this correctly adjust the new collar to a comfortable size for your Dog. You should be able to freely move two fingers under the collar when adjusted correctly.
Take the collar off the dog and transfer it to a firm surface next to the "Doggo Walking Light".
Use a series of cable ties to firmly attach the new collar to the "Doggo Walking Light" as you can see in the photo above.
Note: The latest 3d Model has 3 separate mounting brackets you can use to thread a cable tie through and around the Dog Collar. Tighten the cable ties ensuring the end grip of each tie is located out of the way from the unit as per the photos to ensure they won't rub the Dog.
3. Go have some fun with a field test!!
I've found a lot of people are pleased to see an illuminated rainbow colored Doggo in the street so there is a lot of interest.
However, more importantly, I've felt safer walking in the dark streets of the neighborhood as we are now visible to car drivers and also can see unexpected footpath obstacles in our path.
Hope you enjoy making this as much as I did. Go walk your Doggo !!
This is an entry in the
Arduino Contest 2019