{"id":2022,"date":"2026-09-08T10:11:48","date_gmt":"2026-09-08T07:11:48","guid":{"rendered":"https:\/\/sobotz.com\/en\/?p=2022"},"modified":"2026-09-08T10:12:02","modified_gmt":"2026-09-08T07:12:02","slug":"getting-started-with-the-m60f-sensor","status":"publish","type":"post","link":"https:\/\/sobotz.com\/en\/getting-started-with-the-m60f-sensor\/","title":{"rendered":"Getting Started with the M60F Sensor"},"content":{"rendered":"<p>The M60F is a compact time-of-flight distance sensor designed for small robots where space is limited but reliable distance sensing is still important. It can work as a simple digital detector, a PWM distance sensor, or a configurable serial sensor, making it suitable for everything from Mini Sumo robots to custom automation projects.<\/p>\n<p>To make setup easier, we&#8217;ve built a browser-based configuration tool that lets you read live measurements and change the sensor&#8217;s settings without writing any code.<\/p>\n<p><strong>Configuration tool:<\/strong><br \/>\n<a href=\"https:\/\/sobotz.com\/M60F_Sensor_Tool.html\">https:\/\/sobotz.com\/M60F_Sensor_Tool.html<\/a><\/p>\n<hr \/>\n<h2>Connecting the sensor<\/h2>\n<p>The M60F uses a half-duplex UART interface, so the TX and RX pins of your USB-UART adapter need to be connected together and wired to the sensor&#8217;s <strong>SIG<\/strong> pin. A 2.4k\u201310k pull-up resistor from <strong>SIG<\/strong> to the supply voltage is also required.<br \/>\n<img decoding=\"async\" class=\"alignnone wp-image-2023 \" src=\"https:\/\/sobotz.com\/wp-content\/uploads\/2026\/09\/sensorconnection-1024x446.png\" alt=\"\" width=\"659\" height=\"287\" srcset=\"https:\/\/sobotz.com\/wp-content\/uploads\/2026\/09\/sensorconnection-1024x446.png 1024w, https:\/\/sobotz.com\/wp-content\/uploads\/2026\/09\/sensorconnection-300x131.png 300w, https:\/\/sobotz.com\/wp-content\/uploads\/2026\/09\/sensorconnection-768x335.png 768w, https:\/\/sobotz.com\/wp-content\/uploads\/2026\/09\/sensorconnection-18x8.png 18w, https:\/\/sobotz.com\/wp-content\/uploads\/2026\/09\/sensorconnection-600x261.png 600w, https:\/\/sobotz.com\/wp-content\/uploads\/2026\/09\/sensorconnection.png 1175w\" sizes=\"(max-width: 659px) 100vw, 659px\" \/><\/p>\n<p>Power the sensor from <strong>2.8\u20135.5 V<\/strong> and make sure the adapter and sensor share the same ground.<\/p>\n<hr \/>\n<h2>Entering serial mode<\/h2>\n<p>If the sensor is currently running in Digital or PWM mode, it needs to be started in serial mode before it can be configured.<\/p>\n<ol>\n<li>Disconnect power.<\/li>\n<li>Short <strong>SIG<\/strong> to <strong>GND<\/strong>.<\/li>\n<li>Reconnect power.<\/li>\n<li>Wait at least 50 ms.<\/li>\n<li>Remove the short.<\/li>\n<\/ol>\n<p>The sensor will now communicate at <strong>9600 baud<\/strong> with <strong>ID 00<\/strong>. This is only temporary\u2014the sensor returns to its saved mode after the next restart.<\/p>\n<hr \/>\n<h2>Configuring the M60F<\/h2>\n<p>Once connected, the tool allows you to:<\/p>\n<ul>\n<li>View live distance measurements<\/li>\n<li>Change the output mode (Serial, Digital or PWM)<\/li>\n<li>Set the sensor ID and baud rate<\/li>\n<li>Adjust minimum and maximum sensing distance<\/li>\n<li>Configure signal and noise thresholds<\/li>\n<li>Save settings permanently to the sensor<\/li>\n<\/ul>\n<p>For most robotics projects, the only settings you&#8217;ll need are the output mode and the sensing range.<\/p>\n<hr \/>\n<h2>Saving your settings<\/h2>\n<p>There are two different write options in the tool:<\/p>\n<ul>\n<li><strong>Write to Sensor<\/strong> applies the settings immediately but they&#8217;re lost after power cycling.<\/li>\n<li><strong>Save to Memory<\/strong> stores the configuration permanently.<\/li>\n<\/ul>\n<p>If you&#8217;ve finished tuning the sensor, always remember to save it to memory before disconnecting.<\/p>\n<hr \/>\n<h2>Digital and PWM modes<\/h2>\n<p>The M60F doesn&#8217;t always need a UART connection.<\/p>\n<p>In <strong>Digital mode<\/strong>, the SIG pin simply outputs HIGH or LOW depending on your configured detection distance.<\/p>\n<p>In <strong>PWM mode<\/strong>, the sensor outputs a standard 20 ms PWM signal where the pulse width represents the measured distance. This makes it easy to connect directly to many microcontrollers without using serial communication. Do note, that with Arduino based microcontrollers it&#8217;s harder to achieve, because to make non-blocking PWM reading requires interrupts, which a standard atmega328p only has two, and both are tied to pins.<\/p>\n<hr \/>\n<h2>Troubleshooting<\/h2>\n<p>If the sensor isn&#8217;t responding:<\/p>\n<ul>\n<li>Make sure it was started in serial mode.<\/li>\n<li>Check that TX and RX are tied together.<\/li>\n<li>Verify the pull-up resistor is installed.<\/li>\n<li>Confirm all grounds are connected.<\/li>\n<\/ul>\n<p>If communication is unreliable, adding a <strong>1k\u20132.2k resistor<\/strong> in the USB-UART TX line often helps with half-duplex communication.<\/p>\n<p>Also, we didn&#8217;t have luck using a Arduino Nano as the UART converter, so we suggest connecting the sensor directly to a UART converter, not an Arduino Nano with reset tied to ground.<\/p>\n<hr \/>\n<p>The M60F was designed to be simple to integrate while still offering the flexibility needed for competitive robotics. Whether you&#8217;re building a Mini Sumo robot or experimenting with autonomous projects, the configuration tool makes setup quick and straightforward.<\/p>\n<p>Try it here: <a href=\"https:\/\/sobotz.com\/M60F_Sensor_Tool.html\">https:\/\/sobotz.com\/M60F_Sensor_Tool.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The M60F is a compact time-of-flight distance sensor designed for small robots where space is limited but reliable distance sensing is still important. It can work as a simple digital detector, a PWM distance sensor, or a configurable serial sensor, making it suitable for everything from Mini Sumo robots to custom automation projects. To make [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2020,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"iawp_total_views":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-2022","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/sobotz.com\/wp-content\/uploads\/2026\/09\/sensorconfigtool.png","_links":{"self":[{"href":"https:\/\/sobotz.com\/en\/wp-json\/wp\/v2\/posts\/2022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sobotz.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sobotz.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sobotz.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sobotz.com\/en\/wp-json\/wp\/v2\/comments?post=2022"}],"version-history":[{"count":1,"href":"https:\/\/sobotz.com\/en\/wp-json\/wp\/v2\/posts\/2022\/revisions"}],"predecessor-version":[{"id":2024,"href":"https:\/\/sobotz.com\/en\/wp-json\/wp\/v2\/posts\/2022\/revisions\/2024"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sobotz.com\/en\/wp-json\/wp\/v2\/media\/2020"}],"wp:attachment":[{"href":"https:\/\/sobotz.com\/en\/wp-json\/wp\/v2\/media?parent=2022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sobotz.com\/en\/wp-json\/wp\/v2\/categories?post=2022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sobotz.com\/en\/wp-json\/wp\/v2\/tags?post=2022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}