{"id":4688,"date":"2017-06-15T14:45:24","date_gmt":"2017-06-15T13:45:24","guid":{"rendered":"http:\/\/pthat.com\/?post_type=project&#038;p=4688"},"modified":"2026-03-24T15:27:28","modified_gmt":"2026-03-24T15:27:28","slug":"pthat-mecanum-bot-rc-example","status":"publish","type":"project","link":"https:\/\/pthat.com\/index.php\/project\/pthat-mecanum-bot-rc-example\/","title":{"rendered":"PTHAT RC Transmitter Mecanum Bot Example using Instant Commands"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; custom_padding_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Section&#8221; _builder_version=&#8221;4.16&#8243; background_color=&#8221;#27323a&#8221; custom_padding_tablet=&#8221;50px|0|50px|0&#8243; transparent_background=&#8221;off&#8221; padding_mobile=&#8221;off&#8221; make_fullwidth=&#8221;off&#8221; use_custom_width=&#8221;off&#8221; width_unit=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; custom_padding_phone=&#8221;50px|0|50px|0&#8243;][et_pb_fullwidth_header title=&#8221;PTHAT RC Transmitter Mecanum Bot Example using Instant Commands&#8221; text_orientation=&#8221;center&#8221; content_max_width=&#8221;none&#8221; title_font_color=&#8221;#ffffff&#8221; admin_label=&#8221;Fullwidth Header&#8221; _builder_version=&#8221;4.16&#8243; title_text_color=&#8221;#ffffff&#8221; title_font_size=&#8221;60&#8243; background_color=&#8221;rgba(255, 255, 255, 0)&#8221; button_one_letter_spacing_hover=&#8221;0&#8243; button_two_letter_spacing_hover=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;on&#8221; button_one_letter_spacing__hover=&#8221;0&#8243; button_two_letter_spacing__hover_enabled=&#8221;on&#8221; button_two_letter_spacing__hover=&#8221;0&#8243; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221;] [\/et_pb_fullwidth_header][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; custom_padding_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;section&#8221; _builder_version=&#8221;4.16&#8243; background_color=&#8221;#313f55&#8243; custom_padding_tablet=&#8221;50px|0|50px|0&#8243; transparent_background=&#8221;off&#8221; padding_mobile=&#8221;off&#8221; make_fullwidth=&#8221;off&#8221; use_custom_width=&#8221;off&#8221; width_unit=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; custom_padding_phone=&#8221;50px|0|50px|0&#8243;][et_pb_row admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221; column_structure=&#8221;1_2,1_2&#8243;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text admin_label=&#8221;Text&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; background_layout=&#8221;dark&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;]<span style=\"font-size: 14pt;\">For this project, we want to add a few parts to the Mecanum Bot and also expand a little more on the design and the workings of it.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">After playing around for a few days with our Mecanum Bot, we decided that control over Wifi was a little restricted if we wanted our Bot to roam further a field and also reduce the amount of signal drop outs we were seeing.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">So we started to look into RC transmitter and receivers and chose the Turnigy TGY-i6S Transmitter than came with a TGY-iA6B 6 channel receiver that gave PWM out on 6 individual channels.<\/span><br \/>\n[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/pthat.com\/wp-content\/uploads\/2017\/05\/TurnigyTGYi6S.jpg&#8221; show_in_lightbox=&#8221;on&#8221; align_tablet=&#8221;center&#8221; align_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Image&#8221; _builder_version=&#8221;4.16&#8243; animation_style=&#8221;slide&#8221; animation_direction=&#8221;left&#8221; animation_duration=&#8221;500ms&#8221; animation_intensity_slide=&#8221;10%&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; animation=&#8221;left&#8221; sticky=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; align_phone=&#8221;center&#8221;] [\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221; column_structure=&#8221;1_2,1_2&#8243;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text admin_label=&#8221;Text&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; background_layout=&#8221;dark&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;]<span style=\"font-size: 14pt;\">The thing with RC receivers is that they do not simply give you a On or Off signal for each channel. They give out a PWM signal for each channel. This allows small servos usually found in RC airplanes, boats, cars etc to be easily controlled with minimum wiring as the standards are all in place.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">There is also PPM receivers that put all six pulses on one channel, but we will focus on the dedicated six channel receiver that has one PWM for each channel.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">\u00a0<\/span><br \/>\n[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/pthat.com\/wp-content\/uploads\/2017\/06\/tgy-ia6b_NtC79rBjoO.jpg&#8221; show_in_lightbox=&#8221;on&#8221; align_tablet=&#8221;center&#8221; align_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Image&#8221; _builder_version=&#8221;4.16&#8243; animation_style=&#8221;slide&#8221; animation_direction=&#8221;left&#8221; animation_duration=&#8221;500ms&#8221; animation_intensity_slide=&#8221;10%&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; animation=&#8221;left&#8221; sticky=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; align_phone=&#8221;center&#8221;] [\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221; column_structure=&#8221;1_2,1_2&#8243;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/pthat.com\/wp-content\/uploads\/2017\/06\/pwm_gXuy87HU7p.jpg&#8221; show_in_lightbox=&#8221;on&#8221; align_tablet=&#8221;center&#8221; align_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Image&#8221; _builder_version=&#8221;4.16&#8243; animation_style=&#8221;slide&#8221; animation_direction=&#8221;left&#8221; animation_duration=&#8221;500ms&#8221; animation_intensity_slide=&#8221;10%&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; animation=&#8221;left&#8221; sticky=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; align_phone=&#8221;center&#8221;] [\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text admin_label=&#8221;Text&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; background_layout=&#8221;dark&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;]<span style=\"font-size: 14pt;\">The PWM signal is typically a pulse train running at a frequency of 50hz (50 pulses a second) and a pulse width of between 1-2 ms.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">So for example a joystick would have a channel for each direction. When the joystick is in the center position it will give out a pulse width of 1.5ms, when it is fully pushed up it would give a pulse width of 2ms and fully down, a pulse width of 1ms. Between these points it will give linear range.<\/span><br \/>\n[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221; column_structure=&#8221;1_2,1_2&#8243;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/pthat.com\/wp-content\/uploads\/2017\/06\/stm32f103_minimum_development_board_JLQuy9lkT2.jpg&#8221; show_in_lightbox=&#8221;on&#8221; align_tablet=&#8221;center&#8221; align_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Image&#8221; _builder_version=&#8221;4.16&#8243; animation_style=&#8221;slide&#8221; animation_direction=&#8221;left&#8221; animation_duration=&#8221;500ms&#8221; animation_intensity_slide=&#8221;10%&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; animation=&#8221;left&#8221; sticky=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; align_phone=&#8221;center&#8221;] [\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text admin_label=&#8221;Text&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; background_layout=&#8221;dark&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;]<span style=\"font-size: 14pt;\">Now we probably could of got the Raspberry Pi to monitor these pulses and do the pulse width calculations of each channel, but we were not confident in the accuracy due to it already doing a lot of other things and also the GPIO pins on the Raspberry Pi are not 5 volt tolerant. So with this in mind we opted to get a cheap ARM module that could easily calculate the pulse width on each channel and also that had 5 volt tolerant pins.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">We went for the STM32F103 minimum development board, that can be picked up on ebay and other places.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">We can also supply one of these development boards already programmed with the RC Receiver code if needed.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">As with all of the ARM STM32 family, the STM32F103 has loads of features, many of which we will not use. But hey it is low cost and does the job.<\/span><br \/>\n[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text admin_label=&#8221;Text&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; background_layout=&#8221;dark&#8221; custom_margin=&#8221;||0px|&#8221; custom_padding=&#8221;||0px|&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;]<span style=\"font-size: 14pt;\">The USB port is configured as a HID device and is plug and play as far as Windows 10 IOT is concerned and no additional drivers are needed.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">We thought it would be nice to get the exact reading of each channel, rather than just deciding if it was going to be a On or Off movement as we could then use the output for also varying the speed of the motors.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">We opted to use the PA1-PA6 ports on the STM32F103 board as they are laid out next to each other and it means we can use a simple six wire connection loom straight over to the receiver for the Pulse Width readings.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">Also we have 6 other pins that act as simple on\/off switches, we can use of these for a keep alive that is connected to the PTHAT Emergency Stop input. These pin mappings are:<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">Channel1-PB14, Channel2-PB15 Channel3-PB5 Channel4-PB6 Channel5-PB7 Channel6-PB8<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">If any of these channels go over 155 reading then they take the Pin high.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">For our keep alive signal, we are going to use Channel 6 which is controlled by a switch on the transmitter. When switched on it reads 200 and when off it reads 100. This means we can trigger the Emergency Stop using this switch, or if it looses signal.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">We pull 5 volts and 0 volts from a 24V-5V regulator for the receiver and connect the Raspberry Pi via the USB port to the STM32F103 board.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">Here is a picture of the wiring:<\/span><br \/>\n[\/et_pb_text][et_pb_image src=&#8221;https:\/\/pthat.com\/wp-content\/uploads\/2017\/06\/pthat-diagram-RC-OFF-1.png&#8221; show_in_lightbox=&#8221;on&#8221; align=&#8221;center&#8221; align_tablet=&#8221;center&#8221; align_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Image&#8221; _builder_version=&#8221;4.16&#8243; custom_margin=&#8221;0px||20px|&#8221; animation_style=&#8221;fade&#8221; animation_duration=&#8221;500ms&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; animation=&#8221;fade_in&#8221; sticky=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; align_phone=&#8221;center&#8221;] [\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221; column_structure=&#8221;1_2,1_2&#8243;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/pthat.com\/wp-content\/uploads\/2017\/06\/SoftwareSC-1.png&#8221; show_in_lightbox=&#8221;on&#8221; align_tablet=&#8221;center&#8221; align_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Image&#8221; _builder_version=&#8221;4.16&#8243; animation_style=&#8221;slide&#8221; animation_direction=&#8221;left&#8221; animation_duration=&#8221;500ms&#8221; animation_intensity_slide=&#8221;10%&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; animation=&#8221;left&#8221; sticky=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; align_phone=&#8221;center&#8221;] [\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text admin_label=&#8221;Text&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; background_layout=&#8221;dark&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;]<span style=\"font-size: 14pt;\">The example application was developed in Visual Studio 2015 that can be used with Windows 10 IOT on the Raspberry Pi or compiled to x86\/x64 for use on a PC.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">It has been written in C# as a Universal Windows Platform (UWP).<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">I ran it up on the desktop to get a screen shot for now, and hence why it does not show the Raspberrry Pi serial port or the USB STM32F103 board.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">We had a choice of running the software on the Raspberry Pi and then using the remote client to access it over WiFi and set certain parameters. But we decided to add a 10&#8243; universal LCD with HDMI interface and capacitive multi-touch input so we could do everything next to the machine. It also allowed up to have a bit of fun displaying animations that synced with the controller.<\/span><br \/>\n[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221; column_structure=&#8221;1_2,1_2&#8243;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text admin_label=&#8221;Text&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; background_layout=&#8221;dark&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;]<span style=\"font-size: 14pt;\">We have used two 12V batteries wired in series to give us 24 volts to supply the motors.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">Also there are two regulators for taking the 24 volts down to 5 volts. One supplies the Raspberry Pi and the other for the 10&#8243; Touch Screen and RC receiver.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">We also have a voltage digital display, so we know when the batteries are getting low on charge.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">Instant Commands used in this example are:<\/span><\/p>\n<span class='pum-trigger  popmake-4414  ' data-do-default=''><span style=\"font-size: 14pt\">Set Axis Command<br \/>\n<\/span><br \/>\n<\/span>\n<span class='pum-trigger  popmake-4428  ' data-do-default=''><span style=\"font-size: 14pt\">Start Axis Command<br \/>\n<\/span><br \/>\n<\/span>\n<span class='pum-trigger  popmake-4430  ' data-do-default=''><span style=\"font-size: 14pt\">Stop Axis Command<br \/>\n<\/span><br \/>\n<\/span>\n<span class='pum-trigger  popmake-4437  ' data-do-default=''><span style=\"font-size: 14pt;color:#2eabf5\">Change Axis Speed on the fly Command<br \/>\n<\/span><br \/>\n<\/span>\n<span class='pum-trigger  popmake-4439  ' data-do-default=''><span style=\"font-size: 14pt;color:#2eabf5\">Enable\/Disable Limit Switches Command<br \/>\n<\/span><br \/>\n<\/span>\n<span class='pum-trigger  popmake-4445  ' data-do-default=''><span style=\"font-size: 14pt\">Toggle Motor Enable Line<br \/>\n<\/span><br \/>\n<\/span>\n<span class='pum-trigger  popmake-4451  ' data-do-default=''><span style=\"font-size: 14pt\">Request Firmware Version<br \/>\n<\/span><br \/>\n<\/span>\n<p><span class='pum-trigger  popmake-4445  ' data-do-default=''><span style=\"font-size: 14pt\">Reset PTHAT<br \/>\n<\/span><br \/>\n<\/span><br \/>\n[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/pthat.com\/wp-content\/uploads\/2017\/06\/Spec.png&#8221; show_in_lightbox=&#8221;on&#8221; align_tablet=&#8221;center&#8221; align_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Image&#8221; _builder_version=&#8221;4.16&#8243; animation_style=&#8221;slide&#8221; animation_direction=&#8221;left&#8221; animation_duration=&#8221;500ms&#8221; animation_intensity_slide=&#8221;10%&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; animation=&#8221;left&#8221; sticky=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; align_phone=&#8221;center&#8221;] [\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221; column_structure=&#8221;1_2,1_2&#8243;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text admin_label=&#8221;Video&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;] <iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/aQUj2y2xfNs\" width=\"400\" height=\"314\" allowfullscreen=\"allowfullscreen\"><\/iframe> [\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text admin_label=&#8221;Text&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; background_layout=&#8221;dark&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><span style=\"font-size: 14pt;\">The end developer has easily modify this example to build their own application.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">The example application\u00a0was developed in\u00a0Visual Studio 2015 that can be used with Windows 10 IOT on the Raspberry Pi or compiled to x86\/x64 for use on a PC.<\/span><br \/><span style=\"font-size: 14pt;\">The example has been written in C# as a Universal Windows Platform (UWP).<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">Please use the following link to download the full source code.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\"><\/span><\/p>\n<p><span style=\"font-size: 14pt;\"><span>24th March 2026, source code examples have been updated for Visual Studio 2026.<\/span><\/span><\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/github.com\/PulseTrainHat\/PulseTrainHatMecanumBotRCT&#8221; button_text=&#8221;Download Now&#8221; button_alignment=&#8221;left&#8221; admin_label=&#8221;Button&#8221; _builder_version=&#8221;4.16&#8243; button_letter_spacing_hover=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; button_text_size__hover_enabled=&#8221;off&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_text_color__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_border_width__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_border_color__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_border_radius__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_letter_spacing__hover_enabled=&#8221;on&#8221; button_letter_spacing__hover=&#8221;0&#8243; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_bg_color__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221;] [\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; custom_padding_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Section&#8221; _builder_version=&#8221;4.16&#8243; background_color=&#8221;#f4f4f4&#8243; custom_padding_tablet=&#8221;50px|0|50px|0&#8243; transparent_background=&#8221;off&#8221; padding_mobile=&#8221;off&#8221; make_fullwidth=&#8221;off&#8221; use_custom_width=&#8221;off&#8221; width_unit=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; custom_padding_phone=&#8221;50px|0|50px|0&#8243;][et_pb_row admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text admin_label=&#8221;Text&#8221; _builder_version=&#8221;4.16&#8243; header_font_size=&#8221;50&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>Gallery<\/h1>\n<p>[\/et_pb_text][et_pb_gallery gallery_ids=&#8221;4694,4695,4696,4697,4698,4699,4700&#8243; posts_number=&#8221;20&#8243; show_title_and_caption=&#8221;off&#8221; admin_label=&#8221;Gallery&#8221; _builder_version=&#8221;4.16&#8243; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;] [\/et_pb_gallery][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; custom_padding_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Section&#8221; _builder_version=&#8221;3.22&#8243; background_color=&#8221;#313f55&#8243; custom_padding=&#8221;|40px|20px|40px&#8221; custom_padding_tablet=&#8221;50px|0|50px|0&#8243; transparent_background=&#8221;off&#8221; padding_mobile=&#8221;off&#8221; make_fullwidth=&#8221;off&#8221; use_custom_width=&#8221;off&#8221; width_unit=&#8221;on&#8221; global_module=&#8221;4031&#8243; global_colors_info=&#8221;{}&#8221; custom_padding_phone=&#8221;50px|0|50px|0&#8243;][et_pb_fullwidth_header title=&#8221;Select another example below&#8221; text_orientation=&#8221;center&#8221; content_max_width=&#8221;none&#8221; admin_label=&#8221;Fullwidth Header&#8221; _builder_version=&#8221;4.16&#8243; title_font_size=&#8221;50px&#8221; background_color=&#8221;rgba(255, 255, 255, 0)&#8221; button_one_letter_spacing_hover=&#8221;0&#8243; button_two_letter_spacing_hover=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;on&#8221; button_one_letter_spacing__hover=&#8221;0&#8243; button_two_letter_spacing__hover_enabled=&#8221;on&#8221; button_two_letter_spacing__hover=&#8221;0&#8243; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221;][\/et_pb_fullwidth_header][et_pb_fullwidth_portfolio fullwidth=&#8221;off&#8221; posts_number=&#8221;0&#8243; hover_icon=&#8221;&#xe04e;||divi||400&#8243; admin_label=&#8221;Fullwidth Portfolio&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; background_layout=&#8221;dark&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_fullwidth_portfolio][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; custom_padding_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Section&#8221; _builder_version=&#8221;3.22&#8243; custom_padding_tablet=&#8221;50px|0|50px|0&#8243; custom_padding_phone=&#8221;50px|0|50px|0&#8243; transparent_background=&#8221;off&#8221; padding_mobile=&#8221;off&#8221; make_fullwidth=&#8221;off&#8221; use_custom_width=&#8221;off&#8221; width_unit=&#8221;on&#8221; global_module=&#8221;3990&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text admin_label=&#8221;Text&#8221; _builder_version=&#8221;4.16&#8243; header_font_size=&#8221;75px&#8221; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; text_orientation=&#8221;center&#8221; background_layout=&#8221;dark&#8221; module_alignment=&#8221;center&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>Closer look\u00a0at the PCB&#8217;s<\/h1>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Row&#8221; _builder_version=&#8221;4.23.1&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; link_option_url=&#8221;https:\/\/www.ukcnc.net\/product\/pulse-train-hat\/&#8221; link_option_url_new_window=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_pricing_tables admin_label=&#8221;Pricing Tables&#8221; _builder_version=&#8221;4.23.1&#8243; link_option_url=&#8221;https:\/\/www.ukcnc.net\/product\/pulse-train-hat\/&#8221; link_option_url_new_window=&#8221;on&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221; button_letter_spacing_hover=&#8221;0&#8243; remove_featured_drop_shadow=&#8221;off&#8221; center_list_items=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; button_text_size__hover_enabled=&#8221;off&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_text_color__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_border_width__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_border_color__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_border_radius__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_letter_spacing__hover_enabled=&#8221;on&#8221; button_letter_spacing__hover=&#8221;0&#8243; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_bg_color__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221;][et_pb_pricing_table featured=&#8221;on&#8221; title=&#8221;PTHAT Mainboard&#8221; currency=&#8221;\u00a3&#8221; per=&#8221;Ex VAT&#8221; sum=&#8221;55&#8243; button_url=&#8221;https:\/\/www.ukcnc.net\/product\/pulse-train-hat\/&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Buy Now&#8221; _builder_version=&#8221;4.23.1&#8243; header_font=&#8221;||||&#8221; body_font=&#8221;||||&#8221; subheader_font=&#8221;||||&#8221; price_font=&#8221;||||&#8221; currency_frequency_font=&#8221;||||&#8221; button_icon_placement=&#8221;right&#8221; button_on_hover=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; button_text_size__hover_enabled=&#8221;off&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_text_color__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_border_width__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_border_color__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_border_radius__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_bg_color__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221; sticky_transition=&#8221;on&#8221;]<\/p>\n<p>+ Single Channel Main Board.<br \/>+ JTAG Programmer.<br \/>+ Set of Mounting Spacers and Bolts.<\/p>\n<p>[\/et_pb_pricing_table][et_pb_pricing_table featured=&#8221;on&#8221; title=&#8221;PTHAT Add on Board&#8221; currency=&#8221;\u00a3&#8221; per=&#8221;Ex VAT&#8221; sum=&#8221;45&#8243; button_url=&#8221;https:\/\/www.ukcnc.net\/product\/pulse-train-hat\/&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Buy Now&#8221; _builder_version=&#8221;4.23.1&#8243; header_font=&#8221;||||&#8221; body_font=&#8221;||||&#8221; subheader_font=&#8221;||||&#8221; price_font=&#8221;||||&#8221; currency_frequency_font=&#8221;||||&#8221; button_icon_placement=&#8221;right&#8221; button_on_hover=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; button_text_size__hover_enabled=&#8221;off&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_text_color__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_border_width__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_border_color__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_border_radius__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_bg_color__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221; sticky_transition=&#8221;on&#8221;]<\/p>\n<p>+Expansion Add on Board.<br \/>+Increases the PTHAT to 4 channels.<br \/>+Extra I\/O Functionality.<br \/>+Set of Mounting Spacers.<\/p>\n<p>[\/et_pb_pricing_table][et_pb_pricing_table featured=&#8221;on&#8221; title=&#8221;PTHAT Full Package&#8221; currency=&#8221;\u00a3&#8221; per=&#8221;Ex VAT&#8221; sum=&#8221;90&#8243; button_url=&#8221;https:\/\/www.ukcnc.net\/product\/pulse-train-hat\/&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Buy Now&#8221; _builder_version=&#8221;4.23.1&#8243; header_font=&#8221;||||&#8221; body_font=&#8221;||||&#8221; subheader_font=&#8221;||||&#8221; price_font=&#8221;||||&#8221; currency_frequency_font=&#8221;||||&#8221; button_icon_placement=&#8221;right&#8221; button_on_hover=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221; button_text_size__hover_enabled=&#8221;off&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_text_color__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_border_width__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_border_color__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_border_radius__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_bg_color__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221; sticky_transition=&#8221;on&#8221;]<\/p>\n<p>+Single Channel Main Board.<br \/>+Expansion Add on Board.<br \/>+Increases the PTHAT to 4 channels.<br \/>+Extra I\/O Functionality.<br \/>+JTAG Programmer.<br \/>+Set of Mounting Spacers and Bolts.<br \/>+Save \u00a310 with this Package<\/p>\n<p>[\/et_pb_pricing_table][\/et_pb_pricing_tables][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For this project, we want to add a few parts to the Mecanum Bot and also expand a little more on the design and the workings of it. After playing around for a few days with our Mecanum Bot, we decided that control over Wifi was a little restricted if we wanted our Bot to [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":4691,"comment_status":"open","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"project_category":[],"project_tag":[],"class_list":["post-4688","project","type-project","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/pthat.com\/index.php\/wp-json\/wp\/v2\/project\/4688","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pthat.com\/index.php\/wp-json\/wp\/v2\/project"}],"about":[{"href":"https:\/\/pthat.com\/index.php\/wp-json\/wp\/v2\/types\/project"}],"author":[{"embeddable":true,"href":"https:\/\/pthat.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pthat.com\/index.php\/wp-json\/wp\/v2\/comments?post=4688"}],"version-history":[{"count":8,"href":"https:\/\/pthat.com\/index.php\/wp-json\/wp\/v2\/project\/4688\/revisions"}],"predecessor-version":[{"id":5108,"href":"https:\/\/pthat.com\/index.php\/wp-json\/wp\/v2\/project\/4688\/revisions\/5108"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pthat.com\/index.php\/wp-json\/wp\/v2\/media\/4691"}],"wp:attachment":[{"href":"https:\/\/pthat.com\/index.php\/wp-json\/wp\/v2\/media?parent=4688"}],"wp:term":[{"taxonomy":"project_category","embeddable":true,"href":"https:\/\/pthat.com\/index.php\/wp-json\/wp\/v2\/project_category?post=4688"},{"taxonomy":"project_tag","embeddable":true,"href":"https:\/\/pthat.com\/index.php\/wp-json\/wp\/v2\/project_tag?post=4688"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}