Leaprobo Project - AKA Gizgig Goes For A Walk - From Silicon Chef: Hardware Hackathon For Women
80% of the 150 attendees at Silicon Chef 2013 were WOMEN - and for many of the attendees, it was their first time coding, hardware hacking, or both. The hackathon goals were to break down the mental and physical barriers to entry for hardware-curious beginners. Simply put, we provided the silicon; they provided the enthusiasm and laptops.By Melanie Warrick (Hackbright Academy – spring 2013 class)
Last weekend at Silicon Chef, the women-centric hardware hackathon, there were over 100 participants and 20 projects demoed. My team built an Arduino on Parallax wheels controlled by a Leap Motion (3D programmable motion sensor).
Check out the video to see our robot car:
Leaprobo Project Idea
I bought the Parallax kit several months ago with the intent of attaching it to my Arduino because I think everything is better with wheels (almost everything). However, I was too busy with so many other projects and things to study that I didn’t get around to assembling it until now. When the hackathon came up, it seemed like the perfect motivator to break out the wheel kit. Plus, my team had heard about Leap Motion and controlling things with a sensor seemed like a fun. Thus, the idea for the Leaprobo project came together.
It seemed simple enough and yet not so much considering how new most of us were to hardware. Lucky for us, one of our team members had several years experience with robotics, and we had some great mentorship on system design and building.
Leaprobo Hardware Parts:
• Leap Motion
• Parallax Robitics Shield Kit (for Arduino)
• USB cord
• HC-05 Bluetooth Chip (not finished)
• Accelerometer (not finished)
• Mac / Unix Terminal
Leap Motion Script
We created a Python script using the Leap’s library to read hand motions and then print out letters to the command line.
• Backward = 5 fingers spread open = print “B”
• Stop = Closed fist = print “S”
• Left = hand tilted left = print “L”
• Right = hand tilted right = print “R”
You can see the full script for the project at the following link:
Leap script = car.py
One tricky bit to note is the Leap Motion script required using the standard Python language that comes with Mac (which can sometimes be an older version). It threw errors if we tried to run it off the Homebrew installed version. So we created a virtual environment that explicitly pointed to the Mac Python version. Below is the command that made it work on our computers but other computers may be different:
$ virtualenv -p /usr/bin/python [envname]
Arduino
We built a script in the standard Arduino version of C to loop/continually read the serial port for input. A switch statement defined each case that corresponded to the outputted letters from the Python code. So if “F” is printed to the serial port, the corresponding case would call a forward function that told the servos to rotate (left counterclockwise at 1400 microseconds and right clockwise at 1600 microseconds). We had a case and corresponding function that gave servo direction based on each movement defined in the Leap code.
Note, we had to program opposite rotation for the servos for forward and backward because they are mounted in the Arduino in opposite directions. To see more about the script for the Arduino, checkout the link below.
Arduino script = car_test.ino
Parallax Wheel Kit
Parallax provides comprehensive online directions regarding how to put the wheel kit together. The first chapter gives a great overview of Arduino’s script language and the chapters covering how to build the shield is really good for someone new to hardware.
We actually assembled the wheel kit the weekend before so we had practice with it. We were ready to disassemble and reassemble if necessary, but the hackathon was pretty low-key and focused on us having fun and learning. Thankfully that was the case because we had enough roadblocks to keep us busy the whole weekend.
Serial Port – Pulling it Together
To pull the pieces together, we connected the Leap and the Arduino to one computer with USB cables. We ran the Leap program and redirected the output to store on the USB serial port file connected to the Arduino. The command that we used in the Mac terminal to make this happen is the following:
$ python car.py > /dev/tty.usbmodem1411
Note, your serial port name is probably different.
How it worked is that we ran the car.py program. While Leap Motion read the hand gestures, the program printed letters that were then written to the USB serial port file that was connected to the Arduino. The Arduino’s code continually read the serial port file for new information. When a letter showed up, the Arduino script would match it to a case and based on the called function, send directions to the servos on the Parallax shield; thus, making the car move.
Biggest Challenge – HC-05 Bluetooth
We tried to set up a Bluetooth connection with the Arduino vs. the USB cable that kept the car tethered to the Mac. Unfortunately the HC-05 chip we were using refused to read inputted data. It would pair with the computer and send output, but would not take input. We checked and rechecked many times the way the wires were setup. We tried a couple different HC-05 chips and different computers, but it just was not working for us. We fell back on the USB connection and thankfully we had one that was long enough. If anyone out there has heard of this issue and has ideas on how to fix it, please share.
Team
Our team did such an amazing job figuring things out and making the product come together. Several of us were new to programming and some had never met before. There was a lot of collaboration as well as capability to work independently that helped get the project done.
Meggie worked hard on figuring out how to implement the accelerometer, and it was ready to add to the car. Unfortunately we ran out of time because we were down to the wire making the main Leap to Arduino connection work.
Kara and Chris dived deep into understanding Arduino C and with Rita’s help Kara was able to build out the code that ran the car. Kara did such a fantastic coding job with only a month of programming, and she rocked the demo, driving the car like a pro after only 30 minutes practice.
Kelley pulled together the Python code for the Leap and had that ready for us to run once we started working on the serial port connection. I had already put together the wheel kit, was helping to give team direction and spent a good deal of time working on Bluetooth as well as troubleshooting pulling the pieces together.
Still we wouldn’t have been successful without Rita. She helped us to really defined and led our system design, coached different members on how to build the code in C and figured out the serial port connection to finally make the car work. We also had some great mentorship help from Mark, Magee and Jeremy.
It was a great team. We had a lot of fun and learned a ton. The best part was having it actually work by demo time.
Next up, I need to figure out how to make it fly, talk and do facial recognition. Simple, right?
This post was originally posted at Melanie Warrick's blog.
RELATED POSTS
Recent Posts
- January 15, 2021 Software Engineers Get Real About Imposter Syndrome
- January 12, 2021 If You Give a Mentor a Mentee
- January 11, 2021 Learn Software Development in a Community
- January 01, 2021 Challenge, Change, and Employment Tips After the Bootcamp
- December 30, 2020 Why Your Grandma Should Learn to Code
CATEGORIES
- News (161)
- Hackbright Academy (123)
- Hackbright News (106)
- Profiles of Woman Engineers (105)
- Alum (98)
- Engineering Advice (68)
- tech (54)
- career change (53)
- Resources (49)
- TGIF (49)
- link roundup (49)
- reading (49)
- recap (49)
- roundup (49)
- weekly (49)
- women in tech (43)
- Becoming A Software Engineer (36)
- female software engineers (36)
- Software Engineer (35)
- diversity in tech (35)
- change the ratio (32)
- learn to code (31)
- Career Services (30)
- Admissions Office (28)
- women who code (28)
- #ilooklikeanengineer (27)
- Student Blogs (25)
- Hackbright Field Trips (24)
- female engineers (24)
- coding (23)
- Hackbright Mentors (22)
- Python (21)
- Thought Piece (21)
- Video (21)
- partner (20)
- diversity (18)
- Recruiting & Hiring (16)
- alumna (14)
- hackbright (13)
- tech inclusion (13)
- Software Engineers (11)
- hired (11)
- Graduation (10)
- changetheratio (10)
- Tech Talk (9)
- how to become a software engineer (9)
- software developer (9)
- Imposter Syndrome (8)
- hiring (8)
- Course Report (7)
- Facebook (7)
- GitHub (7)
- Hackbright Alumnae Showcase (7)
- Mentorship (7)
- Scholarship (7)
- women engineers (7)
- Hackbright mentor (5)
- Liz Howard (5)
- Programming Languages (5)
- Scholarships (5)
- coding bootcamp (5)
- mentor (5)
- recruiting (5)
- Admissions (4)
- Eventbrite (4)
- Full-Stack (4)
- Graduates (4)
- Hackathon (4)
- Heroku (4)
- Melanie Warrick (4)
- Mentors (4)
- Nicole Zuckerman (4)
- Resume (4)
- Silicon Chef (4)
- developer (4)
- holidays (4)
- instructor (4)
- women in computer science (4)
- Ada Lovelace Day (3)
- Chris Palmer (3)
- Code of Conduct (3)
- GoDaddy (3)
- Google (3)
- Halloween (3)
- Interview Tips (3)
- Jasmine Tsai (3)
- Job Search (3)
- Kathryn King (3)
- Mica Swyers (3)
- Negotiation (3)
- Pat Poels (3)
- STEM (3)
- Shilpa Dalmia (3)
- code (3)
- computer programming (3)
- day in the life (3)
- day-to-day (3)
- engineering (3)
- girls in tech (3)
- holidaze (3)
- international women's day (3)
- learning (3)
- part-time (3)
- prep (3)
- “Kelley Robinson” (3)
- ActivityHero (2)
- Aimee Morgan (2)
- Alyson La (2)
- Angie Chang (2)
- Arduino (2)
- Change.org (2)
- Elissa Murphy (2)
- Financing Options (2)
- Girls Who Code (2)
- Gowri Grewal (2)
- Gulnara Mirzakarimova (2)
- Hackathons (2)
- Inspiration (2)
- Joyce Park (2)
- Julia Grace (2)
- Julia Hartz (2)
- Kate Heddleston (2)
- Katherine Fellows (2)
- Katherine Hennes (2)
- Lisa Lee (2)
- Liz Crawford (2)
- Machine Learning (2)
- Marissa Mayer (2)
- Meagan Gamache (2)
- Megan Speir (2)
- Michelle Glauser (2)
- Michelle Sun (2)
- Natalie Downe (2)
- New Relic (2)
- Niniane Wang (2)
- Padmasree Warrior (2)
- Poornima Vijayashanker (2)
- Programming (2)
- Rebecca Bruggman (2)
- Security Engineering (2)
- Selina Tobaccowala (2)
- SheCodes (2)
- Siena Aguayo (2)
- SurveyMonkey (2)
- Tindie (2)
- Uber (2)
- Uncategorized (2)
- Web Apps (2)
- Zendesk (2)
- Zoe Kay (2)
- almnae (2)
- back-end (2)
- bootcamp (2)
- career transition (2)
- careers (2)
- coding blonde (2)
- coding school (2)
- computer programmer (2)
- ebook (2)
- engineer (2)
- financial aid (2)
- gender (2)
- gender gap (2)
- gift guide (2)
- hackbright prep (2)
- jobs after bootcamp (2)
- payment plans (2)
- podcast (2)
- product management (2)
- projects (2)
- python 101 (2)
- python programmers (2)
- reddit (2)
- social impact (2)
- students (2)
- techhire (2)
- technical product management (2)
- white house (2)
- women (2)
- women in STEM (2)
- #HackentinesDay (1)
- #hackdisrupt (1)
- #learntocode (1)
- 2017 (1)
- A Day In The Life Of A Hackbright Student (1)
- Academia.edu (1)
- Ada Lovelace (1)
- Adora Cheung (1)
- Affectiva (1)
- Alison Gianotto (1)
- Allison Deal (1)
- Ambassadors (1)
- Ambassadors Program (1)
- Anna Billstrom (1)
- AppJamming (1)
- Ashley Lorden (1)
- Automate Everything (1)
- Bay Area Girl Geek Dinners (1)
- BeMyApp Factory Hack (1)
- Belinda Runkle (1)
- Bessie Chu (1)
- Big O Notation (1)
- Bills.com (1)
- Birchbox (1)
- Black Girls Code (1)
- Blameless Work Culture (1)
- Brittany Martin (1)
- Browser Extension (1)
- Buffer (1)
- B’Elanna Torres (1)
- CODE Documentary (1)
- CODE2040 (1)
- CTO (1)
- CTOs (1)
- Cara Marie Bonar (1)
- Career Day (1)
- Cathy Edwards (1)
- Charmy Chhichhia (1)
- Chegg (1)
- Chomp (1)
- Christian Fernandez (1)
- Christina Liu (1)
- Christina Pan (1)
- Christine Yen (1)
- Cisco (1)
- Clare Corthell (1)
- Code.org (1)
- CodeGirl (1)
- CodeShannon (1)
- Computer Security (1)
- Conferences (1)
- Costumes (1)
- Couchsurfing (1)
- Cynthia Dueltgen (1)
- Danica McKellar (1)
- Data (1)
- Data Science (1)
- Dave-To-Girl (1)
- Dave-To-Girl Ratio (1)
- DevBeat 2013 (1)
- Dominic Dagradi (1)
- Electric Imp (1)
- Email Signature (1)
- Emily Gasca (1)
- Engineering Culture (1)
- Erica Kwan (1)
- Erin Parker (1)
- Farnaz Ronaghi (1)
- Female CTOs (1)
- Femgineer (1)
- Future of Food Hackathon (1)
- Gayle Laakmann McDowell (1)
- Gemma Barlow (1)
- Go Against The Flow (1)
- Google I/O 2014 (1)
- Grace Hopper (1)
- Grace Hopper Celebration (1)
- Hacbright Academy (1)
- Hack Your Life (1)
- Hack(bright) for Good (1)
- Hackbright Girl Geek Dinner (1)
- Hackbright engineering fellow (1)
- Hardware (1)
- Harvey Mudd College (1)
- Homejoy (1)
- Hour of Code (1)
- Huffington Post (1)
- Hypatia (1)
- Indiegogo (1)
- Industry Insight (1)
- Ingrid Avendaño (1)
- Jason Huggins (1)
- JavaScript (1)
- Jibe (1)
- Job Seeker (1)
- Jocelyn Goldfein (1)
- Joel Franusic (1)
- Kat Hagan (1)
- Kate Matsudaira (1)
- Katherine Wu (1)
- Katie Miller (1)
- Kaylee (1)
- Kelsey Yocum (1)
- Kimber Lockhart (1)
- Ksenia Burlachenko (1)
- LAUNCH Hackathon (1)
- Lauren Antonoff (1)
- Leap Motion (1)
- Lindsay Cade (1)
- LinkedIn (1)
- LinkedIn Profile (1)
- Lise Meitner (1)
- Lookout Mobile Security (1)
- Louise Fox (1)
- Maia Bittner (1)
- Margaret Le (1)
- Margaret Leibovic (1)
- Maria Klawe (1)
- Mariane Abou-Jaoudé (1)
- Marie Curie (1)
- Marissa Marquez (1)
- Martha Kelly (1)
- Math (1)
- Matt Haines (1)
- Mattermark (1)
- Meebo (1)
- Megan Anctil (1)
- Meggie Mahnken (1)
- Mercedes Coyle (1)
- Minted (1)
- Moms in Tech (1)
- Morgan Griggs (1)
- Mozilla (1)
- Music Information Retrieval (1)
- NCC Group (1)
- NESTA (1)
- Natasha Litt (1)
- Nidhi Kulkarni (1)
- Night Classes (1)
- Nishita Agarwal (1)
- Noah Kindler (1)
- Node (1)
- Node.js (1)
- Noise (1)
- O’Reilly (1)
- PandaWhale (1)
- Parse (1)
- Part-time classes (1)
- Perforce (1)
- PickAxe Mobile (1)
- Pinterest (1)
- Platform API (1)
- Popforms (1)
- Powers of Two (1)
- Presidential Innovation Fellow (1)
- Programming Interviews Exposed (1)
- PyCon 2014 (1)
- Quirky Eggs (1)
- Raji Arasu (1)
- Rana el Kaliouby (1)
- Raspberry Pi (1)
- Rebecca Parsons (1)
- RocksBox (1)
- Rosalind Franklin (1)
- Rosette Diaz (1)
- Ruby (1)
- Ruby on Rails (1)
- Sandra Lerner (1)
- Sandy Jen (1)
- Sarah Allen (1)
- Sarah Mei (1)
- Science and Technology (1)
- Security Engineer (1)
- Selenium (1)
- Shannon Burns (1)
- She Started It (1)
- Shiv Kumar (1)
- Smithsonian (1)
- Software Testing (1)
- Spitfire Athlete (1)
- Square (1)
- Stephanie Shupe (1)
- Steve Tjoa (1)
- StubHub (1)
- Student (1)
- Tech Gives Back (1)
- Testing (1)
- The Developers (1)
- ThoughtWorks (1)
- Tom Croucher (1)
- Toxicity (1)
- Tracy Chou (1)
- Twilio (1)
- TwilioQuest (1)
- Twitter (1)
- Velocity Conference 2014 (1)
- Vida Ha (1)
- Warren Colbert (1)
- Washington DC (1)
- Web Developer (1)
- Wendy Saccuzzo (1)
- Women TechMakers (1)
- Work Culture (1)
- Zainab Ghadiyali (1)
- Zed Shaw (1)
- ada (1)
- all-women (1)
- alumna spotlight (1)
- alumnae (1)
- alumni (1)
- app (1)
- be brave get paid (1)
- bias (1)
- black leaders (1)
- blog (1)
- bloomberg (1)
- career strategist (1)
- catalyst (1)
- checkr (1)
- codecademy (1)
- coderpad (1)
- coding interviews (1)
- collaborative coding (1)
- conference (1)
- corporate (1)
- costume (1)
- documentaries (1)
- edie windsor (1)
- education (1)
- efective communication (1)
- employer sponsorship (1)
- engineers (1)
- entrepreneur (1)
- fall2014 (1)
- fellowship (1)
- female founders (1)
- field trip (1)
- finance (1)
- fintech (1)
- firebase (1)
- front-end (1)
- genentech (1)
- getting started (1)
- girl power (1)
- git (1)
- giving back (1)
- gynopedia (1)
- hack bright (1)
- hacker (1)
- hacksmart2018 (1)
- implicit bias (1)
- infographic (1)
- information security (1)
- infosec (1)
- integration (1)
- internship (1)
- interviews (1)
- intro to programming (1)
- jobhunting (1)
- kids code (1)
- leadership (1)
- lesbians who tech (1)
- lwt (1)
- notifica (1)
- onboarding (1)
- online python 101 (1)
- pair programming (1)
- phenomenal woman (1)
- pre-bootcamp (1)
- programmers (1)
- python web framework (1)
- run the world (1)
- salary (1)
- salary negotiation (1)
- san francisco (1)
- security consulting (1)
- self-documenting code (1)
- sf (1)
- sheroes (1)
- software engineering fellowship (1)
- south bay (1)
- starting your own business (1)
- startup (1)
- streak (1)
- superheroes (1)
- tech tips (1)
- technical interview (1)
- technologies (1)
- transition (1)
- tuition (1)
- unconscious bias (1)
- volunteering (1)
- work-life balance (1)
- wwc (1)
- zach haehn (1)
- zapier (1)
- “Versal” (1)