{"id":3212,"date":"2010-10-28T23:05:20","date_gmt":"2010-10-29T04:05:20","guid":{"rendered":"http:\/\/mightyohm.com\/blog\/?page_id=3212"},"modified":"2012-01-14T01:06:23","modified_gmt":"2012-01-14T07:06:23","slug":"linux","status":"publish","type":"page","link":"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/linux\/","title":{"rendered":"Linux"},"content":{"rendered":"<p><a href=\"http:\/\/www.cornfieldelectronics.com\/\">Mitch Altman<\/a> and I are in the process of writing a book about Making Cool Things with Microcontrollers (for people who know nothing.)<\/span><\/h2>\n<p>The book features several DIY projects that use\u00a0<a href=\"http:\/\/atmel.com\/products\/avr\/default.asp?family_id=607&amp;source=home\">AVR<\/a> microcontrollers. \u00a0We\u2019re aiming to teach absolute beginners how to solder, basic electronics, and the process of turning a cool idea into reality by using microcontrollers.<\/p>\n<p>I wrote these instructions about setting up a working avr-gcc environment in Windows, Mac OS X, or Linux. \u00a0Mitch and I felt that they could use some beta testing in the real world before bring included in the book, so we decided to make them available here. \u00a0We also felt that they might help some people get started with AVRs before the book is available.<\/p>\n<p>We want to make the process of writing and compiling code for the AVR simple and accessible, so we\u2019re not using any fancy IDEs (eg. no\u00a0<a href=\"http:\/\/www.atmel.com\/dyn\/products\/tools_card.asp?tool_id=2725\">AVR Studio<\/a>). \u00a0We also wanted to use the same software on all three operating systems, so Windows-only tools were out. \u00a0Instead, we\u2019re using avr-gcc, the compiler behind WinAVR, CrossPack, and Arduino.<\/p>\n<p>I would appreciate any feedback on these instructions.<\/p>\n<h2>AVR Toolchain Installation Instructions &#8211; Linux<\/h2>\n<p>Note: At the time of this writing, following the step-by-step instructions below will result in a working AVR toolchain being installed on your computer.\u00a0 However, computers, operating systems, and software are constantly changing.\u00a0 This means that while these instructions are valid today, they may not be by the time you read this.\u00a0 If you run into trouble, fear not!\u00a0 Entering a few carefully chosen keywords into your favorite search engine will often yield just the information you need to resolve the issue.<\/p>\n<p>Installing the AVR toolchain on Linux is different from Windows and Mac OS X because there isn&#8217;t a bundled toolchain package available like WinAVR or CrossPack.\u00a0 This is because all of the tools we need to compile for the AVR are easily installed using Linux&#8217;s built-in package management system.<\/p>\n<p>The instructions below were developed and tested with <a href=\"http:\/\/ubuntu.com\">Ubuntu Desktop 10.10<\/a>.\u00a0 The procedure should be almost identical for other flavors of Linux that use &#8216;apt&#8217; to manage packages.\u00a0 If you&#8217;re using another distribution, the procedure to find and install packages may be different.\u00a0 Alternatively, you might need to compile the toolchain from source.<\/p>\n<p><strong>To install the AVR toolchain within Ubuntu Linux:<\/strong><\/p>\n<p>1. Open a Terminal window.\u00a0 You can do this by opening the Applications menu and clicking Accessories-&gt;Terminal.<\/p>\n<p>2. To install avr-gcc and other helpful programs, enter the command<\/p>\n<pre>sudo apt-get install gcc-avr avr-libc binutils-avr avrdude<\/pre>\n<p>If prompted, enter your password to authorize the installation.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3220\" data-permalink=\"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/linux\/ubuntu3_apt-get_sudo_crop\/\" data-orig-file=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu3_apt-get_sudo_crop.png\" data-orig-size=\"657,466\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"apt-get\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu3_apt-get_sudo_crop.png\" class=\"alignnone size-medium wp-image-3220\" title=\"apt-get\" src=\"http:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu3_apt-get_sudo_crop-500x354.png\" alt=\"\" width=\"500\" height=\"354\" srcset=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu3_apt-get_sudo_crop-500x354.png 500w, https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu3_apt-get_sudo_crop.png 657w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n<p>It will take a few moments for the packages to download and install.\u00a0 If the installation completes successfully, you should see something like this:<\/p>\n<p><a href=\"http:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu4_apt-get_done_crop.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3216\" data-permalink=\"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/linux\/ubuntu4_apt-get_done_crop\/\" data-orig-file=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu4_apt-get_done_crop.png\" data-orig-size=\"657,466\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"apt-get done\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu4_apt-get_done_crop.png\" class=\"alignnone size-medium wp-image-3216\" title=\"apt-get done\" src=\"http:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu4_apt-get_done_crop-500x354.png\" alt=\"\" width=\"500\" height=\"354\" srcset=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu4_apt-get_done_crop-500x354.png 500w, https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu4_apt-get_done_crop.png 657w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>3. You can test the installation by entering the command<\/p>\n<pre>avr-gcc --version<\/pre>\n<p>You should see the response<\/p>\n<pre>avr-gcc (GCC) 4.3.5<\/pre>\n<p>and a copyright notice.\u00a0 Note that the version number might be different.<\/p>\n<p><a href=\"http:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu8_avrgcc_crop.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3219\" data-permalink=\"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/linux\/ubuntu8_avrgcc_crop\/\" data-orig-file=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu8_avrgcc_crop.png\" data-orig-size=\"658,468\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"avr-gcc &amp;#8211;version\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu8_avrgcc_crop.png\" class=\"alignnone size-medium wp-image-3219\" title=\"avr-gcc --version\" src=\"http:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu8_avrgcc_crop-500x355.png\" alt=\"\" width=\"500\" height=\"355\" srcset=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu8_avrgcc_crop-500x355.png 500w, https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu8_avrgcc_crop.png 658w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>4. Unlike Windows, Ubuntu includes built-in drivers for the Adafruit Industries USBTinyISP.\u00a0 Unfortunately, a permissions issue with USB in Linux will cause problems programming devices (you&#8217;ll need to run avrdude as root) unless we fix it here.<\/p>\n<p>If you are using another programmer (such as the Atmel AVRISP mkII) you can skip this step, but there may be related issues.\u00a0 Consult your favorite search engine or the support forums for your programmer.<\/p>\n<p>To fix the permissions problem, create a new udev rule by entering the command<\/p>\n<pre>gksudo gedit \/etc\/udev\/rules.d\/10-usbtinyisp.rules<\/pre>\n<p>This will open a new editor window (you might be asked for your password again.)<\/p>\n<p>Type the text below into the editor window.\u00a0 It is one long line, so just keep typing without pressing return.\u00a0 Double check that what you entered into the editor window matches the text given below exactly (Note, it is case sensitive).<\/p>\n<pre>SUBSYSTEM==\"usb\", SYSFS{idVendor}==\"1781\", SYSFS{idProduct}==\"0c9f\", GROUP=\"adm\", MODE=\"0666\"<\/pre>\n<p><a href=\"http:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu5_gksudo_crop.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3217\" data-permalink=\"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/linux\/ubuntu5_gksudo_crop\/\" data-orig-file=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu5_gksudo_crop.png\" data-orig-size=\"652,530\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"gedit\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu5_gksudo_crop.png\" class=\"alignnone size-medium wp-image-3217\" title=\"gedit\" src=\"http:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu5_gksudo_crop-500x406.png\" alt=\"\" width=\"500\" height=\"406\" srcset=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu5_gksudo_crop-500x406.png 500w, https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu5_gksudo_crop.png 652w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Save the new file by clicking the Save button in the toolbar and close the editor window.<\/p>\n<p>Back in the Terminal window, enter the command<\/p>\n<pre>sudo restart udev<\/pre>\n<p>This tells Linux to load the new file, which grants permission to all users to access the USBTinyISP.<\/p>\n<p>For more information, see <a href=\"http:\/\/mightyohm.com\/blog\/2010\/03\/run-avrdude-without-root-privs-in-ubuntu\/\">http:\/\/mightyohm.com\/blog\/2010\/03\/run-avrdude-without-root-privs-in-ubuntu\/<\/a><br \/>\n5. To test the USBTinyISP, plug it into an open USB port.\u00a0 If you already plugged it in, unplug and plug it back in again.\u00a0 The programmer&#8217;s green LED should be on.<\/p>\n<p>If you are using the Atmel AVRISP mk II, substitute &#8220;avrisp2&#8221; for &#8220;usbtiny&#8221; in the command below.\u00a0 If you are using another programmer, follow the manufacturer&#8217;s instructions or consult your favorite search engine.<\/p>\n<p>Type the command<\/p>\n<pre>avrdude -c usbtiny -p m168<\/pre>\n<p>and press enter while you watch the USBTinyISP&#8217;s red LED.\u00a0 The red LED will flash once and you should see the following message:<\/p>\n<p><a href=\"http:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu7_avrdude_crop.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3218\" data-permalink=\"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/linux\/ubuntu7_avrdude_crop\/\" data-orig-file=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu7_avrdude_crop.png\" data-orig-size=\"658,466\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"avrdude\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu7_avrdude_crop.png\" class=\"alignnone size-medium wp-image-3218\" title=\"avrdude\" src=\"http:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu7_avrdude_crop-500x354.png\" alt=\"\" width=\"500\" height=\"354\" srcset=\"https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu7_avrdude_crop-500x354.png 500w, https:\/\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/ubuntu7_avrdude_crop.png 658w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<pre>avrdude: initialization failed, rc=-1<\/pre>\n<pre>Double check connections and try again, or use -F to override<\/pre>\n<pre>this check.<\/pre>\n<pre>avrdude done.\u00a0 Thank you.<\/pre>\n<p>If you don&#8217;t see the red LED flash, try executing the command again.\u00a0 The LED flashes quickly and is easy to miss!<\/p>\n<p>The initialization failed error shown above is not a problem, it is displayed because there is no microcontroller connected to the programmer.\u00a0 At this point, if the red LED flashes, the programmer is working.\u00a0 If you don&#8217;t see the red light flash, or you get a different error message, see the notes below.<\/p>\n<p>If you see the error message<\/p>\n<pre>avrdude: Error: Could not find USBtiny device (0x1781\/0xc9f)<\/pre>\n<pre>avrdude done.\u00a0 Thank you.<\/pre>\n<p>double check your USB connections and make sure the green light on the USBTinyISP is on.<\/p>\n<p>If you see the error message<\/p>\n<pre>avrdude: error: usbtiny_transmit: error sending control message: Operation not permitted<\/pre>\n<pre>avrdude: initialization failed, rc=-1<\/pre>\n<pre>Double check connections and try again, or use -F to override<\/pre>\n<pre>this check.<\/pre>\n<pre>avrdude: error: usbtiny_transmit: error sending control message: Operation not permitted<\/pre>\n<pre>avrdude done.\u00a0 Thank you.<\/pre>\n<p>try following the instructions in step 4 again.<\/p>\n<p>This completes the Linux AVR toolchain installation.\u00a0 You are now ready to start programming microcontrollers!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mitch Altman and I are in the process of writing a book about Making Cool Things with Microcontrollers (for people who know nothing.) The book features several DIY projects that use\u00a0AVR microcontrollers. \u00a0We\u2019re aiming to teach absolute beginners how to solder, basic electronics, and the process of turning a cool idea into reality by using &hellip; <a href=\"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/linux\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Linux<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":3211,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3212","page","type-page","status-publish","hentry"],"jetpack_shortlink":"https:\/\/wp.me\/PioCd-PO","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":3211,"url":"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/","url_meta":{"origin":3212,"position":0},"title":"AVR Toolchain Installation","author":"Jeff","date":"October 28, 2010","format":false,"excerpt":"Mitch Altman and I are in the process of writing a book about Making Cool Things with Microcontrollers (for people who know nothing.) The book features several DIY projects that use\u00a0AVR microcontrollers. \u00a0We're aiming to teach absolute beginners how to solder, basic electronics, and the process of turning a cool\u2026","rel":"","context":"With 2 comments","block_context":{"text":"With 2 comments","link":"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/#comments"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3237,"url":"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/mac-os-x\/","url_meta":{"origin":3212,"position":1},"title":"Mac OS X","author":"Jeff","date":"October 28, 2010","format":false,"excerpt":"Mitch Altman and I are in the process of writing a book about Making Cool Things with Microcontrollers (for people who know nothing.) The book features several DIY projects that use\u00a0AVR microcontrollers. \u00a0We\u2019re aiming to teach absolute beginners how to solder, basic electronics, and the process of turning a cool\u2026","rel":"","context":"With 4 comments","block_context":{"text":"With 4 comments","link":"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/mac-os-x\/#comments"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/osx_crosspack_website-500x379.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":3259,"url":"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/windows\/","url_meta":{"origin":3212,"position":2},"title":"Windows","author":"Jeff","date":"October 28, 2010","format":false,"excerpt":"Mitch Altman and I are in the process of writing a book about Making Cool Things with Microcontrollers (for people who know nothing.) The book features several DIY projects that use\u00a0AVR microcontrollers. \u00a0We\u2019re aiming to teach absolute beginners how to solder, basic electronics, and the process of turning a cool\u2026","rel":"","context":"With 3 comments","block_context":{"text":"With 3 comments","link":"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/windows\/#comments"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/10\/winavr-500x336.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1473,"url":"https:\/\/mightyohm.com\/blog\/products\/avr-hv-rescue-shield\/","url_meta":{"origin":3212,"position":3},"title":"AVR HV Rescue Shield (Obsolete)","author":"Jeff","date":"March 10, 2009","format":false,"excerpt":"Introducing the AVR HV Rescue Shield The AVR HV Rescue Shield is a high voltage parallel mode fuse programmer for Atmel AVR microcontrollers. It currently supports the ATmega48\/88\/168\/328P series and the ATtiny2313.\u00a0 The Rescue Shield is based on my Arduino-based AVR High Voltage Programmer, but with several new features and\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"AVR HV Rescue Shield with ATmega168 target ","src":"https:\/\/i0.wp.com\/mightyohm.com\/blog\/wp-content\/uploads\/2009\/03\/rescue-shield-with-atmega2_scaled-500x375.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1453,"url":"https:\/\/mightyohm.com\/blog\/products\/","url_meta":{"origin":3212,"position":4},"title":"Products","author":"Jeff","date":"March 10, 2009","format":false,"excerpt":"Geiger Counter An open source Geiger Counter kit with logging capabilities. AVR HV Rescue Shield 2 New and improved fuse programming shield for Atmel AVR microcontrollers.","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mightyohm.com\/blog\/wp-content\/uploads\/2009\/03\/geiger_thumb.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":3421,"url":"https:\/\/mightyohm.com\/blog\/products\/hv-rescue-shield-2-x\/","url_meta":{"origin":3212,"position":5},"title":"HV Rescue Shield 2","author":"Jeff","date":"December 13, 2010","format":false,"excerpt":"Introducing the AVR HV Rescue Shield 2 The HV Rescue Shield 2 is a high voltage parallel mode fuse programmer for Atmel AVR microcontrollers. It currently supports a wide variety of AVR chips, including the 28-pin ATmega48\/88\/168\/328 series, the 20-pin ATtiny2313, and many 8-pin ATtiny devices (such as the ATtiny25\/45\/85\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"HV Rescue Shield 2.1","src":"https:\/\/i0.wp.com\/mightyohm.com\/files\/hvrescue21\/images\/5418114324_df1976bef0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/pages\/3212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/comments?post=3212"}],"version-history":[{"count":21,"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/pages\/3212\/revisions"}],"predecessor-version":[{"id":3222,"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/pages\/3212\/revisions\/3222"}],"up":[{"embeddable":true,"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/pages\/3211"}],"wp:attachment":[{"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/media?parent=3212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}