Wi-Fi Controlled Pico Car Prototype – a Simplified Start to Accessible Remote Play
by cervanfr in Circuits > Microcontrollers
329 Views, 5 Favorites, 0 Comments
Wi-Fi Controlled Pico Car Prototype – a Simplified Start to Accessible Remote Play

When we set out to build this project, our goal was ambitious but heartfelt: create a kid-friendly racing experience using remote-controlled cars activated by a simple web-based button. The concept was designed with children who have motor deficiencies in mind—offering accessible play through a buildable racetrack and intuitive controls accessed via a QR code.
But as many makers know, projects don’t always go as planned. Despite our best efforts, we ran into several roadblocks with hardware, time constraints, and the complexity of integrating web communication with motor control.
So, we pivoted. We scaled back the scope and focused on building a working prototype—a single car with a chassis, exposed wiring, and a Raspberry Pi Pico W that could receive inputs from a locally hosted web server. While we didn’t get the car to move wirelessly, we successfully controlled it via USB and established the groundwork for remote activation.
This Instructable walks through our process—from the initial vision to the final prototype. It's not just a technical guide—it's a reflection on iterative design, learning from failure, and building toward something bigger.
Supplies
- DC Motors & Wheels: 4 Sets TT Motor DC 3-6V Gearbox Motor Dual Shaft 200RPM Ratio 1:48 Motor with Tire Wheel Kit for Arduino DIY Smart Car Robot
- Link: https://www.amazon.com/AEDIKO-Motor-Gearbox-Shaft-200RPM/dp/B099Z85573/ref=sr_1_6?dib=eyJ2IjoiMSJ9.SlNiAESLfxcZd6H0Os2HsRXrmR4qsF9SrHxYzVJkvGjyE0_Gqkc8R88hdF8fpW2Gks--zfzCdHGQRRQ2_dInhWk0oIq8sZTLdu7YQqcnkIvJO7G36tAko65QKVmbkNfLxbdsd4zct-veK_gHhtuczaeSkJNu7y351GhjXXVo9zOBCUcD81HRT3Z-kmhyIfkU022TPVSMmaRkpK7paR6sKG-cX5gskVjKDLhmDSR5RflartEBnr9qeiPBYykhR0VQ_7uSScdu5FEWx7NErnUYXnkOVQTzZWImamCTpR9uq88.JYzIG3TqtqjfiCeVs-ctX1fO1Jr5AVeW1HqOQoPaMkQ&dib_tag=se&keywords=gear+motors+and+wheels&qid=1746207330&sr=8-6
- Microcontroller: Waveshare Raspberry Pi Pico Microcontroller Board with RP2040 Chip, Dual-core Arm Cortex M0+ Processor, 264KB SRAM, 2MB Flash, 26x GPIO, SPI, I2C, UART, PWM, ADC, USB 1.1, Includes Header and Cable
- Link: https://www.amazon.com/waveshare-Pico-Microcontroller-Development-High-Performance/dp/B08TVF499B/ref=sr_1_1_sspa?crid=2KQ9DHM3UP4U3&dib=eyJ2IjoiMSJ9.4pX280kByBmfwSUofVmJUnEecXRwMV6ZpUivjs_0ivB81HYT9LmTHJA2HebrzqHpyIBnMnMjbMmCMvHPwJvpQR6NavbmIMN444TVA9EU1k2M5GSTWO1xdDx5nZ-rYSHCSEnrO8d3q7ykqJBJYfqLLqk5IMicGAInUhW0BzRD31nQGj8ZOshU7-UtXHulZQLpqt5W5dza4VqdoxUgMoRSQwTqTQgLUy6GpmIp0HxkpAo.Gh4zHo6et8CMKY6nCKuNdM1zXJ_yQqN-43JPQ26HufQ&dib_tag=se&keywords=raspberry+pi+pico+wh&qid=1746207536&sprefix=raspberry+pi+pico+wh%2Caps%2C128&sr=8-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1
- Stepper Motors: WWZMDiB 2 Pcs L298N Motor Driver Controller Board DC Dual H Bridge Module for Arduino Raspberry Pi Stepper Motor (2)
- Link: https://www.amazon.com/WWZMDiB-L298N-H-Bridge-Controller-Raspberry/dp/B0CR6BX5QL/ref=sr_1_4?crid=1ZEAMLIK7HW4W&dib=eyJ2IjoiMSJ9.hK2FjV8Ukp8CCyVTI1seMk4n3aguoO_lNXX3xoiH-O0_k_Zwb9xBuiZdXIaa-fP_jJ0xLIrsksvvcOpDKJGyxKFCW7MPWeLD-QC8m8-I-Pu7Mo5dMsB61cyCyelaah2iL7khsQxbckVhxYqkE5HDdfk6DvVpWw5bL_tH2qwZo1lP9yKCKNOZ_Ed2P8kpHVhQxrKzXSdCivf9Nr18YbYJwn82q1Af1ycmew4MrUOMIP8.x1tSVLF4KJbuy04fvDAshQ3iKWVZ3ASChPGIdeSOUac&dib_tag=se&keywords=L298N&qid=1746207720&sprefix=l298n%2Caps%2C112&sr=8-4
- Breadboard & Jumper Wires: Breadboard and Jumper Wires Kit Include 830 Tie Points Breadboard 400 Tie Points Breadboard Jumper Wire
- Link: https://www.amazon.com/dp/B09VKYLYN7/ref=sspa_dk_detail_5?psc=1&pd_rd_i=B09VKYLYN7&pd_rd_w=e2053&content-id=amzn1.sym.8c2f9165-8e93-42a1-8313-73d3809141a2&pf_rd_p=8c2f9165-8e93-42a1-8313-73d3809141a2&pf_rd_r=A7XQA6GCJD9GQZ5M9K0T&pd_rd_wg=MZ3Lh&pd_rd_r=d117d77b-9607-4777-bc44-024ac8cb058e&s=industrial&sp_csd=d2lkZ2V0TmFtZT1zcF9kZXRhaWw
- Hot Glue Gun + Sticks: Hot Glue Gun Kit with 30 Glue Sticks, Fast Preheating Hot Melt, High Temp for School Crafts DIY Arts and Quick Home Repairs (20w)
- Link: https://www.amazon.com/Krightlink-Sticks-School-Crafts-Repairs/dp/B0BC878ZRG/ref=sr_1_1_sspa?crid=1LO1FDD9EA1CG&dib=eyJ2IjoiMSJ9.I-Q4PX9_hplTl922JmUAZNYzVH67ifoCFMqQLB7UW-IZzohdcXict0wTMAcd40ifQKHecT47FN8Wd4_-0B-FUs5c0Y3bHt7lq2TQHfF_44OmJjV0TK979A40Lt4u_jZ2F2uDh1dBiuvQ99Qap1K0p3ewYMYP_TXDGf2gFhDdBTZ46ZWVS6R3Fg5III5VLs13-ARSH-VV8PU2a_qMK-aYIa-3-JIKPPsUr7GmlkkY0Kvpm1PtP_4BGsAKmpYVVWEUX9mU6qFj6csGKff5wVJKxekrVi99hFcQmZ-dAwMe2_w.pyGhP-uTTrg7U5y7ZTaWWkp1V5rIXTMAgZMENwW9hPM&dib_tag=se&keywords=hot%2Bglue%2Bgun&qid=1746208214&s=industrial&sprefix=hot%2Bglu%2Cindustrial%2C108&sr=1-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&th=1
- 4 AA Battery Holder: DAIERTEK 4 AA Battery Holder with Switch 6V Battery Case Holder with Cover 4 Slots 1.5V AA Battery Storage Box with Wires Battery Connector -3pcs
- Link: https://www.amazon.com/DaierTek-Battery-Holder-Storage-Connector/dp/B09N1GDWQ9/ref=sr_1_10?crid=30ONI9IQZ87NG&dib=eyJ2IjoiMSJ9.VZP6CGcyVn7qv09-0deGEyH9gDc602dyqS5xz1iaVA5t5K_oQdbHAETSsLboc1BcNxEzY1MC-GkfPoqEoi82uuuENju2xrV56gc64PqySGVkFHZwlF7WmsJXul9Ur8Hp_y2bLoaSrQRW6AvVumyt9CAqYl4wMSgEQismwB3egG8e4oLvxxcyeB9yPCas4yMZ2EvCU6lv4lmRmsj1AI-CuE9Vn20tfa79vwrFLBoAIj7iOq_nIK7kslHYdB7xhYC4sVwMWdx5lwvo1rL-cItNn66NJG3sVlAR74f0vaCom-4.qRnbWxKDk2f8fowhqFNK_qLLf_XWvW5Kiah24cvp5FU&dib_tag=se&keywords=6v%2Bbattery%2Bpack&qid=1746208304&sprefix=6V%2Bbattery%2B%2Caps%2C126&sr=8-10&th=1
- AA Batteries: Amazon Basics 20-Pack AA Alkaline High-Performance Batteries, 1.5 Volt, 10-Year Shelf Life
- Link: https://www.amazon.com/AmazonBasics-Performance-Alkaline-Batteries-20-Pack/dp/B00NTCH52W/ref=sr_1_1_ffob_sspa?crid=2LVWSTKAUOGUM&dib=eyJ2IjoiMSJ9.xJQ1VegdfWLCxP2be1AbDII5paVNPHXs1vAFUiEPGu27eDjjLJ5gL2ZnU5TOST5aVacWhJ9jAGQo0q8dlFYC4AwMyAzDlYBLlWf-hcac2aXzu1TRrhPlVMhKtiQsedf6QBy1YGmCIp-R10dznRCuDpu4OkwCXOH0tpTPg6gfdPJeJglfhitnvUjN_3HmaYAvEYVpdI9e1PiRYQ4TluDnZKO_Mp4TVUAPp678UaiFmJdd5rK5Xobsc4oC1OQYzLuViwaKFiZ8JOp7kR3nMhyJy7nikDF6vP8YExWkzHOqtA0.2-3ziYYiPJmeoNM-0ZZlul5OX5SA-Y1LupeJrr0xnO8&dib_tag=se&keywords=aa+batteries&qid=1746208600&rdc=1&sprefix=AA+%2Caps%2C196&sr=8-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1
- (6" by 4") 1/4" or 1/8" Baltic Birch Plywood + Access to a Laser Cutting Machine
The Vision
Our original concept aimed to combine hands-on fun with accessible design. Here’s what we envisioned:
- Two small RC cars built from scratch.
- A customizable track made from modular, easy-to-connect sections.
- Web-controlled movement, triggered by a button on a server.
- QR-code access, allowing users to scan with a phone and instantly reach the control interface.
- Designed for inclusivity—so that kids with limited fine motor skills could race cars using just one finger.
The ideal setup was a plug-and-play race station that could be brought into classrooms, therapy centers, or community events. Users wouldn’t need special apps or controllers—just Wi-Fi and a camera phone.
Although this vision wasn’t fully realized, it guided our decisions and helped us prioritize what was most important: simplicity, accessibility, and playfulness.
Building the Car




