Lady Buggy, WiFi Edition
"Lady Buggy" is a lady bug styled "buggy" I designed for our grandkids ranging in age from 2 years to, well, I'll just leave it at 2 years +.
As shown in the video, Lady Buggy is a wifi enabled remote control vehicle that features both slow movement and ease of control. Lady Buggy uses a touch based iOS device locked in portrait mode (I have only tested with iOS devices, see Software section below) and simply requires dragging the red "button" around the display for forward, reverse and turning movement; easy enough for our 2 year old grandson to operate, with minor adult supervision of course.
I've included the source code in the form of an Arduino sketch for the Adafruit Feather Huzzah ESP8266 if you wish to modify it for use with a different devices.
Also, you will need soldering skills and soldering equipment, wire, and all parts listed in the first step, plus an Arduino IDE with appropriate libraries installed in order to complete Lady Buggy.
As is usual, I probably forgot a file or two or who knows what else, so if you have any questions, please do not hesitate to ask as I do make mistakes in plenty.
Designed using Autodesk Fusion 360, sliced using Cura 3.0.4 and printed in PLA on an Ultimaker 2+ Extended and an Ultimaker 3 Extended.
Parts.
I've attached a PDF file containing two tables. The first table contains the 3D printed parts list with the settings and colors I used. The second table contains the purchased parts list.
Note the body (either "Body.3mf" or "Body.stl") must be printed with supports due to the 4 mounting towers inside of the shell being 2mm higher than the shell. Note also that Cura 3.0.4 would not place "Body.3mf" on the build plate, thus I had to disable the "Automatically drop models to the build plate" setting then manually lower the body until it made contact with the build plate (using Cura and looking at the build plate from beneath the model, I lowered the body until I could see the faint red outline of the body shell contact the build plate).
Prior to assembly, test fit and trim, file, sand, etc. all parts as necessary for smooth movement of moving surfaces, and tight fit for non moving surfaces. Depending on the colors you chose and your printer settings, more or less trimming, filing and/or sanding may be required. Carefully file all edges that contacted the build plate to make absolutely sure that all build plate "ooze" is removed and that all edges are smooth. I used small jewelers files and plenty of patience to perform this step.
This design uses threaded assembly, so a 6mm by 1 tap and die may be needed to clean the threads.
Electronics.
Carefully cut the positive (red) wire on the battery in the middle, then strip and tin the leads as shown.
Solder the portion of the red wire coming from the battery to the center two terminals of the switch as shown
Solder a red wire between the outer pairs of the switch terminals as shown.
Solder the portion of the red wire coming from the connector to either of the outer two switch terminals as shown.
To power the servos, both servo positive (red) wires are soldered to the "BAT" pin on the Feather Huzzah and both servo negative (brown) wires are soldered to the "GND" pin on the Feather Huzzah.
To control the servos, the left servo signal (orange) wire is soldered to the "12/MISO" pin on the Feather Huzzah, and the servo right signal wire (orange) is attached to the "13/MOSI" pin on the Feather Huzzah.
Software.
Lady Buggy uses an html "canvas" element for the graphics, and the canvas events "touchstart", "touchmove" and "touchend" for control (see https://www.w3schools.com/graphics/canvas_intro.asp). I'm of the belief the software should work on touch enabled devices other than iOS, but have not been able to confirm that it will.
I designed the Lady Buggy software to operate in both ap (access point) and station (wifi router) wireless modes.
If you choose to operate Lady Buggy in ap mode, a wireless router is not required as your iOS device communicates directly with Lady Buggy. To operate in this mode, you will go to the wifi settings on your iOS device and select the "LadyBuggy" network. Once connected, open the web browser on your iOS device and enter the ip address of "192.128.20.20" in the url field.
If you choose to operate Lady Buggy in station mode, you will communicate with Lady Buggy via a wireless router and thus need to change the Lady Buggy software such that "sSsid =" is set to your wireless router ssid and "sPassword = " is set to your wireless router password. You will need to change these settings using the Arduino IDE editor before compiling and downloading it to your Lady Buggy. Note that when using station mode, I've also included MDNS support that allows you to communicate with Lady Buggy at the ip address "ladybug.local" so the physical ip address is not required. However if you wish to use the physical ip address assigned by your wireless router, you will need to be connected to the Arduino serial monitor when you turn on Lady Buggy (make sure "#define USE_SERIAL 1" is at the top of the source code file before compiling and sending the code to the Lady Buggy) in order to view the ip addressed assigned to Lady Buggy by your wireless router.
After you've decided which mode you will be operating your Lady Buggy in and have made any necessary changes to the software, attach a suitable cable between your computer USB and the micro usb extension cable on the Lady Buggy, use the slide switch to power on Lady Buggy, then compile and download the software into the Lady Buggy.
Downloads
Assembly.
Attach two each of the o-rings to each of "Gear Wheel.stl" as shown.
Attach one gear wheel assembly ("Gear Wheel.stl" plus two O-Rings) to "Chassis.stl" using one "Axle Gear Wheel.stl" as shown. Repeat the process with the remaining gear wheel assembly and axle.
Attach one "Gear Servo.stl" to one of the servos using the screw supplied with the servo. This assembly must remain tight so apply your favorite glue if necessary. Repeat the process with the remaining gear servo and servo.
Insert the left servo into the left servo slot in the chassis as shown.
Insert the right servo into the right servo slot in the chassis as shown.
Place the battery in the chassis battery compartment as shown. Secure the slide switch to the chassis using either small screws or glue.
Place "Battery Cover.stl" over the battery as shown.
Wrap the wire bundle between the servos and Feather Huzzah with electrical tape, then place the Feather Huzzah into the battery compartment cover as shown.
Place the ball bearing into the chassis and secure in place with "Ball Bearing Cap.stl" as shown. Do not over tighten as the ball bearing must easily rotate in the chassis.
Attach the micro usb cable extender mail plug into the Huzzah ESP8266 as shown. Secure the female end to the chassis with the supplied screws as shown.
Using the four "Bolt.stl", attach your Lady Buggy body to the chassis assembly as shown.
Operation.
Turn on the Lady Buggy using the slide switch. The switch I used is a center off switch, so sliding it to either outside position turns on Lady Buggy.
Connect to the Lady Buggy using your iOS device and the method you selected as described in the Software step.
On the iOS display, slide the red button towards the top of the display for forward movement, towards the bottom of the display for reverse movement, and left or right for left or right movement.
See the video for a short demonstration of controlling Lady Buggy.
Hope you like it!