Unfortunately, my "I-Robot Roomba" model doesn't come with a remote or a scheduler to allow scheduled cleans during the day while I was out.  

I had to PRESS A BUTTON before I left the house to make it clean! Not hard but I generally forgot to do it. 

And heres the solution:

 WiFi Web Server Roomba Starter
 A simple web server that lets start you a iRobot Roomba via the web.
 This sketch will print the IP address of your WiFi Shield (once connected)
 to the Serial monitor. From there, you can open that address in a web browser
 to start cleaning or dock the roomba.

 If the IP address of your shield is yourAddress:
 http://yourAddress/H sends cleaning command
 http://yourAddress/L sends dock command

I use my mobile or my homeautomation system to schedule the cleaning task and start the roomba via wifi via http request.

created for arduino ide

Here a pic of my quick 'n dirty work. :-) In near future i want to move these parts into the roomba, i hope theres a bit space for it. (*) I allready built it into the Roomba, and it works perfect!

What you'll need:  

- Ardunio IDE -  Arduino IDE - Download

- Arduino core for ESP32 WiFi chip - please follow the install instructions on their site

- The Arduino-Sketch for this Roomba Wifi Starter

- A Roomba

- 1 x ESP32 dev Board
- 1 x DC-DC Converter


For communication between the Roomba and ESP32, the Serial Port will be used. By default, Roomba communicates at 115,200 baud.

The above diagram shows how the ESP32 should be connected to Roomba Mini-DIN connector.

 * Roomba wakeup pin attached to pin 5
 * Roomba RXD pin attached to pin 17


* Built in
First Step: Removed all Pin headers to save place

I'm thankfully to this site -->How to Open Up Roomba  it helped me through the "destruction" of my roomba.
I found some place near the DC Plug, i had to remove it, but anyway I never used it. (Important update: Don't remove the DC-Plug, because the Roomba won't allow loading from the docking station. I had to install it again.)
The wires are solderd directly to the pins underneath the Roomba Plug.

Finnaly I'm very happy with my build! :-) There is nothing to see that this roomba is hacked with an ESP32. This optimizes the usabillity and makes my wife also happy! :-)


If you realise this project with my help it would be nice if you leave a comment with your experience!
Thank you!


Write comment (0 Comments)

Ich geboren Baujahr 1981, früh packte mich die Leidenschaft für Elektronik und Technik.

Ich habe mich schon intensiv mit Elektronik und hardwarenaher Software auseinandergesetzt, mein aktueller Schwerpunkt ist das Fertigen und Bestücken von Leiterplatten.
Aber auch die Digitale Fotografie und der Aufbau und Betrieb einer kleinen CNC-Fräse gehört zu meinen Hobby's.

Im laufe der Jahre veröffentlichte ich hier Projekte aus dem Bereich der Elektrotechnik und das wir auch weiterhin geschehen ... :-)

Für Fragen und Support stehe ich unter  hannes[at]rohrhofer(.)org gerne zur Verfügung!



I born in 1981, early on I was passionate about electronics and technology.

I have already dealt extensively with electronics and hardware-related software, my current focus is the manufacture and assembly of printed circuit boards.
But digital photography and the construction and operation of a small CNC milling machine is also one of my hobbies.

Over the years I have published projects in the field of electrical engineering and I will continue to do so ... :-)

If you have any questions please feel free to contact me per hannes[at]rohrhofer(.)org

Write comment (0 Comments)

Everyone needs a CNC machine :-) Here is my build. It is based on the GRBL project.

-> GRBL Project website

-> I tested some CAM/CAD software , but i think the best one is Autocad Fusion360 which you can download for free!

The Machine



 Here is a short Youtube demo --> https://youtu.be/Pjz7Ia2_hqk


Arduino GRBL - Breakout shield

for a simple connection i designed a breakoutboard with all connections routed out to a screw terminal.



The wiring is done by following schematic:



Limitswitch circuit


GRBL Limitswitch circuit

GRBL LimitSwitch

grbl_ limitswitch


Stepper motors / Stepper driver




Project updates will follow!



{jcomments on}

Write comment (3 Comments)

Here comes a tutorial for the old  mydata converter "V51/2015", please note that this is the old version of the cadconverter.

Open a file

Name the PCB
Setting up reference points
Import settings
Search and replace components
Check your data
Export Data
Import in Tpsys

1. open your file

Use the "open file" button and open the file that contains the XY placment data from your developers cad programm.

Some CAD programs export the comma as a dot ".", be sure that it is a ',' and be sure that the tab delimiter is an other character!
If not, you can correct this easily with MS Excel. Just import the file as txt/csv and "search and replace" all dots with a "," and save it as a ".csv" file. Sometimes Excel converts some coordinates into a date format please, check this also.

2. Name the PCB

Fill in the Name and description in the "Project Name" and " Project Description" field.

3. Set up to 3 reference points

Take 2 or 3 reference points anywhere on your board and take the coordinates of these points from your developer CAD (The best way is to look in the gerber files of your board!).
Please note: It doesn't matter where the X0 Y0 Point of your CAD data is.



Find the coordinates of the reference point in your CAD-Program and enter it in the „refpoint“ fields.


Just remember that you have to manually find/teach the reference points the first time on your machine, because the machine otherwise messes up all of your coordinates.

4. Fill in your import settings

which are:

   - the start / end line in your previus opend file.
   - set the delimiter of your file (standard is "space")
   - the tab positions of the necessary coordinates and Partnames and if the data isn't provided as a µm, then you can set a multiplier to correct them.
If you entered it press "Import"



5. Replace components with components from your machine

To use this feature please export all components from your machine and place the file as "cmp.cmp" in the same folder where the MYDATA-Cadconverter is located.

Here are some screenshots from the machine:

(X) for Export


(T) for components


Use "Crtl+A" to select all of your components!


Save the file as "cmp.cmp" and place it in the MYDATA Cad Converter directory.


search and replace

 Use this feature after you imported your data with the correct settings (X,Y,Angle)

5.1 Click on the Search and Replace Button and the "Serach and Replace Components" window opens.
5.2 Double Click on the Partname will add this component in the "Component to replace" textbox.
5.3 Click on the cmpNr or cmName on your partlist will add it to the "Replace it with this component"
      To find your component quickly you can enter a search phrase in the "filter" textbox.
5.4 Finnaly you can replace the partname you have clicked in the main window by click on the "Replace" button. Or you can replace all partnames that are similar in the main window by clicking on the "Replace all" button.


6. Check your Data

In the Datagrid you can check the imported data whether the data has been imported correctly. Here you have the option to correct it or delete unnessesary data lines.

Be sure your coordinates are in "µm" that means 2,12mm, should be: 2120 in the datagrid.

Check also your angle data: 90° means 90000 in the datagrid.

If you adjust some import settings after you imported it, click "Import" again and it will apply your new settings.

7. Export

Finaly, if you ready press "write file" and your conversion is ready to import on you mydata pick and place machine!

8. Import in TPSYS

Follow these steps on your machine:

The screenshots are unfortunately in German language, I hope you can see how the import will still work






And then follow the instructions on your machine.

Just remember that you have to manually find/teach the reference points the first time on your machine, because the machine otherwise messes up all of your coordinates.


Write comment (0 Comments)

Hier folgen noch Details zu Sourcecode und Schaltung des ergoLink - Shields


- Schaltpläne/Bestückpläne
- Fotos vom Shield
- Arduino Software
- Link zur Ardunio IDE -  Arduino IDE - Download





Write comment (0 Comments)