masthead image masthead stretchable image

Electronic Circuits Projects

Here you will find some electronic circuits I designed. The relevant schematics are available, for educational purposes, to the interested experimenters;
note that, despite my best efforts, there could be some errors in the schematics, documentation, firmware, software or other resources and the reader is encouraged to do his/her own research before using the informations provided here.
Should you find any error or mistake, please drop me a line using the contacts form.

Project Description
Carburettor Heater for Motorcycles or Cars Carburettor heater controller with temperature and humidity sensing for automotive use
Bosch LSU4.2 / LSU4.9 controller Controller for UEGO (wideband) oxygen sensors (aka lambda sensors) for automotive use
Heart Rate Monitor Display and recorder for 5.3 kHz ECG/EKG (heart rate) chest bands
9V NiMH battery charger Constant-current battery charger for 9V, 170 to 300 mAh 9F22 (transistor type) batteries using an AVR ATtiny85
USB to UART interface with FT231X USB to Full-Serial UART interface using the FT231X IC, with bidirectional logic level translation 5V-3V3 and optically isolated TX and RX lines
ATtiny fuse bits reset tool Reset the fuse bits of an ATtiny13, ATtiny24/44/84 or ATtiny25/45/85 to factory default, or any other value, using High Voltage Serial Programming (HVSP)
Engine knock detection using an OEM wideband sensor A circuit that makes it possible detecting internal combustion engine knocking using a knock sensor and headphones
Non-contact current sense using a Hall sensor Sense the current in a conductor or PCB track using an Allegro A1324 Hall effect current sensor
A precision multiple outputs voltage reference A precision voltage reference for 4.096V, 2.048V, 1.024V, 450mV with max 0.1% to 0.2% error using a MAX6241 voltage reference IC
12V lead-acid battery desulphator My version of Alastair Couper's 12V lead-acid battery desulphator
Temperature control and display for a mini electric oven Control a mini electric oven temperature using a 12 positions roraty switch. A display shows the current temperature. I use this to control the temperature of an Iron(III) chloride solution for etching PCBs
AVR USB in-system programmer AVR ISP programmer: it is a modified version of the popular Olimex AVRISP-MK2 programmer and it uses the USB stack of the LUFA (Lightweight USB Framework for AVRs)
USB to UART interface with FT232H USB to UART interface using the FT232H IC from FTDI



Miscellanea

Here you will find some other resources concerning electronics: they are mostly Octave scripts (should work with Matlab too).
Sometimes the comments are in Italian, sorry!

Resource Description
download icon LTspice tips 'n tricks Some tips for Linear Technologies' LTspice SPICE simulator, e.g. how to add a model to a symbol, import and export data, etc


Description File type   Download  
find_in_library.sh : Recursively search for a component in all library files inside a directory (works with text library files like those used in Spice, EAGLE, KiCAD...) Linux Bash shell script download icon
AVR_USART_time_calculation.ods : calculates the time and number of cycles it takes to send one bit over the USART in an AVR ATmega8 Spreadsheet download icon
FerriteRodCoil.m : calculates the number of turns required to build an inductor on a cylindrical ferrite core Octave / Matlab script download icon
Amidon.Toroid.Core.Inductance.m : calculates the number of turns required to build an inductor on a toroidal ferrite core Octave / Matlab script download icon
ResistorSeries.m : contains the values of resistances for series E24, E48, E96 (it is used by other scripts) Octave / Matlab script download icon
Find_R.m : finds nearest resistor value in a given series (requires ResistorSeries.m) Octave / Matlab script download icon
Find_R_ratio.m : finds nearest R1, R2 values in a given series for a given ratio X=R2/R1 (requires ResistorSeries.m) Octave / Matlab script download icon
Attenuators_calculator.zip : computes the resistance values required to build an unbalanced (single-ended) resistive attenuator a.k.a “pad attenuator” Octave / Matlab script download icon
pspice.sanity.check3a.m : given a PSpice .csv output file, computes min, max, rms value for all the voltage or current signals (requires StampaSettori.m) Octave / Matlab script download icon
ltspice.sanity.check.m : given a LTpice .csv output file, computes min, max, rms value for all the signals (requires StampaSettori.m and tsv2csv.sh) Octave / Matlab script download icon
StampaSettori.m : prints an array using multiple columns to improve readability Octave / Matlab script download icon
tsv2csv.sh : converts a LTspice .tsv (tab separated values) file into a .csv (comma separated values) file to use as input in an Octave/Matlab script Linux Bash shell script download icon

This website is not optimized for any particular browser or device.