Before we get started I'd recommend you watch the first video before reading this as it's very useful.

HI, my name is Jacob and I live in the UK.

Recycling is a big problem where I live I see a lot of litter on the fields and it could be harmful. The most annoying thing about this is that there are bins everywhere. Is this because people are to lazy? I decided to fix this by making a recycling bin that comes to you !

Lets get started...


Dewalt/ any cordless tool battery.

3D printer. You could probably get away with out one.

Arduino uno.

Bluetooth module.

Buck converter.Optional depending on how long you want your arduino to last.

Computer and a phone.

2x IBT_2 .

2x Wiper motor.

Step 1: Getting Power.

I am on a very very tight budget so I can not go wasting my money on fancy expensive Li-Po battery's or even Led acid. However, there are probably really cheap LI-Po battery's in your home that you don't even know about. Cordless drill Battery's or even some lawn mowers. These battery's are very useful and are light!

I didn't waste any time getting started! I hopped into tinkercad and after a few iterations, I came up with this:

Up the top.

Step 2: Wiring Up the Motors.

As I said in the supplies section I am using 2x IBT_2's and an arduino. I used this wiring diagram NOTE I DIDN'T USE THE POTENTIOMETER PART. Wiring was very simple and just involved soldering. The IBT_2 has two PWM pins one to spin the motor backwards and one forwards. It also has two power pins that can be 3.3v to 5v. These are all you need to wire up to have full control over the motor. Don't worry about the other pins.

Step 3: *Test* Code

I wrote a small piece of code that will slowly accelerate the motor and the change direction every 10 seconds. This is achieved using a for loop. The IBT_2 was wired to 5th and 6th PWM pin. You can copy and paste it.


int RPWM_Output = 5; // Arduino PWM output pin 5; connect to IBT-2 pin 1 (RPWM)
int LPWM_Output = 6; // Arduino PWM output pin 6; connect to IBT-2 pin 2 (LPWM)

void setup() { pinMode(RPWM_Output, OUTPUT); pinMode(LPWM_Output, OUTPUT); }

void loop() {

int i=0; // put your main code here, to run repeatedly:

for(i=0;i<255;i++) {

//Clockwise analogWrite(RPWM_Output, i); analogWrite(LPWM_Output, 0); delay(100); }


for(i=0;i<255;i++) {

// Anti Clockwise analogWrite(RPWM_Output, 0); analogWrite(LPWM_Output, i); delay(100); }



Step 4: Arduino, Bluetooth Module and Power Distributor Mount.

You could probably get away without 3D printing but it's a lot easier to just print it instead of make it. So I designed a box for my arduino and Bluetooth module to slide in with tinkercad. This box has screw holes on the side to mount. I mounted this in the middle of my semi-chasis. In the end, I just had to create holes inside the box to mount it as it was to big.

Step 5: Chassis.

This Chassis was made out of studwork timber and simply screwed together with a few wood screws. I created a quick cad model for you. There isn't really much to say about this.

Step 6: Wiper Motor Mounts.

This is actually from a previous project so the mounts were already made but it consists of 3 pieces of heavy duty straps.

Step 7: Saftey.

I, again, designed a mount in tinkercad to hold a 7.5 amp circuit breaker. As you can see in the attached picture above.

Step 8: IBT_2 Mounts / Motor Driver Mounts

I found a mount on thingiverse that I edited a bit. In my opinion, it does a very good job. It is also very strong despite it being mounted by hot glue.

Step 9: Test Code Again.

I have written some code that will, whenever you send it the number one, make the motors spin forwards. Here:

Step 10: Wiring.

I used a mixture of chocolate block and way go electrical connectors to connect most things. The arduino pins have been soldered. I have also created a wiring diagram for you. If you do want to build this, I'd recommend you search up the wiring for indidual parts as this one is a simplified version.

Step 11: Wheel Mounting.

For the wheels, I used old ones off my Granddad. I stuck an M8 nut on the wiper motor and then used thread lock on it. After that, I screwed threaded rod inside the nut. I added two nuts to lock it together and then added a penny washer. Then, I added a washer and two locking nuts really tight in between the wheel.

Step 12: Final Code.

This piece of code uses a variable called 'i' set as an integer to 170. This made it a lot easier to write this as I didn't have to write 170 each time I want to spin each motor. The number 170 is used as it's 170/255 which is equivalent to 12/18 volts. I worked this out by dividing 18 by twelve and then dividing 255 by the result of the last sum. 18 / 5 = 1.5. 255 / 1.5 = 170.

Then, since there are two pwm pins, I named each motor Motor one: RRPWM: RLPWM Motor 2: LRPWM LLPWM. These were both set as outputs on pins 5, 6, 10 and 11.

Also, I set 4 integers 1: forward_state 2: Backward_state 3:Left state 4: Right state. In the setup, these were set to 0 by default. I used simple if statements for each one. It works by setting forward state to 1 if '1' is received and it also turns on the motors . Then, there is another if statement saying if forward state = 1 and one is received turn off the motors. Overall, this means that when you click a button it will keep going and then when you click it again it will stop.

Step 13: App

This app was written in MIT app inventor and uses virtual screens to achieve a bluetooth connection throughout each screen (2 of them). It doesn't allow you in to the control screen unless you have a connection via bluetooth. Simply, all it's doing is sending '1' '2' '3' '4' to the arduino depending on which button you press.

Step 14: Movement (TEST Without Bin).

I have created a video to show what it can do without a bin.

Step 15: Bin Mounting.

This thing was very easy and just slotted in. You don't have to screw it in or anything. Just add the wheels and ZOOM!

Step 16: First Proper Drive.

There is a video I made if you didn't see it at the start.

Step 17: Optional Moving Face.

I 3d printed every file from this: thingiverse post at 60% scale. I then hot glued it to the servo horn and cut a slot in the bin like this. I used an aa battery pack to power a seperate Arduino and servo. I used the example sweep code Arduino library.

Step 18: Thanks for Getting This FAR!!!

You made it. Thank you if you made it this far I hope you enjoyed it.

Step 19: Improvements.

I think this project turned out great but there is always room for improvement!

The first thing I would change is to make it fully automatic with Lidar sensors or something like that. I would also change the wheels. The wheels are only 7 inches in diameter and I think if I could make it that one bit bigger, it would be better at doing cross country and faster. Lastly, I would make it a lot more compact so I can have more room for the bin part.

Robots Contest

Runner Up in the
Robots Contest