{"id":43,"date":"2022-09-25T20:50:57","date_gmt":"2022-09-25T20:50:57","guid":{"rendered":"https:\/\/lmwl.us\/balloon1\/?page_id=43"},"modified":"2022-10-02T20:31:59","modified_gmt":"2022-10-02T20:31:59","slug":"payload-programming-in-circuitpython","status":"publish","type":"page","link":"https:\/\/lmwl.us\/balloon1\/payload-programming-in-circuitpython\/","title":{"rendered":"Programming"},"content":{"rendered":"<div class=\"boldgrid-section\">\n<div class=\"container\">\n<div class=\"row\">\n<div class=\"col-lg-12 col-md-12 col-xs-12 col-sm-12\">\n<p class=\"\">I choose to use Circuit Python for programming the custom part of my payload, for convenience:&nbsp; the vendor of my nontraditional components offers free code libraries and technical support for the layperson.&nbsp;<\/p>\n<p class=\"\">I am placing links to the code tutorial pages for each relevant component here, for my own convenience:<\/p>\n<ul class=\"\">\n<li><a href=\"https:\/\/learn.adafruit.com\/adafruit-aht20\/python-circuitpython\">Temp,&nbsp; humidity<\/a><\/li>\n<li><a href=\"https:\/\/learn.adafruit.com\/nxp-precision-9dof-breakout\/python-circuitpython\">magnetometer, gyro, accelerometer<\/a><\/li>\n<li><a href=\"https:\/\/learn.adafruit.com\/adafruit-stm32f405-feather-express\/circuitpython-setup\">microcontroller<\/a>, datalogger<\/li>\n<li><a href=\"https:\/\/learn.adafruit.com\/adafruit-scd30\/python-circuitpython\">CO2, temp, humidity<\/a><\/li>\n<li><a href=\"https:\/\/learn.adafruit.com\/pm25-air-quality-sensor\/python-and-circuitpython\">particulate matter<\/a><\/li>\n<\/ul>\n<p class=\"\">First, the microprocessor board needs <a href=\"https:\/\/learn.adafruit.com\/adafruit-stm32f405-feather-express\/dfu-bootloader-details\">firmware<\/a> to be uploaded via USB to its flash memory.&nbsp; To enable this feature, I must connect the B0 pin on the board to the 3.3V pin,<\/p>\n<p class=\"\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-medium wp-image-165\" src=\"https:\/\/lmwl.us\/balloon1\/wp-content\/uploads\/2022\/10\/feather_boards_image-300x184.png\" alt=\"\" width=\"300\" height=\"184\" srcset=\"https:\/\/lmwl.us\/balloon1\/wp-content\/uploads\/2022\/10\/feather_boards_image-300x184.png 300w, https:\/\/lmwl.us\/balloon1\/wp-content\/uploads\/2022\/10\/feather_boards_image-250x153.png 250w, https:\/\/lmwl.us\/balloon1\/wp-content\/uploads\/2022\/10\/feather_boards_image-550x338.png 550w, https:\/\/lmwl.us\/balloon1\/wp-content\/uploads\/2022\/10\/feather_boards_image-293x180.png 293w, https:\/\/lmwl.us\/balloon1\/wp-content\/uploads\/2022\/10\/feather_boards_image-489x300.png 489w, https:\/\/lmwl.us\/balloon1\/wp-content\/uploads\/2022\/10\/feather_boards_image.png 699w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p class=\"\">and then press the Reset button on the board, while it is connected to my PC&#8217;s USB.&nbsp; &nbsp;I will find the microcontroller board listed in the Device Manager in the Windows&nbsp; operating system of my PC, under USB \/ Serial Devices.&nbsp; The detailed instructions for uploading the firmware <a href=\"https:\/\/learn.adafruit.com\/adafruit-stm32f405-feather-express\/dfu-bootloader-details\">are linked here<\/a>.&nbsp;<\/p>\n<p class=\"\"><span style=\"font-size: 1rem;\">After firmware upload, the microcontroller board will show up on my PC as a new drive called &#8220;CIRCUITPY.&#8221;<\/span><\/p>\n<p class=\"\">I will find the \/CIRCUITPY\/lib directory in the microcontroller board, and upload the code libraries that&nbsp; I will need.&nbsp; If the microcontroller board has plenty of flash space, then I will simply upload <a href=\"https:\/\/circuitpython.org\/libraries\">all of my vendor&#8217;s CircuitPython libraries<\/a>.&nbsp; After that I will&nbsp; be able to upload my&nbsp; python program.<\/p>\n<p class=\"\">&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I choose to use Circuit Python for programming the custom part of my payload, for convenience:&nbsp; the vendor of my nontraditional components offers free code libraries and technical support for the layperson.&nbsp; I am placing links to the code tutorial pages for each relevant component here, for my own convenience: Temp,&nbsp; humidity magnetometer, gyro, accelerometer &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/lmwl.us\/balloon1\/payload-programming-in-circuitpython\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Programming&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template\/page\/fullwidth.php","meta":{"bgseo_title":"","bgseo_description":"","bgseo_robots_index":"index","bgseo_robots_follow":"follow","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"class_list":["post-43","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/lmwl.us\/balloon1\/wp-json\/wp\/v2\/pages\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lmwl.us\/balloon1\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lmwl.us\/balloon1\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lmwl.us\/balloon1\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lmwl.us\/balloon1\/wp-json\/wp\/v2\/comments?post=43"}],"version-history":[{"count":9,"href":"https:\/\/lmwl.us\/balloon1\/wp-json\/wp\/v2\/pages\/43\/revisions"}],"predecessor-version":[{"id":168,"href":"https:\/\/lmwl.us\/balloon1\/wp-json\/wp\/v2\/pages\/43\/revisions\/168"}],"wp:attachment":[{"href":"https:\/\/lmwl.us\/balloon1\/wp-json\/wp\/v2\/media?parent=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}