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

Generating 800×600 VGA on STM32F4 discovery board

There are several projects on internet where ARM Cortex-M3 is used to generate VGA. But in smaller micros there is always a problem with memory size which is used as frame buffer. So for instance STM32F103 could generate 400×200 resolution images. But things changes when STM32F4 is used. With it karlunt was able to generate 800×600 VGA monochrome signal without significant impact on CPU load. His starting point was Artekit project that needed to be adapted from new microcontroller. Most of data transfer is done by using DMA channel. Most of load is taken by timers and DMA, so CPU is almost free to do other tasks. During testing he found out several issues that are caused by ST Std Peripheral Libraries. For instance writing to register is wrapped by function which takes like 250ns overhead. This becomes important in timed applications like this. So he wrote his own macros to avoid these time gaps. Since CPU is mostly free it can be used to run almost any application where output could be standard computer monitor with VGA interface. Why… Continue reading

Stm32 box and bits

The idea of the project is to make a DIY Bit box console on a single chip which will be able to task like running a simple game. The basic idea is to have a 5x5cm cheap console bitbanging VGA from a stm32f4. This is how the prototype was designed. BOM is quite cheap, except the processor costing close to 10 Euros. It features a STM32 development board, which has a ARM processor on board with 64 pins and 1MB of flash memory including 192k ram. The output is a VGA based with 4096 colours which is derived from a 12-bit DAC. Talking about the software side, the author developed a test-program for the game engine including its driver a shoot’em up game. After the first prototype was developed, the author updated the kernel which involved getting the hardware sync with the software. With some hardware tweaks, he was also able to achieve a better VGA output without any distortion. The controller is a snes compatiable gamepad which also has a support to connect a keyboard. Overall the project, although… Continue reading