element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Project Videos
  • Challenges & Projects
  • element14 presents
  • Project Videos
  • More
  • Cancel
Project Videos
Documents I Tried Building 16 ATtiny Robots with Vibration Motors – It Was a Disaster -- Episode 676
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Project Videos to participate - click to join for free!
Related
Recommended
Engagement
  • Author Author: cstanton
  • Date Created: 30 Jul 2025 4:05 PM Date Created
  • Last Updated Last Updated: 31 Jul 2025 12:45 PM
  • Views 33266 views
  • Likes 6 likes
  • Comments 14 comments

I Tried Building 16 ATtiny Robots with Vibration Motors – It Was a Disaster -- Episode 676

Join us as we explore the harsh lessons learned from building a swarm of tiny robots powered by ATtiny416 microcontrollers, vibration motors, and 3V coin cells. What started as a simple DIY robotics project quickly descended into development hell plagued by power issues, motor driver failures, inconsistent components, and programming headaches. Follow along as we break down the seven circles of integration problems, uncover what went wrong, and share practical insights to help you avoid the same pitfalls in your own projects.

Watch the Disaster Unfold

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

The Seven Circles of Development Hell (And How to Escape Them)

Welcome to Development Hell—where hopes and dreams slowly wither away, crushed under the weight of endless debugging and integration nightmares. Also known as Integration Hell, this is the place where once-simple projects morph into chaotic labyrinths of uncertainty, inconsistency, and outright suffering.

Many developers have experienced this descent firsthand. What begins as a straightforward idea—such as building a swarm of small robots that influence each other to create emergent behaviours—can quickly spiral into a seven-layer cake of misery. From hardware failures to programming pitfalls, every step of the process can present new challenges. However, understanding the circles of Development Hell can help navigate (and hopefully escape) them.

So, let’s take a tour of the seven circles of Development Hell and explore ways to return to productivity.

image

Circle 1: An Unfamiliar Platform

The Problem: Choosing a new platform often means wrestling with unfamiliar tools, cryptic documentation, and unexpected limitations. For instance, working with the Attiny 416 microcontroller requires a special UPDI programmer, specific toolchain configurations, and an outdated version of the Arduino IDE.

The Escape: Researching toolchains and compatibility before committing to a platform is crucial. Looking for active community support and testing simple setups before full adoption can prevent setbacks. If venturing into uncharted territory, allocating extra time for learning is advisable.

image

Circle 2: Unknown Components

The Problem: Unfamiliar components introduce a host of new issues—ambiguous datasheets, conflicting specifications, and unexpected quirks. For example, dealing with MP6513 motor drivers, interpreting signals from unknown Würth photo-transistors, or troubleshooting unpredictable motors can create significant delays.

The Escape: Sticking with well-documented and widely used components whenever possible is a good practice. When obscure parts are necessary, consulting community forums, application notes, and example projects before committing can help mitigate risks. Prototyping and testing individual components early can prevent major surprises later.

image

Circle 3: Uncertain Goals

The Problem: A poorly defined objective leads to scope creep, inefficiency, and decision paralysis. A project might start with an emphasis on TinyML, inter-robot communication, or simply ensuring basic functionality, but shifting priorities can result in wasted effort and frustration.

The Escape: Defining a Minimum Viable Project (MVP) and adhering to it is essential. Clearly outlining success criteria before starting and avoiding secondary goals until primary objectives are met helps maintain focus. When uncertainty arises, validating ideas through small experiments before committing can save time and effort.

image

Circle 4: Time Constraints and Underestimations

The Problem: Scaling a project beyond realistic expectations can lead to significant setbacks. For instance, building 25 robots might sound feasible—until the time required for assembly, testing, and troubleshooting becomes overwhelming.

The Escape: Breaking projects into smaller milestones with realistic estimates can prevent exhaustion. Considering automation or outsourcing for repetitive tasks can improve efficiency. If a timeline is slipping, removing non-essential features rather than forcing rushed work is often the best solution.

image

Circle 5: Manufacturing Inconsistency

The Problem: Even with the same PCB and components, results can vary. Some devices may have odd power consumption issues, while others suffer from unexplained motor noise.

