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


DRUM-MACHINE is a device which is modelled on classic machines like the ROLAND TR808. However, this version is digital and not analogue in nature and only require a single microcontroller which is PIC24 in this case to work. The PIC has 128kb of memory which is enough to store audio samples. Another advantage of PIC24 is it is capable of running at 40MHZ of frequency which is quite fast. However the author switched to PIC32 in the later stages as he couldn’t get the prototype working. The advantage of PIC32 was that the user has full-access to flash memory s so it made the code part easier. Talking about the DRUM, the drum features 16 different instrument which are stored in flash memory along with 16 step patters with 16 pattern per song. It also has 8 sample polyphony, which are sample from classic drum machines. Another advantage is it can drive audio headphones directly or a speaker via a TPA301 IC. The data is displayed using a Nokia 5110 LCD and there are also a combination of 20 LED’s… Continue reading

PIC32 based TFT display board

Color TFT displays bring quite some value to embedded projects. First of all the information can be presented in graphical form and second most – it can be represented with colors. This is why more and more hobbyists like to use them. But once you step into this area you face lots of small problems that may cause some effort to accomplish. First of all, TFT displays come with small pitch film wires and connectors. Second, controlling LCDs may take time. Luckily there are many libraries written to get started with. Herpderp decided to try ILI9320 controller based TFT display. So he built a PIC32 based development board that connects 2.8′ TFT LCD with touch screen. At first he wanted to use one of existing libraries, but found that they are to complex for simple tasks. They tend to be more general and try to cover several controllers and so on. He redraw the library with things he needed and simplified it in to two main parts – drawing functions and basic GUI. From the looks of it software is… Continue reading

Neat computer resource usage monitor

If you want constantly to keep an eye on computer resources, then you should consider having resource monitor. Software based are easy to set up, but in order to view the info you need to activate the window. In most cases this isn’t convenient as it requires action every time you want to look. It is better to have all info in front of you what ever you are doing near PC. So Ivan started experiments with various set ups. First of all he thought to have a tachometer based CPU LED bar. But eventually monitor evolved in to compact and very informative display. And so, resource monitor is driven by PIC32 microcontroller which connects to computer via USB port. It drives RGB 8×8 LED matrix where each column indicates different resource: total CPU, CPU by user, RAM, HDD read/write, HDD space, network upload/download. Ivan put a paper sticker with letters on top of LED matrix that gives instant clue on whats going on. Follow more detail log here.   Continue reading

Yet another geeky universal remote

This universal remote is more dedicated to SetTopBox(STB) control. The fact is that Ivan wanted to make things more energy efficient and get more comfort. In order to make things working he used a PIC32 microcontroller board as base station which would receive IR commands from remote control. He connected his monitor to STB using HDMI and wanted to power this thing on. So he made it remote controllable. Another thing he did was added a PIR sensor which would boot on STB once movement is detected. So when you sit and click turn thing on – you get almost immediate picture. He also realized that RGB strip light in his room doesn’t need a separate remote. He made it work from same STB remote (where unused VCR/DVD/DVR are). Remote station reads command and sends IR signal to strip to turn ON/OFF or change color. Ivan claims that his solution allows saving about 61kW of energy a year. But probably most benefit here is comfort and feel of your own input into this. Continue reading

QR clock now with graphical LCD

QR code is capable to carry decent amount of information so it is suitable for encoding things like time. When you look at video it seems that it is some sort of alien clock ticking (the one you saw in “Predator” movie). All you can distinct here is a tick every second. If you need to tell a time you need to take a picture and decode QR message. Clock was build by Markus with original idea taken from LED matrix based QR clock. Clock runs on PIC32 microcontroller which decodes time signal from DCF77 receiver, then calculates QR code and displays on ST7735R graphical LCD at 30FPS. It has a nice feature programmed in. When clock is unable to read radio signal it displays time in greyscale and it gets colorful with plasma effect once it locks to DCF77 signal. I would probably add a digital time as well to the screen since QR clock is quite useless unless you are really well trained to read them on the fly 🙂 Continue reading

Sending data from ChipKIT UNO32 to Python3 via serial interface

In many projects we want to have connection to PC. In most cases a serial interface works fine. Using it we can read data, send commands or simply debug program running on chip. Embedded programmers are looking for simple way controlling serial data flow. In many cases simple terminal is enough, but if you want to add some intelligence to program, then you need something more. One of great choices is Python. It is free, multiplatform tool that enables running programs using smart scripting language. Strong community has written tons of handy modules – libraries to do various tasks. One of these modules is called pyserial which allows accessing serial ports using simple functions. Pyserial is successfully used in many great projects so why not continue using it. Things changed a bit when Python3 has been released. The problem is that all modules were written for Python2. Developers of Python 3 decided not to add backwards compatibility to ver2. So many modules stopped working in Python3. Luckily pyserial is supported in Python3. Tutorial from scienceprog gives a simple example on… Continue reading