The physical build of our prototype was straightforward, using accessible components and a bit of trial and error. Our goal at this stage was to create a functional, minimal chassis that could carry the electronics, motors, and wheels—and be controlled by the Raspberry Pi Pico W.
Materials Used
- 1x Raspberry Pi Pico W
- 1x Chassis (Baltic Birch base)
- 4x DC motors with gearboxes
- 4x Wheels
- 2x Motor driver board (e.g., L298N)
- Jumper wires (M-F and M-M)
- Breadboard
- Power source (USB for now)
- Hot Glue (for mounting)
- Adobe Illustrator (Optional Program)
- Lasercutter Machine (or a way to obtain Plywood)
Assembly Steps
- Prepare the Chassis:
- We started by cutting a 6" x 4" x 1/4" piece of birch plywood using a laser cutter.
- We prepared specifications using Adobe Illustrator. Specifications will change depending on machine used, but we used a stroke of 0.01 mm. A helpful video by Prof. John Gallaghuer can be found using the following link, though it doesn't cut our exact piece. We used 2 files to fulfill the build, which can be found attached to this instructable.
- Link: https://www.youtube.com/watch?v=col-nC4-xTE
- Separated into 2 files. 1st file is cut out of chassis and 2nd file is cutout for holes for wires to go through.
- Motors were mounted to either side (of the bottom chassis) using super glue.
- Wheels were pressed onto the motors and held in place using super glue.
- Battery pack was mounted towards the middle on the bottom end of the chassis - somewhere it did not clash with the superglued motors.
- Electronic mounting was the top portion of the car. Attached pictures demonstrate our setup.
- Wiring the Motors:
- A wiring diagram is attached to this step as well.
- Power Source:
- Originally, we planned to power the Pico with a separate portable battery pack, but due to time constraints and testing ease, we ran everything via USB power.
- This limited the car’s portability, but allowed us to keep iterating quickly.
- Testing Setup:
- Once wired, we uploaded a simple loop code that drove both motors in one direction via USB connection. This let us confirm that the car’s basic movement worked.
Setting Up the Server
One of the key ideas behind this project was making control as accessible and low-effort as possible. Rather than using a complicated app or physical remote, we built a web server that hosts a button. Anyone connected to the same Wi-Fi network could click the button to send a signal to the car. This was a big win—even if the motors didn’t activate wirelessly, the server setup worked well.
Tools Used:
- Raspberry Pi Pico W
- CircuitPython
- Simple HTTP server (hosted on Pico)
- Local Wi-Fi network
- QR code generator (for sharing the server link)
How It Worked
- Running a Server on the Pico W:
- We wrote a Python script (CircuitPython) to host a basic web page.
- The Pico W connected to Wi-Fi and served an HTML file containing a single "Forward" button.
- HTML + Button Logic:
- A document is attached explaining the process of creating the button and server.
- Testing:
- From a phone or computer on the same network, you could type the Pico’s IP address into a browser and open the page.
- Pressing the button triggered a print/log in the serial monitor, confirming the button press reached the Pico.
- QR Code Access:
- To make things super simple, we generated a QR code pointing to the Pico W’s IP address.
- This made the control page instantly accessible—just scan and click.
What Worked
- The server hosted correctly and was accessible from other devices.
- Button presses were registered and sent to the Pico.
- We confirmed the Pico received the commands (via serial prints and logs).
What Didn’t
- While the server and button communication worked as intended, we ran into technical issues when trying to use the button press to power the motors. We believe the problem may have been related to the motor driver logic or power draw—possibly requiring a separate power source or signal stabilization.
- This was an area we planned to return to with more time for debugging and hardware adjustments.
Downloads
Code Used
While the remote-controlled movement wasn’t fully realized, we still got the car moving using a simple looping script when connected to a computer. This code allowed us to validate our wiring and motor control logic through USB, and it served as a proof-of-concept for forward motion.
Notes:
- The code reverses the direction of the back motors for better handling or to match mounting orientation—this could be adjusted depending on how motors are installed.
- All motors are set to full power (100%) with duty_cycle = 65535.
- You can modify sleep durations or add more complex control logic later (e.g., turning or speed changes).
Downloads
Conclusion & Future Work
Although our final prototype didn’t fully realize the original vision, it laid a solid foundation for a project with meaningful potential.
We set out to design an interactive experience for children with motor impairments—a remote-controlled car system that could be operated through a single web button and accessed via a QR code. While technical constraints led us to scale back the scope, we still accomplished several important milestones:
- Built a working four-motor car chassis using the Raspberry Pi Pico W.
- Created a functioning web server hosted on the Pico W, capable of registering remote button input.
- Verified motor movement through direct USB-controlled code, confirming that our design and wiring were sound.
These wins may seem small compared to our original concept, but they’re the exact kind of incremental progress that many real-world projects are built on.
Final Thoughts
This project reminded us that failure isn’t the opposite of success—it’s part of the process. We learned about hardware, networking, web control, timing issues, and most importantly, how to adapt when things don’t go as planned. We’re proud of what we built and excited to keep improving it.
If you're a maker, educator, or engineer interested in accessible tech or hands-on projects like this, we hope this inspires you to pick up where we left off—or start something entirely your own.