Documentation/PortingToNewDevice.md
IronOS is largely designed to run on devices that are using fairly modern microcontrollers at their core. Generally this means an ARM Cortex or RISC-V processor. At this point in time it is not planned to support 8051 or similar cored devices. This is largely due to the reliance on FreeRTOS at the moment.
When requesting a port for a new device, please try and find out if the hardware meets the below requirements.
The feature list's below are organised into three categories; Hard requirements that as of current must be met, soft requirements that should be met for full featured performance and the final category of planned but not yet implemented features; which can be implemented but can result in delays as these are not yet implemented.
Aside from the below, keep in mind IronOS is really designed for soldering irons. This has expanded out into hot-plates as they are exceptionally similar devices.
These features are planned for eventual support, but will likely not be done until devices need them.
64KB is generally the minimum recommended size for the hardware to have. Larger is definitely preferred as it enables more features or the multi-pack language firmwares. Keep in mind that on some devices we loose space to a USB DFU bootloader (Older STM32F1's) so the firmware can work with less. But it can come at the cost of features. 128KB or larger is great. For devices that have BLE or WiFi or other features, often code requirements are significantly larger. These are considered non essential features so will be ignored if we run into size issues.
In order to be able to write the interfacing code to communicate with the hardware, we need to know what pins on the microcontroller go to what hardware. It is also loosely required to have an understanding of the rest of the device, we do not need details on a lot of the boring aspects,but if for example a USB-PD interface IC is used we would want to know which one.
Device Name: Device Type: Approximate Price: Example purchase locations:
Microcontroller version: STM32F103C8Tx
Flash size (If external to the MCU):N/A
Microcontroller Pinout: <!-- Either link to manufacturer information, a forum documenting this or a discussion where the pinout has been roughly figured out already-->
Device type: <!-- Soldering Iron/Hot Plate/ Reflow oven etc-->
Device meets hard requirements list []
Device meets soft requirements list []
Device features USB-PD [] Device features USB-QC [] Device features DC Input [] Device features BLE []