{"id":3371,"date":"2026-10-23T16:47:03","date_gmt":"2026-10-23T15:47:03","guid":{"rendered":"https:\/\/www.robertprice.co.uk\/robblog\/?p=3371"},"modified":"2026-10-23T16:49:13","modified_gmt":"2026-10-23T15:49:13","slug":"rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014","status":"publish","type":"post","link":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/","title":{"rendered":"RC2026 &#8211; Part 2 &#8211; Using a BME280 environmental sensor on a RC2014"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I previously controlled a <a href=\"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-1-using-a-spi-led-matrix-from-a-rc2014\/\">MAX7219 LED matrix over SPI from my RC2014<\/a> computer. Now I want to try another SPI device, the BM280 environmental sensor from Bosch. The code in this article builds on the previous work, so take a moment to read it if you haven&#8217;t already.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The BME280 can read temperature, pressure, and humidity. It is a 3.3V device, so I will need a voltage level converter to use it with a 5V RC2014.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The SPI communication will also need to be two-way, as I will need to tell the sensor what values to send me.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I used the following parts (note: Amazon affiliate links)<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/link.amazon\/B06KBHw6t\">3.3 DC Voltage Regulator Step Down Power Supply Module 4.75V-12V to 3.3V 800mA<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/link.amazon\/B0fLL3RlR\" data-type=\"link\" data-id=\"https:\/\/link.amazon\/B0fLL3RlR\">3.3V-5V 4 Channels Logic Level Converter Bi-Directional Shifter Module<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/link.amazon\/B0bGt1i6q\" data-type=\"link\" data-id=\"https:\/\/link.amazon\/B0bGt1i6q\">BME280 Atmospheric Pressure Sensor Temperature Humidity Sensor Breakout High Precision<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The regulator allowed me to generate a 3.3v power supply from the RC2014&#8217;s 5v supply. I was then able to use this on the low-voltage side of the level shifter to allow the signals to convert between 5v and 3.3v.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As before, I am using the SC129 Digital IO module on my RC2014 to bit-bang the SPI protocol. This is wired up via the level shifters and 3.3V regulator as follows&#8230; <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>SC129<\/strong><\/td><td><strong>BME280<\/strong><\/td><\/tr><tr><td>GND<\/td><td>GND<\/td><\/tr><tr><td>5V<\/td><td>3.3V (via 3.3 regulator)<\/td><\/tr><tr><td>OUT D0<\/td><td>SDA \/ SDI (via level shifter)<\/td><\/tr><tr><td>OUT D1<\/td><td>SCL \/ SCK (via level shifter)<\/td><\/tr><tr><td>OUT D3<\/td><td>CSB (via level shifter)<\/td><\/tr><tr><td>IN D0<\/td><td>SDO (via level shifter)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The BME280 gives us the following timing diagram for SPI communication.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280timing.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"388\" src=\"https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280timing-1024x388.png\" alt=\"BME280 SPI timing diagram\" class=\"wp-image-3379\" srcset=\"https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280timing-1024x388.png 1024w, https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280timing-300x114.png 300w, https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280timing-768x291.png 768w, https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280timing-1200x455.png 1200w, https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280timing-1536x582.png 1536w, https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280timing.png 1562w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Looking at the timing diagram, we can see that before we start any communication, the SCL \/ SCK and CSB lines both need to be high. We can use a subroutine to do this.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deselect_bme280:\n    ld a, 0 | SELECT | CLK | MOSI\n    out (OUTPUT_PORT),a\n    ret<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sending and receiving take place on the transition of the SCK line from high to low.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This code is similar to the code for the LED matrix in my earlier post. I have added some additional code to handle the input. This reads the bit, rotates it right into the carry flag, then rotates that value into the E register. By the end of the routine, the byte in register D will have been sent, and the byte returned will be in register E.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>send_receive_byte:\n    push bc\n    ld b, 8\n    ld a, 0 &amp;~SELECT &amp;~CLK | MOSI\n    rra\n    ld c, a\n.transmit_bme280_bit:\n    ld a, c\n    rl d\n    rla \n    out (OUTPUT_PORT), a.  ; CLK low\n    in a, (INPUT_PORT)\n    rra\n    rl e\n    ld a, c\n    or a, CLK\n    out (OUTPUT_PORT), a   ; CLK high\n    djnz .transmit_bme280_bit\n    pop bc\n    ret<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">To test that this is working, we can send the value 0xD0 to the BME280. It should send back the value 0x60. To read the returned byte, we send 0x00. While this is being sent, the result byte will be returned simultaneously. We will then output this byte to the SC129 so the display LEDs will show the returned value in binary.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bme280_getId:\n    call deselect_bme280\n    ld d, 0xD0\n    call send_receive_byte\n    ld d, 0x00\n    call send_receive_byte \n    call deselect_bme280\n\n    ld a, e\n    out (OUTPUT_PORT), a\n    ret<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">After running, the LEDs correctly show 01100000 &#8211; 0x60.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The next step will be to get actual temperature readings. That will be the subject of the next post.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I previously controlled a MAX7219 LED matrix over SPI from my RC2014 computer. Now I want to try another SPI device, the BM280 environmental sensor from Bosch. The code in this article builds on the previous work, so take a moment to read it if you haven&#8217;t already. The BME280 can read temperature, pressure, and &hellip; <a href=\"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;RC2026 &#8211; Part 2 &#8211; Using a BME280 environmental sensor on a RC2014&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":3387,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[157,209,187,1],"tags":[215,117,213,119],"class_list":["post-3371","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rc2014","category-rc2026","category-retrochallenge","category-uncategorised","tag-bme280","tag-rc2014","tag-spi","tag-z80"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>RC2026 - Part 2 - Using a BME280 environmental sensor on a RC2014 - Robert Price<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RC2026 - Part 2 - Using a BME280 environmental sensor on a RC2014 - Robert Price\" \/>\n<meta property=\"og:description\" content=\"I previously controlled a MAX7219 LED matrix over SPI from my RC2014 computer. Now I want to try another SPI device, the BM280 environmental sensor from Bosch. The code in this article builds on the previous work, so take a moment to read it if you haven&#8217;t already. The BME280 can read temperature, pressure, and &hellip; Continue reading &quot;RC2026 &#8211; Part 2 &#8211; Using a BME280 environmental sensor on a RC2014&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/\" \/>\n<meta property=\"og:site_name\" content=\"Robert Price\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-23T15:47:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-23T15:49:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280-RC2014.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"rob\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"rob\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/\"},\"author\":{\"name\":\"rob\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#\\\/schema\\\/person\\\/fac6d5b076e0e14e1fb13e15b542a6c5\"},\"headline\":\"RC2026 &#8211; Part 2 &#8211; Using a BME280 environmental sensor on a RC2014\",\"datePublished\":\"2026-10-23T15:47:03+00:00\",\"dateModified\":\"2026-10-23T15:49:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/\"},\"wordCount\":475,\"image\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/assets\\\/BME280-RC2014.jpg\",\"keywords\":[\"BME280\",\"RC2014\",\"SPI\",\"Z80\"],\"articleSection\":[\"RC2014\",\"RC2026\",\"RetroChallenge\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/\",\"url\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/\",\"name\":\"RC2026 - Part 2 - Using a BME280 environmental sensor on a RC2014 - Robert Price\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/assets\\\/BME280-RC2014.jpg\",\"datePublished\":\"2026-10-23T15:47:03+00:00\",\"dateModified\":\"2026-10-23T15:49:13+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#\\\/schema\\\/person\\\/fac6d5b076e0e14e1fb13e15b542a6c5\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/assets\\\/BME280-RC2014.jpg\",\"contentUrl\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/assets\\\/BME280-RC2014.jpg\",\"width\":1600,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RC2026 &#8211; Part 2 &#8211; Using a BME280 environmental sensor on a RC2014\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#website\",\"url\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/\",\"name\":\"Robert Price\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#\\\/schema\\\/person\\\/fac6d5b076e0e14e1fb13e15b542a6c5\",\"name\":\"rob\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g\",\"caption\":\"rob\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RC2026 - Part 2 - Using a BME280 environmental sensor on a RC2014 - Robert Price","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:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/","og_locale":"en_GB","og_type":"article","og_title":"RC2026 - Part 2 - Using a BME280 environmental sensor on a RC2014 - Robert Price","og_description":"I previously controlled a MAX7219 LED matrix over SPI from my RC2014 computer. Now I want to try another SPI device, the BM280 environmental sensor from Bosch. The code in this article builds on the previous work, so take a moment to read it if you haven&#8217;t already. The BME280 can read temperature, pressure, and &hellip; Continue reading \"RC2026 &#8211; Part 2 &#8211; Using a BME280 environmental sensor on a RC2014\"","og_url":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/","og_site_name":"Robert Price","article_published_time":"2026-10-23T15:47:03+00:00","article_modified_time":"2026-10-23T15:49:13+00:00","og_image":[{"width":1600,"height":1200,"url":"https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280-RC2014.jpg","type":"image\/jpeg"}],"author":"rob","twitter_card":"summary_large_image","twitter_misc":{"Written by":"rob","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/#article","isPartOf":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/"},"author":{"name":"rob","@id":"https:\/\/www.robertprice.co.uk\/robblog\/#\/schema\/person\/fac6d5b076e0e14e1fb13e15b542a6c5"},"headline":"RC2026 &#8211; Part 2 &#8211; Using a BME280 environmental sensor on a RC2014","datePublished":"2026-10-23T15:47:03+00:00","dateModified":"2026-10-23T15:49:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/"},"wordCount":475,"image":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/#primaryimage"},"thumbnailUrl":"https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280-RC2014.jpg","keywords":["BME280","RC2014","SPI","Z80"],"articleSection":["RC2014","RC2026","RetroChallenge"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/","url":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/","name":"RC2026 - Part 2 - Using a BME280 environmental sensor on a RC2014 - Robert Price","isPartOf":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/#primaryimage"},"image":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/#primaryimage"},"thumbnailUrl":"https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280-RC2014.jpg","datePublished":"2026-10-23T15:47:03+00:00","dateModified":"2026-10-23T15:49:13+00:00","author":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/#\/schema\/person\/fac6d5b076e0e14e1fb13e15b542a6c5"},"breadcrumb":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/#primaryimage","url":"https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280-RC2014.jpg","contentUrl":"https:\/\/www.robertprice.co.uk\/robblog\/assets\/BME280-RC2014.jpg","width":1600,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/www.robertprice.co.uk\/robblog\/rc2026-part-2-using-a-bme280-environmental-sensor-on-a-rc2014\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.robertprice.co.uk\/robblog\/"},{"@type":"ListItem","position":2,"name":"RC2026 &#8211; Part 2 &#8211; Using a BME280 environmental sensor on a RC2014"}]},{"@type":"WebSite","@id":"https:\/\/www.robertprice.co.uk\/robblog\/#website","url":"https:\/\/www.robertprice.co.uk\/robblog\/","name":"Robert Price","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.robertprice.co.uk\/robblog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.robertprice.co.uk\/robblog\/#\/schema\/person\/fac6d5b076e0e14e1fb13e15b542a6c5","name":"rob","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g","caption":"rob"}}]}},"_links":{"self":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/posts\/3371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/comments?post=3371"}],"version-history":[{"count":9,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/posts\/3371\/revisions"}],"predecessor-version":[{"id":3393,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/posts\/3371\/revisions\/3393"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/media\/3387"}],"wp:attachment":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/media?parent=3371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/categories?post=3371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/tags?post=3371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}