Posts by Kenneth MacCallum

Toyota’s recent $1.5 million jury awarded loss in an Oklahoma court illustrates it’s pretty much impossible to write software without some third party code creeping in.  IEC62304:2006 calls this “Software of Unknown Provenance” or SOUP, referring to software with unknown safety-related characteristics, or developed under an unknown methodology.  I know the situation very well.  Operating Systems, code libraries […]

Throughout the development of a product there are technology-related project risks that have the potential to negatively impact budget and timeline. At StarFish, our development process defines medical device proof-of-concept (POC) prototypes to mitigate these risks, either by resolving the uncertainty one way or the other, or by testing the use of a new or […]

Invariably when developing a medical device, there will be technologies which are required and which have already successfully been implemented by others. Maybe it’s a circuit, like a DC/DC converter or even a single-board-computer; maybe it’s a software library or a particular logic implementation. It could be the choice of an existing communication protocol versus […]

Bjarne and Trevor have both written some compelling perspectives on the use of microcontroller firmware, particularly about how to constrain its scope. Here’s another perspective. Recently we had a discussion about a new product we’re developing and the role of firmware in it. Trevor suggested that the entire functionality could be achieved completely in logic […]

The simulation I’m talking about is the use of computers to numerically model the behaviour of a system, particularly an electronic or electromechanical one. Typically this is done using a tool called Spice, although often MATLAB, FreeMat or even a spreadsheet can be used effectively. This method allows detailed exploration of system performance over a […]

Does this conversation sound familiar? KM: How’s the product design going? EE: The PCB designs are done. KM: How do the boards connect to the motor, heater, laser, each other, etc.? EE: I put connectors on the board. We’ll wire them up. KM: When will you do that? EE: When the boards arrive. I have […]

An interrupt is a software routine which is executed whenever a specified hardware event occurs. They are often used in real-time microcontroller based subsystems of medical devices to ensure that the data associated with an event is processed in a timely manner. Typically the microcontroller has many event sources such as UARTs, ADCs, SPI ports, […]

Most products nowadays have microprocessors in them. They are inexpensive and flexible but sometimes are not quite up to the required functionality. Perhaps some tasks are too intense or frequent. You might then consider using a field programmable gate array FPGA to augment or even replace the processor. An FPGA is a general purpose chip […]