This is a very interesting thing to do, it like some sort of puzzle for engineers. When I’m interested in developing something, I can design the schematics and PCB (using Eagle CAD), manufacture the PCB at home (double sided, wires instead of vias, up to 0.2 mm width of traces and 0.2 mm width of spaces), solder all required components, develop required firmware for the used MCU, also develop some software for computer if required. I mostly focus on devices which interface other devices through digital interfaces (no analog parts if possible), because I’m fine with digital logic (and I’m not any good in analog area), the device electronics can be kept minimal and the most of the work can be done in firmware / software.
Technologies I use(d):
- Eagle CAD - for schematics and PCB design
- C programming language - for writing firmware
- C++ programming language - for writing control software for computer (if needed)
- Qt framework - used with C++ for UI, XML processing, threads, and everything else
- assembler - ARM and Thumb, AVR (Atmel MCUs), Analog Devices BF531 (BlackFin DSPs), Intel x51 (for AT89C2051 MCUs), Motorola 68k (on Atari), Intel x86 (for PCs)
- IDEs - Qt Creator, MS VisualStudio C++, ImageCraft AVR, Atmel AVR studio, Analog Devices Visual DSP++, Keil uVision