- Hardware
- Allwinner A40i · TI Sitara AM335x · Raspberry Pi CM4
- The work
- A board support package built from nothing
An old vendor tree, and then a current LTS kernel
Before
An old U-Boot and an old Linux kernel, both from the vendor. No security fixes were arriving.
The work
We built the board support package from nothing, against current upstream sources.
Now
The product runs the 6.18 LTS kernel, and it enters production.
This is what a migration looks like when it finishes. If your product sits on a vendor tree that nobody updates, this is the same piece of work.
The work
Agricultural control and monitoring platform
One platform across several board revisions, and through a major version upgrade
Case data
- Industry
- Agriculture
- Product line
- Controllers for poultry and pig houses, several hardware revisions
- Module
- ArmDesigner EMA40i
- Silicon
- Allwinner A40i · TI Sitara AM335x
- Scope
- Board support package, Yocto layer, over-the-air updates, remote access, factory provisioning, driver work, platform migration
Board support package
The kernel, the bootloader and the Yocto layer the product ships on.
Over-the-air updates
We integrated UpdateHub. The whole fleet takes software updates in the field.
Remote access
We integrated ShellHub. Support and engineering reach a deployed unit without a public address on it.
Yocto layer
We built and we maintain a custom layer. It carries an audit module, so a change is traceable across the platform.
Factory provisioning
We built a production installer with Snagboot, which we also maintain in nixpkgs. The factory flashes and sets up a new unit at scale.
Board revisions
We revalidate the kernel on each revision, so the platform behaves the same on every hardware variant.
Platform migration
We migrated the platform to a major new version. We adjusted the CI pipeline and ran test builds first, to prove the upgrade path was safe.
RS485 driver
We fixed a driver fault. The serial link the product uses for field and industrial equipment is reliable again.
Graphics acceleration
We enabled it, so the device can carry a richer interface.
IPv6
We enabled it in the kernel, for the networks these devices now meet.
SDK
We generate one, so the customer's own developers build applications on the platform.
Platform support
We help the customer's engineers work with the new platform.
Precision agriculture displays, across four screen sizes
One platform over a range of devices, moved to a current kernel
Case data
- Industry
- Agriculture, precision agriculture
- Product line
- Display devices, from 5 inch to 10 inch
- Hardware
- wf111 Wi-Fi module
- Scope
- Wi-Fi driver port, connection reliability, device tree, installer, over-the-air updates, document rendering
Wi-Fi on a current kernel
We added support for the Wi-Fi module on the 7 inch device, then ported its driver to Linux 6.1 so the whole range moves forward together.
A connection that dropped
The 5 inch device kept losing Wi-Fi. We found the cause and we fixed it. It was the largest single piece of work in this engagement, and the kind that only shows up in the field.
Device tree
We corrected it, so the kernel describes the hardware the board actually has.
Installer
We added compressed memory support, which gives the installer room to work on a device that has little of it.
Over-the-air updates
We integrated UpdateHub, and remote access through ShellHub.
Document rendering
We built Qt PDF for the platform, on a current Yocto Project release. The devices show manuals and reports in the cab.
Review
We review the customer's own changes to the platform.
A third platform, at its start
An engagement in its first weeks: the foundation, and the board it is being built on
Case data
- Industry
- Agriculture, precision agriculture
- Product line
- A device platform in development
- Boards
- Raspberry Pi CM4 development board
- Scope
- Platform foundation, hardware verification, technical alignment
The foundation
We created the base of the embedded Linux platform this product will be built on.
The development board
We verified the pin assignment on the CM4 board, which is the check that decides whether the schematic and the software agree before either is committed to.
Alignment
We ran the kickoff, and we took access to the customer's own source repositories.