The Escape: Expecting variability, especially in hardware projects, is essential. Using controlled test environments and maintaining detailed logs of behaviours can aid in troubleshooting. Sourcing components from the same batch and investigating alternative suppliers or design adjustments can also improve consistency.

image

Circle 6: Programming Hiccups

The Problem: Flaky flashing interfaces, cold solder joints, undefined behaviour, and brownouts are common obstacles. Debugging in such conditions can be slow and frustrating.

The Escape: Investing in proper debugging tools—such as logic analysers, oscilloscopes, and serial debuggers—can significantly ease troubleshooting. Implementing fail safes early, such as watchdogs and reset mechanisms, ensures stability. Version control and incremental testing prevent the accumulation of unresolved issues.

image

Circle 7: Issue Compounding and Project Mismatch

The Problem: When multiple issues stack up, frustration peaks. Goals shift, motivation drops, and the project starts to feel like a never-ending death march. In some cases, a project may end up vastly different from its original vision.

The Escape: Knowing when to pivot is important. Sometimes, the best outcome is learning from failure and moving forward. Many developers find that their struggles become valuable learning experiences, leading to better projects in the future. When a project feels doomed, reassessing the approach—or even letting go—can be the best course of action.

image

Redemption: There’s Always Another Project

The good news? Even after experiencing the seven circles of Development Hell, there is always another challenge waiting. Every difficult project offers valuable lessons, making the next one a little smoother.

For those lost in Integration Hell, documenting struggles, learning from them, and moving forward is the key to success.

Have you ever been through Development Hell? Share your horror stories (and survival tips) in the comments below!

Supporting Files and Links

-  Episode 676 Resources 

- Make your own UPDI Programmer -  UPDI Program for new ATTiny -- Episode 529 

- Megatiny core:  https://github.com/SpenceKonde/megaTinyCore 

Bill of Materials

Product Name Manufacturer Quantity Buy Kit
ATTINY416-SN MCU, 8BIT, 20MHZ, SOIC-20 microchip 25 Buy Now
MP000357 BATTERY HOLDER, 2032, SMD Multicomp 25 Buy Now
MP6513GJ-Z MOTOR DRIVER MP 50 Buy Now
CR2032 CELL, LITHIUM, CR2032, 210MAH, 3V Multicomp 25 Buy Now
PEL00881 DC MOTOR, 3V Pro elec 50 Buy Now
1540801NBA300 PHOTOTRANSISTOR, 940NM, 0805 Würth 50 Buy Now
ECA1CM101I CAP, 100UF, 16V, ALU ELEC, RADIAL 50 Buy Now
 

Additional Parts

Product Name Manufacturer Quantity
UPDI Programmer 1

  • development hell
  • prototyping failures
  • light sensor robots
  • robot power issues
  • ATtiny416
  • LED communication
  • diy robotics project
  • Swarm Robotics
  • 3V coin cell robot
  • MP6513 motor driver
  • vibration motors
  • UPDI programmer
  • debugging microcontrollers
  • friday_release
  • Arduino IDE 2.0
  • Share
  • History
  • More
  • Cancel
