OTA Update with AWS? Build CI/CD pipeline to deliver OTA updates of a firmware

0

Hi!

I already have an AWS IAC built with AWS CDK in Python to deploy my whole Web App microservices and differente aws services connections and is working great.

Now I was wondering how could I build a CI/CD pipeline for 2 repos that I have that holds my firmware code, I should built that pipeline in the same IAC as the web app? Should I create another IAC specific for this case?

And how I can build an OTA update flow so my device can download the last firmware version? Should I build a pipeline that delivers the .bin file inside an specific S3 bucket and then make my device connect to that bucket to download the latest version of the firmware?

Thank you guys!

1 Answer
0
Accepted Answer

Hello, Since you already have an AWS CDK stack for your web app, it would make sense to add the firmware CI/CD pipeline to that same stack. CDK allows you to define all your AWS infrastructure in code, so adding the firmware pipelines keeps everything together.

  • Create a CodePipeline in CDK that sources from your firmware Git repos, builds the code, runs tests, and produces the final firmware binaries. Output these to an S3 bucket or CodeCommit repository.

  • For OTA updates, yes, you can use an S3 bucket to host the latest firmware binary. The device would download from this bucket to update itself.

  • To track versions, you could use S3 object versioning and have the pipeline upload with unique version names like firmware-v1.2.bin.

  • On the device side, you need logic to check the S3 bucket for new versions, download the binary, then install the update.

  • An alternative is to use AWS IoT which has specific OTA update features to push updates to devices. This may require more device-side integration.

To Summarize, add a firmware pipeline to your CDK stack, output binaries to S3, have devices check S3 and install updates. This lets you manage both web and firmware CI/CD together.

AWS
answered 9 days ago
profile pictureAWS
EXPERT
reviewed 9 days ago
  • Great! This was very helpful, thank you so much!

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions