The Picofly Bootloader is a small, versatile bootloader that allows you to easily program your Picofly microcontroller. It’s easy to use and can be used with a variety of programming languages and tools. In this guide, we’ll show you how to use the Picofly Bootloader to program your Picofly microcontroller.
To get started, you’ll need to install the Picofly Bootloader software. You can download the software from the Picofly website. Once you’ve installed the software, you’ll need to connect your Picofly microcontroller to your computer. You can do this using a USB cable. Once your Picofly microcontroller is connected, you can open the Picofly Bootloader software. The software will automatically detect your Picofly microcontroller and display its information.
Initial Configuration of Picofly Bootloader
The Picofly Bootloader is an essential tool for configuring and programming your Picofly board. To use the Picofly Bootloader, you will need to follow these steps:
1. Install the Picofly Bootloader Software
To use the Picofly Bootloader, you must first download and install the necessary software. This includes the Picofly Bootloader application, the Picofly Device Driver, and the Picofly Firmware. These components are available from the Picofly website.
Once you have downloaded and installed the necessary software, you can launch the Picofly Bootloader application.
2. Connect the Picofly Board to Your Computer
Connect the Picofly board to your computer using the provided USB cable in the correct orientation (the USB-C connector should be facing the computer). Ensure that the USB cable is securely inserted into both the Picofly board and your computer.
3. Select the COM Port
Once the Picofly board is connected to your computer, you will need to select the appropriate COM port from the Picofly Bootloader application. The COM port is the communication channel between your computer and the Picofly board. To select the COM port, click on the “COM Port” drop-down menu and choose the COM port that corresponds to your Picofly board.
4. Set the Baud Rate
The baud rate is the speed at which data is transferred between your computer and the Picofly board. The default baud rate for the Picofly Bootloader is 115200. In most cases, you can leave the baud rate at the default setting. However, if you are experiencing communication issues, you may need to adjust the baud rate.
5. Click the “Connect” Button
Once you have selected the COM port and baud rate, click on the “Connect” button to establish a connection between your computer and the Picofly board. If the connection is successful, the Picofly Bootloader application will display a message indicating that the connection has been established.
6. Configure the Picofly Board
Once you are connected to the Picofly board, you can configure the board’s settings using the Picofly Bootloader application. The Picofly Bootloader application allows you to configure a variety of settings, including the following:
* Device Name – The name of the Picofly board.
* Device ID – The unique identifier of the Picofly board.
* Firmware Version – The version of the firmware installed on the Picofly board.
* Bootloader Version – The version of the bootloader installed on the Picofly board.
* Reset Count – The number of times the Picofly board has been reset.
Table of Contents
| Action | Description |
|—|—|
| Step 1 | Install the Picofly Bootloader software |
| Step 2 | Connect the Picofly board to your computer |
| Step 3 | Select the COM port |
| Step 4 | Set the baud rate |
| Step 5 | Click the “Connect” button |
| Step 6 | Configure the Picofly board |
Connecting to Picofly Bootloader
Hardware Configuration
To connect to the Picofly Bootloader, you will need the following hardware components:
- Picofly board
- USB-C cable
- Computer
!Note Pi Pico and the Pi Pico W boards are not compatible with the Picofly Bootloader.
Software Configuration
Once you have the necessary hardware, you will need to configure your computer’s software to recognize the Picofly Bootloader.
- Install the Picofly Bootloader tool: Download and install the Picofly Bootloader tool from the official Picofly website.
- Connect the Picofly board to your computer: Connect the Picofly board to your computer using the USB-C cable.
- Open the Picofly Bootloader tool: Launch the Picofly Bootloader tool on your computer.
- Select the COM port for the Picofly board: In the Picofly Bootloader tool, select the COM port that corresponds to the Picofly board.
- Click the "Connect" button: Click the "Connect" button in the Picofly Bootloader tool to establish a connection with the Picofly board.
Additional Notes:
- If you encounter any issues connecting to the Picofly Bootloader, ensure that the USB-C cable is properly connected and that the COM port is correctly selected.
- The Picofly Bootloader tool can be used to flash firmware to the Picofly board, configure bootloader settings, and perform other bootloader operations.
- For detailed instructions on using the Picofly Bootloader tool, refer to the official documentation available on the Picofly website.
Hardware | Configuration |
---|---|
Picofly board | Connect using USB-C cable |
USB-C cable | Connect Picofly board to computer |
Computer | Install Picofly Bootloader tool |
Upload Firmware to Picofly Bootloader
To upload firmware to the Picofly bootloader, you will need the following:
- A Picofly device
- A USB cable
- The Picofly bootloader software
- The firmware image you want to upload
Once you have all of the necessary materials, you can follow these steps to upload firmware to the Picofly bootloader:
1. Connect the Picofly device to your computer
Use the USB cable to connect the Picofly device to your computer. The Picofly device will appear as a new drive on your computer.
2. Open the Picofly bootloader software
Once the Picofly device is connected to your computer, open the Picofly bootloader software. The Picofly bootloader software is a graphical user interface (GUI) that allows you to upload firmware to the Picofly device.
3. Select the firmware image you want to upload
In the Picofly bootloader software, click the “Select Firmware” button. A file browser window will open. Navigate to the location of the firmware image you want to upload and select it. The firmware image must be a .bin file.
4. Click the “Upload” button
Once you have selected the firmware image you want to upload, click the “Upload” button. The Picofly bootloader software will begin uploading the firmware image to the Picofly device. The upload process may take a few minutes.
5. Once the upload process is complete, the Picofly device will reboot
Once the upload process is complete, the Picofly device will reboot. The Picofly device will now be running the new firmware.
Verify Firmware Upload
To verify that the firmware upload was successful, you can use the picofly-verify
command.
The picofly-verify
command takes a single argument, which is the path to the firmware file that you want to verify.
To use the picofly-verify
command, open a terminal window and navigate to the directory where the firmware file is located.
Then, enter the following command:
picofly-verify [path to firmware file]
If the firmware upload was successful, the picofly-verify
command will output a message indicating that the firmware is valid.
If the firmware upload was not successful, the picofly-verify
command will output a message indicating that the firmware is invalid.
Additional Information
In addition to the basic functionality described above, the picofly-verify
command also supports a number of additional features.
For example, you can use the -v
option to verbose output, which will provide more detailed information about the verification process.
You can also use the --sha256
option to verify the SHA256 checksum of the firmware file.
The following table summarizes the available options for the picofly-verify
command:
Option | Description |
---|---|
-h |
Display help information |
-v |
Enable verbose output |
--sha256 |
Verify the SHA256 checksum of the firmware file |
Configuring Picofly Bootloader Settings
The Picofly bootloader offers a range of customizable settings to adapt to different hardware configurations and user preferences. By modifying these settings, you can optimize the bootloader’s behavior and tailor it to your specific needs.
1. Bootloader Mode
Choose between ‘Serial’ (UART) or ‘SPI’ as the bootloader’s communication interface. Serial mode is commonly used for development and debugging, while SPI mode is suitable for production environments.
2. Bootloader Timeout
Set the amount of time the bootloader will wait for a valid firmware image to be received. This setting prevents endless waiting when no firmware is available.
3. Bootloader Baud Rate (Serial Mode Only)
Configure the communication speed for the serial connection. This should match the baud rate of your host system.
4. SPI Chip Select Pin
Assign the microcontroller pin that will be used as the SPI chip select. This pin is used to activate the bootloader.
5. Advanced Settings
Setting | Description |
---|---|
Disable Autobaud | Prevent automatic baud rate detection in serial mode, allowing for custom baud rates. |
Disable Magic Byte Checking | Disables checking for the bootloader magic byte before executing the firmware. |
Disable Region Protection | Allows writing to protected memory regions. Use with caution. |
Disable Jump to Application | Prevents automatic execution of the firmware after programming. Useful for debugging and testing. |
Configuring BLE Interface in Picofly Bootloader
Creating a BLE Peripheral
To enable BLE communication in the bootloader, you need to configure a BLE Peripheral. This includes setting up the device name, advertising parameters, and service definitions.
Device Advertisement
The BLE device advertisement packet contains information that allows other devices to discover it. You can configure the device name, advertising interval, and connectable/discoverable flags to tailor the advertisement behavior.
BLE Services and Characteristics
BLE uses services and characteristics to organize and exchange data. The bootloader typically defines a service for communication with the host computer, including characteristics for reading and writing flash memory and controlling the bootloader.
BLE Security
To secure the BLE connection, you can enable encryption and authentication. Encryption ensures that data is protected during transmission, while authentication verifies the identity of connected devices.
BLE Debugging
To aid in development and troubleshooting, you can enable debug logs that provide information about BLE events, connections, and data transfers. This can help identify issues and optimize the BLE configuration.
Using the BLE Interface
Once configured, the BLE interface can be used to interact with the bootloader through standard BLE commands. You can connect to the device, read and write flash memory, and trigger actions like firmware updates, all wirelessly through the BLE connection.
Parameter | Description |
---|---|
Device Name | The name of the BLE device, displayed during discovery. |
Advertising Interval | The interval between advertising packets, affecting discovery frequency. |
Connectable | Whether the device allows other devices to connect. |
Discoverable | Whether the device is visible to other BLE scanners. |
Service UUID | The unique identifier for the bootloader service. |
Characteristic UUID | The unique identifier for each characteristic within the service. |
Security Level | The level of security applied to the BLE connection, such as encryption and authentication. |
Debug Logging | Whether to enable debug logs for BLE events and data transfers. |
Advanced Firmware Management Techniques
1. Firmware Validation
The Picofly Bootloader includes firmware validation, ensuring the integrity of new firmware images before they are uploaded to the device. This prevents corrupted or malicious firmware from being installed.
2. Firmware Versioning
The bootloader maintains a record of installed firmware versions, allowing for easy rollbacks to previous versions if necessary.
3. Firmware Recovery
In the event of a firmware corruption or bootloader failure, the Picofly Bootloader provides mechanisms for recovering the device’s firmware from a known-good image.
4. Dual-Bank Firmware Update
The bootloader supports dual-bank firmware updates, allowing for seamless updates without downtime. The new firmware is uploaded to a secondary bank, and the device is rebooted to the new version.
5. Over-the-Air (OTA) Firmware Updates
The Picofly Bootloader supports OTA firmware updates, enabling firmware updates to be delivered remotely via wireless or internet connections.
6. Encrypted Firmware Updates
For enhanced security, the bootloader supports encrypted firmware updates, ensuring confidentiality and integrity during firmware transfer.
7. Firmware Rollback Protection
The bootloader includes firmware rollback protection, preventing malicious actors from downgrading the firmware to a vulnerable version.
8. Extensibility and Customization
The Picofly Bootloader can be extended and customized through a comprehensive API, allowing developers to implement custom firmware management functions and integrate the bootloader with existing systems. This API includes the following functionalities:
Function | Description |
---|---|
LoadFirmware() |
Loads a firmware image into memory. |
ValidateFirmware() |
Verifies the integrity of a firmware image. |
InstallFirmware() |
Installs a validated firmware image onto the device. |
CreateBackup() |
Creates a backup of the current firmware image. |
RestoreBackup() |
Restores a firmware image from a backup. |
Using Picofly Bootloader for Production
The Picofly Bootloader is a powerful tool that can be used to program and update devices in the field. It is a small, open-source bootloader that can be easily integrated into any embedded system. The Picofly Bootloader supports a variety of programming interfaces, including I2C, UART, and SPI.
Hardware Requirements
To use the Picofly Bootloader, you will need the following hardware:
- A microcontroller with a supported programming interface (I2C, UART, or SPI)
- A Picofly Bootloader module
- A programming cable (e.g., USB-to-I2C adapter)
Software Requirements
You will also need the following software:
- A Picofly Bootloader library for your target microcontroller
- A programming tool (e.g., Arduino IDE, STM32CubeProgrammer)
Programming Your Device
To program your device with the Picofly Bootloader, follow these steps:
1. Connect the Picofly Bootloader module to your target microcontroller.
2. Connect the programming cable to the Picofly Bootloader module.
3. Open the programming tool and select the appropriate programming interface.
4. Select the Picofly Bootloader library for your target microcontroller.
5. Build and program your firmware onto the target microcontroller.
Updating Your Device
To update your device with the Picofly Bootloader, follow these steps:
1. Connect the Picofly Bootloader module to your device.
2. Connect the programming cable to the Picofly Bootloader module.
3. Open the programming tool and select the appropriate programming interface.
4. Select the Picofly Bootloader library for your device.
5. Build and program the update firmware onto your device.
Using the Picofly Bootloader for Production
The Picofly Bootloader can be used to program and update devices in the field. This can be useful for a variety of purposes, such as:
- Updating firmware to fix bugs or add new features
- Rolling out new software releases
- Performing remote diagnostics
Benefit | Description |
---|---|
Reduced downtime | Devices can be updated without having to be taken offline. |
Increased flexibility | Firmware updates can be rolled out to a subset of devices or to a specific region. |
Improved security | Firmware updates can be signed and verified to ensure that they are authentic and have not been tampered with. |
How to Use the Picofly Bootloader
The Picofly bootloader is a small program that allows you to upload new firmware to your Picofly microcontroller. It is a simple and easy-to-use tool that can be used with any computer running Windows, Mac OS X, or Linux.
To use the Picofly bootloader, you will need the following:
- A Picofly microcontroller
- A USB cable
- The Picofly bootloader software
Once you have all of the necessary materials, you can follow these steps to use the Picofly bootloader:
1. Install the Picofly bootloader software on your computer.
2. Connect the Picofly microcontroller to your computer using the USB cable.
3. Open the Picofly bootloader software.
4. Select the COM port that the Picofly microcontroller is connected to.
5. Click the “Upload” button to upload the new firmware to the Picofly microcontroller.
People also ask
How do I know if the Picofly bootloader is working?
When the Picofly bootloader is working properly, you should see a message in the Picofly bootloader software that says “Picofly bootloader found.”
What do I do if the Picofly bootloader is not working?
If the Picofly bootloader is not working, try the following:
- Make sure that the Picofly microcontroller is properly connected to your computer using the USB cable.
- Try using a different COM port.
- Reinstall the Picofly bootloader software.
Can I use the Picofly bootloader to upload firmware to other microcontrollers?
No, the Picofly bootloader can only be used to upload firmware to Picofly microcontrollers.