Developing Teensy 3.x projects with CodeSourcery

Teensy 3.x boards are powerful small modules that have breadboard footprint, but carry ARM Cortex- M4 microcontroller. The only problem most advanced developers may find is that it is made ready for Arduino IDE. Arduino doesn’t seem very convenient for serious projects. IDE is far from being useable. Also Arduino programming style hides many important things that aren’t optimal in many cases. So how to benefit from having Teensy3.x and avoiding Arduino nature? Simple – go with bare-metal programming. This might scare a little at the beginning as it needs setting things up by yourself like compiler, make files, linker.

teensy31_bare_programming

Karl have done most of this work by setting initial template for CodeBench Lite from Mentor Graphics. He’s using MS Visual Studio 2008 Express as IDE which provides all professional editing capabilities. He has made a blinky demo program to start with. Prorgams can be flashed with existing Teensy Loader application. By bare-metal programming you can be sure that you can squeeze most of microcontroller.

Read

Did you finish your digital thermometer?

I have noticed that there are lots of temperature sensor projects out there in the internet, but the question is how many of them end up to be left on breadboard. I also found myself not hawing one that I could do simple temperature readings when ever and where ever I need. Lets see another simple temperature probe which is also a breadboard prototype. But with some work can be made in to portable probe.

rahulkar built this thermometer using Attiny85 microcontroller and LM35 temperature sensor. His probe is able to measure temperature from 0 to 150ºC or in Fahrenheit (selectable with button). Since Attiny is small IC he used MAX7219 7-segment LED display driver which accepts serial data. So he placed five digits to display full range of temperatures. He programmed Attiny85 with Arduino code which takes only few lines. To make probe more useful I would change circuit a bit to extend temperature range to negative as sensor can measure from -55 to +150ºC.

Read

ISPnub – standalone programmer for AVR

Thomas Fischl is very well known for his USBasp AVR programmer. If you are looking for other AVR programming options, take a look at ISPnub stand-alone AVR programmer. This is really small dongle that can be used to flash microcontrollers in the filed without use of PC or other host device. Programmer is build by using Atmega1284p microcontroller which has only one button and couple indicator LEDs.

in order to program target, you only need to connect module to target using ISP connector ant press the button. The rest is taken care of by programmer. The trick of minimal design here is that targets hex file is stored in module microcontroller flash. It can carry max 120kB. In order to load flash in to atmega firmware, there is a special java tool used. So you need to merge target hex with ISPnub’s hex, then flash everything to module with ISP programmer and then module can be used to program micros. ISPnub is equipped with programming counter which allows predefined number writes. This might be useful if you do some commercial applications. In other hand the need to generate hex for any other firmware can be annoying. If so then you should look for other stand alone programmers with SD card or so.

Read

Arduino based solar panel controller

Using solar panel is a great way to harvest energy. But you cannot connect panel directly to battery or device. The angle of sun changes constantly, clouds appear what leads to solar panel output fluctuations. This is why a charge controller or inverter is used which takes care of smooth energy flow. Debasish Dutta have been successfully experimenting with solar energy harvesting and so he built solar charge controller.

solar_charger

He put Arduino to control the process. It takes voltage reading from solar panel and battery to be charged. Then according to voltage levels on either side he charges battery using PWM control signal. Energy flow is driven with MOSFET transistors that ensure low energy loss. He put significant effort in selecting right MOSFETs by going through transistor parameters and finding proper ones. Also his charging controller is equipped with basic filters on both – battery and solar panel sides. It seems really simple but efficient solution for hobby level use.

Read