Donkey: Building Self Driving Cars with Will Roscoe


October 21st, 2017

33 mins 49 secs

Your Hosts

About this Episode


Do you wish that you had a self-driving car of your own? With Donkey you can make that dream a reality. This week Will Roscoe shares the story of how he got involved in the arena of self-driving car hobbyists and ended up building a Python library to act as his pilot. We talked about the hardware involved, how he has evolved the code to meet unexpected challenges, and how he plans to improve it in the future. So go build your own self driving car and take it for a spin!


  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable.
  • When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters.
  • If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to Professional support and enterprise plugins are available for added piece of mind.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Your host as usual is Tobias Macey and today I’m interviewing Will Roscoe about Donkey, a python library for building DIY self driving cars.


  • Introductions
  • How did you get introduced to Python?
  • What is Donkey and what was your reason for creating it?
    • What is the story behind the name?

  • What was your reason for choosing Python as the language for implementing Donkey and if you were to start over today would you make the same choice?

  • How is Donkey implemented and how has its software architecture evolved?

  • Is the library built in a way that you can process inputs from additional sensor types, such as proximity detectors or LIDAR?

  • For training the autopilot what are the input features that the model is testing against for the input data, and is it possible to change the features that it will try to detect?

  • Do you have plans to incorporate any negative reinforcement techniques for training the pilot models so that errors in data collection can be identified as undesirable outcomes?

  • What have been some of the most interesting or humorous successes and failures while testing your cars?

  • What are some of the challenges involved with getting such a sophisticated stack of software running on a Raspberry Pi?

  • What are some of the improvements or new features that you have planned for the future of Donkey?


Donkey Car Photos

Keep In Touch



The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA