I have been working on my 3D printable self balancing robot which requires no additional soldering and part crafting. Just assembly needed. As you have a 3D printer and being hobbyist, you probably have most of the parts :)
Note: I am lacking some coding skills so I am working on perfecting the coding part, that is why currently I can not share the code. It needs some PID value calibrations, angle drift filtering calibrations and many more improvements. Any help is actually welcome :)
Check the moving video: https://youtu.be/KGVTsASj2y4
1)BodyDown part: Step motors, wheels, tires(which should be printed with flexible filament for better traction. You can use bunch of elastic if you do not have flexible filament) and Controller holder need to be fixed. Make sure the stepper motor connectors are not facing upwards.
During coding you do not need to fix the Arduino so the USB cable can pass from the upper side.
2)BodyUp part: Here you fix mpu-6050 either upper face or down face with 2x M3. I stick mine with 3M adhesive paper facing downwards which works fine. In this case you do not see extra cables.
You can glue Battery Holders Adapter so they do not fall during shaking or falling.
1) Arduino Uno R3 (I have Atmega 328p processor one)
2) CNC Shield
4) 2x Step Motor Drivers
5) 2x Nema 17 Step Motors
6) My biggest problem, battery selection. I went with 3x 18650 batteries, but they kind of heat up fast. I used powerbank which seems to work fine but it is not 12V so stepper motors have a little bit power lacking issues. So, battery selection is up to you. I created battery holder adapter, so you can insert your own battery or just put on top.
7) Bunch of M3 screws (between 16-24) depends on what you want to add.
8) (optional) HC-06 bluetooth module
You can use the link for following parts 1,2,5:
You can use the link for following part 3:
1)Perfecting the balancing code
2)Finding a better powering solution
3) Bluetooth + android control
2) Adding a small screen to have 2 cute eyes with reactions