Firmware
Embedded firmware. Bare metal to RTOS.
Drivers, bootloaders, wireless stacks and OTA updates, written in C and C++ by engineers who also design and build boards, and tested on real hardware on our bench.
// What this is
Firmware that knows the hardware it runs on.
Firmware bugs and hardware bugs look the same from the outside. Because we design and assemble boards too, we can put a scope on the pin, read the schematic, and tell you which one it is, then fix it.
Squidtronic writes embedded firmware in Austin, Texas. We work with hardware teams in the Austin area and remotely with teams anywhere in the US; send us two boards and we develop against them on our bench.
We take on firmware for boards we designed and for boards we didn't. Typical jobs: bringing up a new board's peripherals, adding wireless to a product, writing a bootloader with safe over-the-air updates, or production test firmware that tells the line which boards pass.
Board not working yet? If the hardware itself hasn't been brought up, start with bring-up and debug, then move to firmware on hardware you trust.
See Bring-Up & Debug// Capabilities
What we write.
| Languages | C and C++ |
|---|---|
| Bare metal | Peripheral drivers: I2C, SPI, UART, ADC, PWM, timers, DMA, USB, CAN |
| RTOS | FreeRTOS and Zephyr: tasks, queues, power management |
| Wireless | BLE, Wi-Fi, LoRa and cellular |
| Boot & update | Bootloaders and over-the-air (OTA) firmware updates |
| Microcontrollers | ST STM32; Nordic nRF52, nRF53 and nRF91; Espressif ESP32; Raspberry Pi RP2040 and RP2350; Microchip PIC, AVR and SAM; NXP LPC, Kinetis and i.MX RT; TI MSP430 and SimpleLink; Silicon Labs EFR32; Renesas RA; Infineon PSoC |
| FPGAs | AMD (Xilinx) Spartan, Artix and Zynq; Intel (Altera) Cyclone and MAX; Lattice iCE40, ECP5 and MachXO; Microchip PolarFire |
| Debug tools | SWD and JTAG debug probes, oscilloscope, logic analyzer |
| Production | Factory test firmware, programming and provisioning for small batches |
| Deliverables | Source in a Git repository, build instructions, flashing procedure, release binaries |
// Process
From spec to shipped binary.
Spec and hardware review
What the firmware must do, how it talks to the outside world, and a read of the schematic so nothing surprises us later.
Board support first
Clocks, power, debug access and each peripheral proven on the real board before application code is written.
Build the features
Application logic, wireless and update path in milestones you can test, with a build you can flash at every step.
Test on hardware
Every feature exercised on the bench, with a scope or logic analyzer where timing matters.
Hand over
Source, build instructions, a flashing procedure, and the binaries for your first production run.
// Pricing
Quote-only.
Every firmware project is priced individually. Send the schematic and what the firmware needs to do, and we come back with a fixed-price quote split into milestones.
// FAQ
Common questions.
Do I own the source code?
Which microcontrollers and FPGAs do you work with?
Can you write firmware for a board you didn't design?
Can you add over-the-air updates to an existing product?
Do you write production test firmware?
Hardware ready, firmware waiting?
Send the schematic and what the firmware has to do. We'll come back with a milestone plan and a fixed price.
Request a Quote →