Thermal imaging with Flir Lepton sensor

Thermal imaging devices are still too expensive for non commercial use. But this doesn’t mean that those images can’t be interesting to play with on a hobby level. You could use this for inspecting electronics hots spots, detecting low temperature resistance areas around the house and do other crazy things. Andrew got a chance to play with Flir Lepton thermal imaging sensor, so he have written a driver to make it useful. Sensor has 80×60 resolution with 14bpp. This may seem low, but having in mind that each pixel detect temperature level, then it is more than enough to get useful data. He’s chosen an STM32F4 processor on a Nucleo board. The he attached Gameduino 2 which features FT800 graphical processor with fairly large LCD on top. Sensor module communicates over SPI interfaces (there is an option for I2C). In order to extend images for full screen on LCD, he used interpolation methods like simplest “Nearest neighbor”. For better results he suggests using more advanced methods like Bilinear/Linear/Sinc interpolations. Continue reading

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

Rising STM32F4 clock speed above the limits

STM32F4 microcontrollers are powerful enough for most of applications. Their max core speed is 168MHz. Newer seems are even 180MHz. Anyway iabdalkader thought that speed limit might be a part of marketing thing and so he started testing different speeds by changing RCC block values of microcontroller. Actually there is no hidden secrets here, but as always manufacturer states that running above recommended clock speed doesn’t guarantee proper microcontroller operation. He was able to rise speed up to 240MHz without noticeable problems. Temperature measurements have shown the overall rise by 4 degrees. After all this is great to know that we can squeeze more juice when needed, in other hand if you are looking for reliable device operation, better stick within specs. If not your program crashes, but in long run there might be errors in memory reads or simply this will shorten MCU lifetime. Continue reading