Actions
  • Share
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • mayermakes
    mayermakes 1 month ago in reply to kmikemoo +1
    Lucky Me, doing project videos forces me to get stuff done in a reasonable time. otherwise I´d likely have to add the project fatigue trap to the list.
  • robogary
    robogary 1 month ago +1
    Circle 3: Uncertain Goals -The Problem: A poorly defined objective leads to scope creep, inefficiency, and decision paralysis. ROFL - Even with a clearly defined objective, I wander into scope creep…
  • robogary
    robogary 1 month ago in reply to mayermakes

    Hilarious - Leggings - You will regret buying this.  

    You will probably regret the day seeing me wearing  leggings. It would not be pretty   :-) 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mayermakes
    mayermakes 1 month ago in reply to colporteur

    you indeed can get  a shirt and even Leggins with my face. mayer-makes.creator-spring.com/

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • colporteur
    colporteur 1 month ago

    I've been there and done that. Are you selling T-Shirts:)

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • robogary
    robogary 1 month ago

    Circle 3: Uncertain Goals -The Problem: A poorly defined objective leads to scope creep, inefficiency, and decision paralysis.

    ROFL - Even with a clearly defined objective, I wander into scope creep pretty quickly.  

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • genebren
    genebren 1 month ago

    Excellent video!  We have all been there and experienced that.  Way back in my blogging career, I did a very similar blog based on lessons learned in a failed attempt.  The project in question was fully re-spun based on the learned lessons and eventual worked great.

    I am a bit fan of the ATtiny parts.  This weekend I built a lot of 10 boards for a client (using a ATtiny3226), and even though I have successfully built some 50+ of these boards, I still ran into problems, like rotated IC, swapped components (resistor and capacitor swap), bad solder joints, IC pins not soldered at all.  In all, I had to rework almost 50% of the boards.  The problems did not stop there; I ran into more problems when configuring and firmware for the ATtiny3226.  At one point the IDE for flashing the parts turned on the software lock bits and I lost the ability to modify the EEPROM. I then had to recheck all the device and erase and reflash any that were locked.

    These problems took a fairly simple task into a much more complicated one.  So, I do feel your pain.  Your project seems like a good one, it appears that you need better motors and batteries.  I would look into some lithium-Ion (or LiPo) batteries, which can provide plenty of power on demand.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mayermakes
    mayermakes 1 month ago in reply to michaelkellett

    thanks a lot for the insights! I bet this will pop up helpfully in someones search results besides me!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • michaelkellett
    michaelkellett 1 month ago

    Sometimes the report is the most useful outcome of a project. A negative result from an experiment is till a point of data that may help followers !

    I had a quick look at the problem - here are my thoughts:

    1) The motor looks like  a good choice  - its very cheap  - much better motors exist but at the £30+ level. The down side of the motor is that it is not well specified ( Farnell could improve the offering by providing better data  - like stall current, inductance, torque curves etc.)

    2) The battery is the main issue - the maximum specified continuous current is 1mA and the pulse current (15 seconds) is specced as a 30R load causing the battery voltage to droop to 1.5V. The motor stall current will be at least 10x the run current so of the order of 3A. This battery will really struggle to turn that motor - and we can't say how much of a struggle because neither will be operating in regions for which data has been provided.

    3) The motor driver is current limited and will trip at between 1 and 2A.

    4) The capacitor will help get the motor spinning but it's much too small and the ESR isn't specified. I don't have enough motor data to work out how long it takes to get spinning but I'm going to guess at 10ms - so you need a cap that drops 0.3V at 3A for 10ms = 100,000 uF - not very practical (a supercap could work) but it must have an ESR below 30mR !!

    5) If you isolate the supplies so that the processor isn't de-powered when the motor starts you might keep control but the motor driver may still not get enough volts to work.

    6) I can think of two ways round all the above - use PWM to soft start the motor (elegant but complex - you'll probably need a better processor with motor control type timers), or simple and brute force-ish - use  a lithium ion battery. An AA size lithium ion battery will be able to start the motors.

    7) You will still need much better isolation between the processor and the motors - but you should be able to get away with powering the processor via an RC filter (C on the processor side). SM ceramic caps across the motors and the motor driver supply will be needed. 

    8) The motor stall current may still be a problem with the driver 1A current limit - you might fix this by putting a resistor in series with the motor (2.7R should do it) - this is simple but will much reduce the efficiency. 

    I would add a detail to DAB's list in sections 2/3  - do the maths/simulation/experiments to validate the selection of values and types of all the parts. As with all rules, just how far you take this is project dependent - (I don't do a calculation/simulation to justify every 100nF decoupling cap but I would for every electrolytic (Farnell sell nearly 2300 different 100uF caps, ranging in price from £0.03 to £119.77 each - you have to choose the right one !).

    Thanks for the video.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB 1 month ago in reply to mayermakes

    I consider you a talented amateur.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mayermakes
    mayermakes 1 month ago in reply to kmikemoo

    Lucky Me, doing project videos forces me to get stuff done in a reasonable time. otherwise I´d likely have to add the project fatigue trap to the list.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mayermakes
    mayermakes 1 month ago in reply to dougw

    interesting, thanks for sharing the project!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube