Background · 2000–2005

Electronics

Microcontroller-based devices designed and taken through to a working prototype. This is past experience too: my work today is software.

Between 2000 and 2005, with Abel S.r.l. — the consultancy I founded — I designed complete electronic devices: the digital board, the analogue front end, the firmware and the interface to the PC.

Medical projects to the EN 60601 standard, with Microchip PIC, Hitachi H8, Cypress PSoC, Motorola and Atmel microcontrollers.

The whole story →

Printed circuit board

Skills

What I worked on

Selected work

What I designed

Electrostimulation and biofeedback device Hitachi H8S2633 · EN 60601 · 4+1 channels

A complete electrostimulation and biofeedback device to the EN 60601 standard, with four stimulation channels plus one auxiliary channel.

Digital board:

  • Hitachi H8S2633 microcontroller, 12 VDC supply
  • 12-bit ADC and DAC converters
  • AMD Flash memory, external SRAM and NVRAM
  • 320x240 graphical display (SED1355) with a resistive touch screen
  • NiCd battery charging circuit, optically isolated RS232 connection
  • Expansion bus for the electrostimulation channels

Analogue front end:

  • Electrostimulation signal amplifier
  • Closed-loop regulation in voltage or current
  • Overcurrent control circuitry and electrode detachment detection
  • Conditioning and filtering of the electromyographic signal
  • 4 stimulation channels (120 mA, 120 V) with biofeedback, 4 auxiliary channels

Firmware:

  • Generating two stimulation waveforms through DMA channels, up to 1 MS/s
  • Sampling and conditioning the electromyographic signal: low-pass software filtering, 50 Hz notch and envelope
  • Running the programmed stimulation and biofeedback protocols
  • Full control of the graphical display with touch screen
  • Runtime connection to the host PC
Programmable controller (micro PLC) Cypress PSoC · 12 inputs / 8 outputs

A programmable controller for general use.

  • Cypress PSoC microcontroller, 12 VDC supply
  • 12 optically isolated digital inputs, four of them on interrupt
  • 8 optically isolated digital outputs
  • Two RS232 / RS485 serial communication devices
  • Non-volatile SRAM, alphanumeric LCD display, expansion bus
Digital iontophoresis device Cypress PSoC · voltage and current channel

A device for iontophoresis applications.

  • Cypress PSoC microcontroller, 12 VDC supply
  • One voltage-regulated channel and one current-regulated channel
  • Galvanic and pulsed current generator
  • Alphanumeric LCD display
Saccade experimental device Hitachi H8S2633 · 37 speakers · 37 LEDs

A device generating acoustic stimuli (37 speakers) and optical stimuli (37 LEDs) in a programmed sequence, with acquisition from external sensors on four channels at 500 samples per second.

  • H8S2633 microcontroller, 12 VDC supply
  • Two RS232 / RS485 serial devices at 115200 bps
  • Front-end circuitry for the 37 speakers and 37 LEDs, each independently selectable
  • 1 MB of external SRAM
Graphics library for graphical displays SED1335 · touch screen · C

A set of graphics APIs for the SED1335 controller, plus a basic window system with touch screen support.

  • APIs for controller initialisation and for drawing points, lines and bitmaps
  • Basic widgets: buttons, images, numeric up/down, gauges, labels — each can be bound to a state variable and to event handlers
  • Virtual alphanumeric keyboard for the touch screen
  • Resizable monospaced charset (8x8, 8x16, 16x16)
Flash File System AMD Flash · firmware

A basic filesystem for AMD Flash memory, managing a single folder.

  • File commands: list, rename, delete, create
  • Folder formatting
Communication libraries OMRON HL · MODBUS RTU · ROBOX BCC

A set of communication libraries for the OMRON HL, MODBUS RTU and ROBOX BCC protocols.