{"id":3899,"date":"2015-03-31T15:27:04","date_gmt":"2015-03-31T09:57:04","guid":{"rendered":"http:\/\/nuclearrambo.com\/wordpress\/?p=3899"},"modified":"2023-04-26T15:58:43","modified_gmt":"2023-04-26T10:28:43","slug":"drv8711-boost-programming-using-energia-on-msp430f5529","status":"publish","type":"post","link":"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/","title":{"rendered":"DRV8711 BOOST programming  using Energia on MSP430F5529"},"content":{"rendered":"<p>I recently required the nice little DRV8711 stepper motor driver to run a large stepper motor. I especially like the ability to easily program it and use the internal microstepping indexer. If you have ever tried doing microstepping on a stepper motor, you would know that it is not that easy. The DRV8711 has an internal indexer which you can configure to do 1\/2, 1\/4&#8230;.upto 1\/256 stepping resolution. Additionally, the BOOSTER pack also has low Rds MOSFETs which do not get hot at all. If you prefer to create your own stepping sequence by manually turning the pins on and off, you can do so by disabling the internal indexer.<\/p>\n<p>There is automatic fault and stall detection, so you do not have to worry about excess current running through the motor and burning the coils. Thanks to this mechanism, I was able to identify a faulty motor I had. One of the coils in the stepper motor had a burnt coil and that was causing excess current to be drawn because of ruined insulation (enamel coating). The auto-fault detection was stopping the motor from taking more than 1 step and then stalling it.<\/p>\n<p><!--more--><\/p>\n<p>The status register gives full information about what fault has occurred. I did not feel the need to read the registers back as I was quite sure that my code was able to program the registers, but the undue stalling of motor made me quite frustrated and only then I decided to read back the registers. We will talk about this further down the line in this article. First let us have a look at how to program this little monster.<\/p>\n<p>I am using Energia API because I am a lazy programmer that likes to have easy to use functions at hand to speed up the process.<\/p>\n<pre class=\"theme:github lang:arduino decode:true\" title=\"Setup\">#include \"Energia.h\"\n#include&lt;SPI.h&gt;\n#include&lt;msp430f5529.h&gt;\n#include \"usci_isr_handler.h\"\n#include \"HardwareSerial.h\"\n\nvoid Initialize();\n__interrupt void USCI0RX_ISR(void);\n\n#define CS BIT1\n#define STEP BIT2\n#define SLEEPn BIT6\n#define DIR BIT1\n#define RST BIT7\n#define STALL BIT0\n#define FAULT BIT2\nint flag =0;\nint i,j;\nvoid Initialize(void);\nvoid getCurrentRegisters();\nunsigned int WriteSPI(unsigned char dataHi, unsigned char dataLo);\nuint16_t ReadSPI(unsigned char address);\nString inputString;\nchar in;\nvoid setup()\n{\n  \/\/output pins\n  P8DIR |= CS;\n  P4DIR |= (STEP|DIR);\n  P2DIR |= (RST|STALL|FAULT);\n  P6DIR |= SLEEPn;\n  pinMode(P7_4, OUTPUT);\n  digitalWrite(P2_2, HIGH); \/\/nSLEEP = high\n  digitalWrite(P2_0, HIGH);\n  digitalWrite(P6_6, HIGH);\n  digitalWrite(P4_1, HIGH); \/\/dir = high\n  digitalWrite(P2_7, LOW); \/\/reset = low\n  Serial.begin(115200);\n  SPI.begin();\n  SPI.setClockDivider(2);\n  delay(1);\n  Initialize();\n  getCurrentRegisters(); \n  inputString.reserve(8);\n  digitalWrite(P7_4, HIGH);\n  delayMicroseconds(10);\n  digitalWrite(P7_4, LOW);\n}\n<\/pre>\n<p><center><script type=\"text\/javascript\">\n\tatOptions = {\n\t\t'key' : 'a488f095e80c8a74746e5fdca977eaea',\n\t\t'format' : 'iframe',\n\t\t'height' : 90,\n\t\t'width' : 728,\n\t\t'params' : {}\n\t};\n\tdocument.write('<scr' + 'ipt type=\"text\/javascript\" src=\"http' + (location.protocol === 'https:' ? 's' : '') + ':\/\/www.profitabledisplaynetwork.com\/a488f095e80c8a74746e5fdca977eaea\/invoke.js\"><\/scr' + 'ipt>');\n<\/script><\/p>\n<p><\/center>Firstly, I include all the necessary libraries. Since, I am using Code Composer Studio, I had to manually include Energia.h at the beginning. Then there is the same old stuff required to initialize the whole thing.<\/p>\n<pre class=\"theme:github lang:default decode:true\" title=\"Initialize\">void Initialize(void)<\/pre>\n<p>This function initializes all the registers on <a href=\"http:\/\/www.ti.com\/lit\/ds\/symlink\/drv8711.pdf\" target=\"_blank\" rel=\"noopener\">DRV8711<\/a> chip through SPI.<\/p>\n<p>The entire function is shown below:<\/p>\n<pre class=\"theme:github lang:default decode:true\" title=\"Initialize funtion\">void Initialize()\n{\n  \/\/CTRL Register defaults\n  unsigned char CTRLdataHi, CTRLdataLo;\n  CTRLdataHi = 0x0C;\n  CTRLdataLo = 0x45;\n  WriteSPI(CTRLdataHi, CTRLdataLo);\n\n  \/\/TORQUE defaults\n  unsigned char TORQUEHi, TORQUELo;\n  TORQUEHi = 0x17;\n  TORQUELo = 0xFF;\n  WriteSPI(TORQUEHi, TORQUELo);\n  \n  \/\/OFF defaults\n  unsigned char OFFHi, OFFLo;\n  OFFHi = 0x20;\n  OFFLo = 0xF0;\n  WriteSPI(OFFHi, OFFLo);\n\n  \/\/BLANK defaults\n  unsigned char BLNKHi, BLNKLo;\n  BLNKHi = 0x31;\n  BLNKLo = 0xF0;\n  WriteSPI(BLNKHi, BLNKLo);\n  \n  \/\/DECAY defaults\n  unsigned char DECAYHi, DECAYLo;\n  DECAYHi = 0x41;\n  DECAYLo = 0x10;\n  WriteSPI(DECAYHi, DECAYLo);\n\n  \/\/STALL defaults\n  unsigned char STALLHi, STALLLo;\n  STALLHi = 0x53;\n  STALLLo = 0x40;\n  WriteSPI(STALLHi, STALLLo);\n   \n  \/\/DRIVE defaults\n  unsigned char DRIVEHi, DRIVELo;\n  DRIVEHi = 0x60;\n  DRIVELo = 0x0F;\n  WriteSPI(DRIVEHi, DRIVELo);\n \n  \/\/STATUS defaults\n  unsigned char STATUSHi, STATUSLo;\n  STATUSHi = 0x70;\n  STATUSLo = 0x00;\n  WriteSPI(STATUSHi, STATUSLo);\n}<\/pre>\n<p>The contents of each register can be modified as per your needs by carefully reading the data sheet.<\/p>\n<pre class=\"theme:github lang:default decode:true\" title=\"writeSPI\">unsigned int WriteSPI(unsigned char dataHi, unsigned char dataLo)<\/pre>\n<p>As the function name says, it is used to write the register contents using SPI interface. You have to make sure that you use correct format to form your register word before writing. While writing, the MSB has to be low and the following 3 bits are register addresses. Thus, if you are writing the STALL register which has the address 0x05H, your first 4 bits will be 0101 and then your register content will follow. All registers are 16 bits in width.<\/p>\n<p>When you want to read the register back, you have to form a word with MSB = 1 and the following three bits indicate the register address that you intend to read. So, for reading back the STALL register you will need your word to be 1101. Indeed, this is not the entire word, but you get the idea how it should begin.<\/p>\n<pre class=\"theme:github lang:default decode:true\" title=\"WriteSPI\">unsigned int WriteSPI(unsigned char dataHi, unsigned char dataLo)\n{\n\/\/  unsigned int readData = 0;\n\/\/  SPI.setBitOrder(MSBFIRST);\n\/\/  digitalWrite(P8_1, HIGH);\n\/\/  SPI.transfer(dataHi);\n\/\/  \n\/\/  SPI.transfer(dataLo);\n\/\/  digitalWrite(P8_1, LOW);\n\tunsigned int readData = 0;\n\n\tdigitalWrite(P8_1,HIGH);\n\n\tUCB0TXBUF = dataHi;\n\twhile (UCB0STAT &amp; BUSY);\n\treadData |= (UCB0RXBUF &lt;&lt; 8);\n        \n\tUCB0TXBUF = dataLo;\n\twhile (UCB0STAT &amp; BUSY);\n\t\treadData |= UCB0RXBUF;\n        digitalWrite(P8_1, LOW);\n        readData &amp;= 0x7FFF;\n        \n    return readData;\n}\n<\/pre>\n<p>The above code gives you the entire insight into the function. The commented part shows that you can use the Energia SPI function to make your day easy, but I preferred to do it the other way. Additionally, the readData will contain the register value you intended to access only while reading the register, otherwise it would return null if you are writing to register.<\/p>\n<pre class=\"theme:github lang:default decode:true\" title=\"getCurrentRegisters\">void getCurrentRegisters()<\/pre>\n<p>This function does exactly as it says, it fetches all the register values and prints it on the Serial terminal. Optionally, you can modify the code to read the registers and store it in a 16 bit wide variable if you prefer to do conditional programming or change the configuration automatically by taking feedback from the driver chip.<\/p>\n<pre class=\"theme:github lang:default decode:true\" title=\"get contents\">void getCurrentRegisters()\n{\n Serial.print(\"\\n-----------------------------------------------\\n\");\n Serial.print(\"CTRL register \");\n Serial.print(WriteSPI(0x80, 0x00),HEX);\n Serial.print(\"\\n\");\n \n Serial.print(\"TORQUE register \");\n Serial.print(WriteSPI(0x90, 0x00),HEX);\n Serial.print(\"\\n\");\n \n Serial.print(\"OFF register \");\n Serial.print(WriteSPI(0xA0, 0x00),HEX);\n Serial.print(\"\\n\"); \n \n Serial.print(\"BLANK register \");\n Serial.print(WriteSPI(0xB0, 0x00),HEX);\n Serial.print(\"\\n\");\n \n Serial.print(\"DECAY register \");\n Serial.print(WriteSPI(0xC0, 0x00),HEX);\n Serial.print(\"\\n\");\n \n Serial.print(\"STALL register \");\n Serial.print(WriteSPI(0xD0, 0x00),HEX);\n Serial.print(\"\\n\");\n \n Serial.print(\"DRIVE register \");\n Serial.print(WriteSPI(0xE0, 0x00),HEX);\n Serial.print(\"\\n\");\n \n Serial.print(\"STATUS register \");\n Serial.print(WriteSPI(0xF0, 0x00),HEX);\n Serial.print(\"\\n-----------------------------------------------\\n\");\n}<\/pre>\n<p>Now we arrive at the point when we have done initializing the register and got ourselves ready with necessary functions. All we have to do is get the motor actually RUNNING!<\/p>\n<p>In order to do so, we have to send pulses to the STP pin on the chip. At every rising edge of the pulse, the indexer increments by one address location. So, we just have to make sure that we provide a pulse train for desired amount of time to cover the required angle or whatever you have to do. We can do that in the void loop()<\/p>\n<pre class=\"theme:github lang:default decode:true \" title=\"loop\">void loop()\n{\n\t\/\/WriteSPI(0x70, 0x00);\n\tfor(i=0; i&lt;90; i++){\n\t\tfor(j=0; j&lt;10275; j++){\n\t\t   digitalWrite(P4_2, LOW);\n\t\t   delayMicroseconds(55);\n\t\t   digitalWrite(P4_2, HIGH);\n\t\t   delayMicroseconds(2);\n\t\t}\n\t}\n\tWriteSPI(0x0C, 0x47); \/\/reverse the direction to return back\n\tfor(i=0; i&lt;90; i++){\n\t\tfor(j=0; j&lt;10275; j++){\n\t\t   digitalWrite(P4_2, LOW);\n\t\t   delayMicroseconds(55);\n\t\t   digitalWrite(P4_2, HIGH);\n\t\t   delayMicroseconds(2);\n\t\t}\n\t}\n\tWriteSPI(0x0C, 0x44); \/\/Halt the motor\n\twhile(1);\n}<\/pre>\n<p>My application required me to cover a sweep of 90 degrees and return back. My motor was connected to a gear mechanism, so 90 degree sweep required about 10275 * 90 steps at 1\/4 stepping.<\/p>\n<p>I also reverse the direction of the motor once it has covered 90 degrees so it can come back to its original location.<\/p>\n<p>Finally, I halt the motor and hook my process into infinite loop.<\/p>\n<p>I hope you found this tutorial helpful. You can also choose to use an Arduino and use the same code for driving stepper motors. Do leave a response below so I can put more interest tutorials and articles in the future.<\/p>\n<p><center><script type=\"text\/javascript\">\n\tatOptions = {\n\t\t'key' : 'a488f095e80c8a74746e5fdca977eaea',\n\t\t'format' : 'iframe',\n\t\t'height' : 90,\n\t\t'width' : 728,\n\t\t'params' : {}\n\t};\n\tdocument.write('<scr' + 'ipt type=\"text\/javascript\" src=\"http' + (location.protocol === 'https:' ? 's' : '') + ':\/\/www.profitabledisplaynetwork.com\/a488f095e80c8a74746e5fdca977eaea\/invoke.js\"><\/scr' + 'ipt>');\n<\/script><\/p>\n<p><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently required the nice little DRV8711 stepper motor driver to run a large stepper motor. I especially like the ability to easily program it and use the internal microstepping indexer. If you have&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":3900,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1529],"tags":[528,1498,1499],"class_list":["post-3899","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-our-old-projects","tag-arduino","tag-drv8711","tag-stepper-driver"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>DRV8711 BOOST programming using Energia on MSP430F5529<\/title>\n<meta name=\"description\" content=\"Programming the DRV8711 BOOST Stepper motor driver using Energia or Arduino to run stepper motors\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DRV8711 BOOST programming using Energia on MSP430F5529\" \/>\n<meta property=\"og:description\" content=\"Programming the DRV8711 BOOST Stepper motor driver using Energia or Arduino to run stepper motors\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/\" \/>\n<meta property=\"og:site_name\" content=\"Nuclearrambo\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-31T09:57:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-26T10:28:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2015\/03\/drv.png\" \/>\n\t<meta property=\"og:image:width\" content=\"418\" \/>\n\t<meta property=\"og:image:height\" content=\"387\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"nuclearrambo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@darkusul\" \/>\n<meta name=\"twitter:site\" content=\"@darkusul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"nuclearrambo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/\"},\"author\":{\"name\":\"nuclearrambo\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c\"},\"headline\":\"DRV8711 BOOST programming using Energia on MSP430F5529\",\"datePublished\":\"2015-03-31T09:57:04+00:00\",\"dateModified\":\"2023-04-26T10:28:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/\"},\"wordCount\":842,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#organization\"},\"keywords\":[\"arduino\",\"drv8711\",\"stepper driver\"],\"articleSection\":[\"Old Projects\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/\",\"name\":\"DRV8711 BOOST programming using Energia on MSP430F5529\",\"isPartOf\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#website\"},\"datePublished\":\"2015-03-31T09:57:04+00:00\",\"dateModified\":\"2023-04-26T10:28:43+00:00\",\"description\":\"Programming the DRV8711 BOOST Stepper motor driver using Energia or Arduino to run stepper motors\",\"breadcrumb\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/nuclearrambo.com\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DRV8711 BOOST programming using Energia on MSP430F5529\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#website\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/\",\"name\":\"Nuclearrambo\",\"description\":\"Information is FREE! Progress is MUST! Awakening is inevitable!\",\"publisher\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/nuclearrambo.com\/wordpress\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#organization\",\"name\":\"Nuclearrambo\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png\",\"contentUrl\":\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png\",\"width\":1489,\"height\":1152,\"caption\":\"Nuclearrambo\"},\"image\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/darkusul\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c\",\"name\":\"nuclearrambo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g\",\"caption\":\"nuclearrambo\"},\"description\":\"Salil is an electronics enthusiast working on various electronics systems. In his free time he writes on the blog, talks over ham radio or builds circuits. He has Yaesu FT2900R VHF transceiver, FT450D HF transceiver, TYT UV8000E and Quansheng UVK6 Handheld transceivers.\",\"sameAs\":[\"http:\/\/nuclearrambo.com\/wordpress\"],\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DRV8711 BOOST programming using Energia on MSP430F5529","description":"Programming the DRV8711 BOOST Stepper motor driver using Energia or Arduino to run stepper motors","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/","og_locale":"en_US","og_type":"article","og_title":"DRV8711 BOOST programming using Energia on MSP430F5529","og_description":"Programming the DRV8711 BOOST Stepper motor driver using Energia or Arduino to run stepper motors","og_url":"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/","og_site_name":"Nuclearrambo","article_published_time":"2015-03-31T09:57:04+00:00","article_modified_time":"2023-04-26T10:28:43+00:00","og_image":[{"width":418,"height":387,"url":"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2015\/03\/drv.png","type":"image\/png"}],"author":"nuclearrambo","twitter_card":"summary_large_image","twitter_creator":"@darkusul","twitter_site":"@darkusul","twitter_misc":{"Written by":"nuclearrambo","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/#article","isPartOf":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/"},"author":{"name":"nuclearrambo","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c"},"headline":"DRV8711 BOOST programming using Energia on MSP430F5529","datePublished":"2015-03-31T09:57:04+00:00","dateModified":"2023-04-26T10:28:43+00:00","mainEntityOfPage":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/"},"wordCount":842,"commentCount":2,"publisher":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#organization"},"keywords":["arduino","drv8711","stepper driver"],"articleSection":["Old Projects"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/","url":"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/","name":"DRV8711 BOOST programming using Energia on MSP430F5529","isPartOf":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#website"},"datePublished":"2015-03-31T09:57:04+00:00","dateModified":"2023-04-26T10:28:43+00:00","description":"Programming the DRV8711 BOOST Stepper motor driver using Energia or Arduino to run stepper motors","breadcrumb":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nuclearrambo.com\/wordpress\/drv8711-boost-programming-using-energia-on-msp430f5529\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nuclearrambo.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"DRV8711 BOOST programming using Energia on MSP430F5529"}]},{"@type":"WebSite","@id":"https:\/\/nuclearrambo.com\/wordpress\/#website","url":"https:\/\/nuclearrambo.com\/wordpress\/","name":"Nuclearrambo","description":"Information is FREE! Progress is MUST! Awakening is inevitable!","publisher":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nuclearrambo.com\/wordpress\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/nuclearrambo.com\/wordpress\/#organization","name":"Nuclearrambo","url":"https:\/\/nuclearrambo.com\/wordpress\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/","url":"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png","contentUrl":"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png","width":1489,"height":1152,"caption":"Nuclearrambo"},"image":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/darkusul"]},{"@type":"Person","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c","name":"nuclearrambo","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g","caption":"nuclearrambo"},"description":"Salil is an electronics enthusiast working on various electronics systems. In his free time he writes on the blog, talks over ham radio or builds circuits. He has Yaesu FT2900R VHF transceiver, FT450D HF transceiver, TYT UV8000E and Quansheng UVK6 Handheld transceivers.","sameAs":["http:\/\/nuclearrambo.com\/wordpress"],"url":"https:\/\/nuclearrambo.com\/wordpress\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts\/3899","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/comments?post=3899"}],"version-history":[{"count":4,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts\/3899\/revisions"}],"predecessor-version":[{"id":7955,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts\/3899\/revisions\/7955"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/media\/3900"}],"wp:attachment":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/media?parent=3899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/categories?post=3899"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/tags?post=3899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}