Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

USB powered power amplifier for your PC

I faced this article when I was looking for simple solution how to increase the output of my integrated sound card of my PC. I don’t know why, but the sound level of it decreased so I can’t normally listen with my headphones. So this article is about how to increase the power of your PC sound card by using minimal amount of parts and USB power supply. This might be good solution to all of those who have PC with integrated sound card into motherboard. The main problem is that outputs of such sound cards are for active acoustic systems, this means that speakers must have power amplifier built in. If you decide to connect a headphones sometimes it might be not enough to provide required sound level. If you are an electronics amateur, you can solve this very easily. You may build your simple power amplifier by using well known Philips operational amplifiers. Lets say we use TDA7053 amplifier. The TDA7053 is an integrated class-B stereo power amplifier in a 16-lead dual-in-line (DIL) plastic package. Which requires minimal amount of external parts. This is a very simple solution for easy, quick and quality design. One of board solutions…

Continue reading

Set up AVRStudio to use AVR-GCC compiler

After release of AVRStudio4 there is possible to integrate AVR-GCC compiler in to it. As you know AVRstudio is a powerful tool which has assembler compiler- debugger, programmer, etc. Integration of AVR-GCC to it makes this tool much more powerful and more complete playground for developer. Plugin which is built in AVRStudio detects AVR-GCC compiler by it self, so you don’t have to bother how to tie them together. And here we go – full set of good tools comparable to commercial. Convenient user interface, automatic makefile generation, visual debugging by watching processors register, or even you can flash the chip. How to set up the working environment? This is simple. First of all you have to download WinAVR20060421 and install in you machine. Then download AVRStudio Version 4.12 and service pack Service Pack 3 and install it in your PC. And… that’s it. You are set. Now open AVR Studio and select menu->Project Wizard->New project. In a Welcome AvrStudio4 Screen select Project Type AVR GCC enter project name, select Create Initial file if you want to initial c file to be created. Select Create Folder to put project files in separate folder. Enter initial c file name. And browse…

Continue reading

Run WinAVR from portable media

It is not always convenient to install WinAVR in separate working places. There is now a solution that you can run your WinAVR development tools directly from portable media like USB memory stick. You can download it from here Portable WinAVR its Free. Whats included in package: Ready-to-run Portable WinAVR and sample projects ; Full ZIP archive with Portable WinAVR distribution; Reduced ZIP archive with only Portable WinAVR supplementary files; optional: ZIP archive with sample projects Quick start guide of portable WinAVR is available here: PortableWinAVR-QuickStartGuide.html

Continue reading

ARM Development Tools

https://www.arm.com/ Professional information about ARM microcontrollers; https://www.codesourcery.com/gnu_toolchains/arm.html develops improvements to the GNU Tool-chain for ARM processors and provides regular, carefully tested, pre-compiled releases of the GNU Tool-chain; https://www.EmbeddedArtists.com/ Ships pre-setup GCC build environment with all their Quick-Start Boards/Kits; https://www.embedinfo.com/ Embest IDE for ARM, include Compiler,debugger,editor,project manager,flash programmer,JTAG Emulator, Low cost; https://www.iar.com/ Embedded Workbench for ARM7,9,11 C/C++ compiler; https://www.keil.com/ IDE,Debugger,Simulator which work with GNU, ADS/RealView, and Keil CARM Compiler; https://www.billgatliff.com/ Introduction to GNU tools on ARM https://www.ghs.com/ Green Hills Multi 2000 Compiler suite,JTAG probes, Integrity RTOS; https://www.rowley.co.uk/ ARM, MSP430 tools for Windows and Linux https://www.metrowerks.com/ ARM tools to compile Linux from Windows https://www.modularcircuits.com/gcc_arm.htm GCC 3.3.1 for ARM targets, compiled under MinGW. https://www.aeolusdevelopment.com/ Newlib porting layer for LPC210X https://www.gnuarm.com/ GCC tools for ARM, precompiled for Cygwin, Linux and MacOS https://www.forth.com/Content/Products/SwiftX/SwiftX.htm Forth for embedded ARM systems https://www.mpeltd.demon.co.uk/forth6.htm Forth for embedded ARM systems; https://www.lpc2106.com/ SBCs, C-Compiler, Development-Kits; https://rod.info/arm.html GNU tools (binutils, GCC, newlib and Insight/GDB) build script and tarballs for Linux; https://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/ The gnu-toolchain and several tools and samples for ARM controller/processors for MS-Windows-Platforms supported by Martin THOMAS.

Continue reading

Basics of project file in VMLAB

Lets say you have created a project like in earlier lesson. Then you can see the project window: project file has extension *.prj. In this file comments are marked with character “;” and directives “.” In example you see the directives describing microcontroller and its compilation settings. They are created using project wizard. Then another directive is .TRACE which enables tracing of program flow. Then follows directives describing working schematic of project. “.POVER VDD=5 VSS=0” means that microcontroller is powered with 5V voltage supply source. “.CLOCK 1meg” means that microcontroller is clocked by 1MHz generator. “.SORE 250m” means amount of ms stored in internal oscilloscope emulator. This parameter is set automatically depending on your RAM amount. But you can change it to other value. This group of parameters are set by default when you select project properties in wizard and create it. Source: www.avr.h15.ru

Continue reading

Interfacing PC keyboard to AVR microcontroller

Properties: Interface AVR to standard PC AT keyboard; Only two I/O lines used. One line is also connected to external interrupt pin of AVR; No external components is needed for interface; Included C source reads from keyboard interface and converts to serial In many situations you need some kind of human interface to your microcontroller project. In this example is interfacing AVR microcontroller to standard PC AT keyboard described. Physically interface looks as in picture bellow: In a keyboard interface signal lines are open collector with pull-up resistors. Keyboard cable connectors can be DIN or Mini DIN (We are not talking about USB interface): According to keyboard timing diagram in bellow picture the keyboard transfers data to host AVR microcontroller. The protocol is: one start bit (always 0), eight data bits, one odd parity bit and one stop bit (always 1). The data is validated during the low period of clock pulse. Clock signal is generated by keyboard and pulses are about 30-50us low and high. The keyboard has a scan code associated with each key. When key is presse – the code is transmitted. If key is is hol down for a while the code is transmitted repeatedly (about…

Continue reading

Clockless CPU design

Clockless CPUs are so called asynchronous CPUs where are not clock generator needed which clocks every synchronous operation. Asynchronous processors gives results not after defined number of clocks, but after it finishes operations. This is a key of effective usage of energy and asynchronous processors generates less noise than synchronous. Asynchronous processors have couple advantages against synchronous: Components can run in different speeds inside clockless CPU while clocked CPU components are tied to clock generator. Clockless CPU operation stages doesn’t depend on clocks and can be finished faster than normal and there is no time gap between stages as there is no need to wait for next clock cycle. For instance in it can show results of operation rather than waiting for next clock cycle like it is in sychronous CPU. So why asynchronous processors aren’t so popular? There are many factors but I think the biggest is historical, because instead asynchronous technology engineers of middle of nineteenth century decided to develop synchronous technology as they looked potentially more productive, reliable and there were easier to project them. So now there is a lack of professionals in this area. In other hand it is problematically to match synchronous and asynchronous…

Continue reading