UPDATE (2020-12-19): Jack from comments sent me new version that works, with slightly changed configuration for WAMP. Also notice that provider is now weatherbit.io. You need new api key. If you find any issues or have updates feel free to open issue in github’s issue tracker! Please no direct email contact. Code is up in Github repo.

UPDATE (2020-12-19): Servers are definitely offline. If someone has working copy of my project, please send it, so I can update repository on GITHUB.

UPDATE (2018-01-01): I have found out that the same set of scripts should be working also for “5-day forecast” application.

It seems that the *.netinfostation.com servers are offline. And so is the “4-day forecast” application. This probably leaves very many devices non working in the world. (sad)

I don’t like to have/see device that doesn’t work just because some guy decided to turn off their computer. So i have decided to write my own weather server. Details about how i have figured the format are <here>. (Updated: i have released most of the work, since manufacturers don’t care anymore)

Original server that was used server1.netinfostation.com. First thing to do, is to redirect all traffic to this server to the local computer. On windows/linux this is quite easy. Just add entry into /etc/hosts file. On windows this file is located here:


Edit as administrator and add line at the end: server1.netinfostation.com

Second you will need some server. I used WAMP (www.wampserver.com) which comes with apache and php (and mysql) in single package. Easy to install and setup.

Third thing you need is to download the set of scripts from my github repo and place them into c:\wamp\www directory.


After triggering refresh in the application, the scripts should retrieve the data from Weatherbit.io and serve them to the 4-day forecast application – and to your weather station.

If you intend to use this I suggest you register at weatherbit.io and add your own api key into the getweather.php script.

If you find this useful leave a comment or something :-)

AFSK (Audio frequency shift keying) was used primarily for slow – 1200baud – packet radio. Today it is mainly used by HAMs for APRS(tm).

The most common setup is to have radio equipment with TNC (terminal node controller) connected to host PC. Host is running some software that understands incoming packets and reacts to them. If you are a HAM you probably have radio and PC already. What you need is the TNC. General problem I found with TNCs is that they tend to cost too much – 100+EUR price tag is not uncommon for 5-10year old equipment, and new TNC models cost 200+EUR (lots of features not necessary for AFSK operation).

Read the rest of this entry »

Hobby king has been selling Turnigy SuperBrain Brushless motor controllers for quite some time. These BLDC motor controllers are unique for their functionality and price. Each of these units serves not only as controller but also logs various telemetry data of your system.

Read the rest of this entry »

Last time I went through junk in the basement I found old ZX spectrum.This was the time I got the great idea. Have the ZX spectrum implemented in FPGA. So after a bit of searching I found ZXgate project. This is exactly the project I have been looking for. It implements the peripherals of ZX Spectrum, just have to add CPU and some external parts.

Read the rest of this entry »

You have probably noticed there is more power in the STM32 processors than simple tasks can use. In this case you probably want to run some more “tasks”.
FreeRTOS has just the stuff you need – tasks, mutexes/semaphores, queues.
Unfortunately I ran into trouble with newlib and FreeRTOS not playing nicely as they should. Memory allocation (malloc) didn’t work as expected and caused the CPU to Bus-Fault. Then I realized there is another allocator in the FreeRTOS, and why does one need 2 allocators on embeded system ?

Read the rest of this entry »

Some time ago, I have added support to OpenOCD to be able to use Buspirate as JTAG interface.
This how-to will show you, how to setup all the things necessary.

Read the rest of this entry »

Now that we can compile stuff for ARM, we need a way to see what our code is doing.
Most (all?) of ARM processors have JTAG. JTAG is used to access the debug port on the CPU, allowing to change state, registers, memory, peripheral registers, etc. OpenOCD knows how to talk to CPU through JTAG.
We are going to show you how to setup OpenOCD with GDB and make them behave together.
Read the rest of this entry »

Few months ago I came across STM32 microprocessors. These processors are use ARM Cortex-M3 core, with clock up to 70Mhz, Internal flash, and RAM, Peripherals include DMA, SPI, CAN, RTC and lot of other.

Of course you need some compiler to develop application for this processor. Standard way of compilation for gcc will lead to very much usable toolchain, until you want to do something with floating point.

Read the rest of this entry »

I have finally decided to create a blog for all the things I do, and I’m interested in. This will mostly be related to embedded computing, programming and electronics

I hope that some (all?) posts will be useful in some way. Stay tuned :)