rf24boot: A universal over-the-air bootloader for all those uCs

Apparently I’ve come up to a point, when I want to do firmware upgrades for my home automation ‘over-the-air’. Since I’m using nRF24L01 dongles, I decided to write a bootloader for that.
While my pet antares project is slowly progressing towards the 0.2-rc2 release (honestly, really slowly), I’ve added the nice and shiny RF24 library (A port of maniacbug’s arduino library to pure C with no arduino dependences) to interface with nrf24L01 2.4Ghz dongles. I also fixed a few nasty race conditions out there on the way, but those are totally a different story.
So, what’s inside:

snapshot15
Continue reading “rf24boot: A universal over-the-air bootloader for all those uCs”

Toner transfer: Now in color and with silkscreen

If you follow up my progress, after [getting the hardware ready], [getting first awesome results] and [throwing up an ultimate test], I decided to see if I can go true color. Although black looks cool & gothic normally you want silkscreen to assist you while populating the board. So I got myself a nice’n’shiny Samsung CLP-365. I decided to stick to samsung for a reason. My ML-2167 toner is mostly dielectric (e.g. I couldn’t measure any noticeable resistance), it has a known melting point, etc. In other words – it is well-tested by me. If you are willing to do the same with a different laser printer, I suggest following these tests:

  • Print a thick layer on a sheet of paper, and press on multimeter probes. If you can’t measure any noticeable resistance – you’re good.
  • Take a magnet from an old HDD, and see if toner sticks to it. If it does – I’d better not use it.
  • Take a wire coil, hook it to inductance meter and see if inductance changes noticeable when you insert a piece of paper covered by toner into it.

In my case all three tests passed.
Unfortunately CLP-365 wasn’t as good as ML-2167. First, it didn’t like the toner transfer paper, so I had to stick a piece of it to a sheet of usual paper or stick a piece of duct tape to the place where it grabbed the paper. Second – it proved to be quite greedy. Even with ECO mode off it would produce the layers way to thin to stick while laminating. The following is what I got with it. I used my old ML-2167 to provide the mask for the etching phase, and the solder mask and silkscreen are created with CLP-365

Second test was actually printing two times on the same sheet of paper. That proved stick better.

Unfortunately I couldn’t apply the silkscreen, since this was the time the motor of my lamination machine stopped working. I totally forgot about it and left it working for over an hour heated to 176 degrees and that looked like the end of it. Some of the plastic casing melted… But the last board it produced looked sexy even without the silkscreen:

So on my TODO list is the following:

  • See if I can revive the lamination machine or get yet another one.
  • DO implement auto-shutdown in the firmware to avoid such fails in future (Really, that makes the whole thing worth the Hack-A-Day FAIL_HARD section!).
  • See if I can hack the CLP-365 in software or hardware way to use more toner while printing. foo2qpdl sources look like a nice place to start.
  • Get alternative firmware for my printer that allows cartridge refilling and stock on toner.
  • Grab some of that white toner from ebay, see if I can get it to work with the hardware I have around.
  • Clean up the software, and post the rest of it to github.

Oh, and BTW, I started posting the sources right in here on github
And have a look at more hi-res pics here

So far I’ve opensourced the hardware designs of the laminator control board and the firmware. Userspace stuff and web-ui will follow soon.

Toner Trasfer: Double the sides, double the fun

Next test of my new PCB toner transfer technique. After getting the hardware ready and getting first awesome results I decided to make an ultimate test. I wondered if I can make toner stick to something that it didn’t want to before. I had a small sheet of copper clad board that is (no joking) older than me.I really don’t know the exact year when it was fabricated, but if I would have to make a wild guess – that would be 1980s at the very least. I got it from my grandfather ages ago.

That looked like a good test subject. Mostly because no matter how hard I tried – I could never make the toner stick to it a few years ago. So it was lying in a corner as the years passed by for a very long time, waiting for the time to come.  Even more difficulties – the board will be double sided.

IMG_20140118_153807 Continue reading “Toner Trasfer: Double the sides, double the fun”

USB PCB Toner Transfer machine with Web Interface

I had planned on getting a lamination machine to do toner transfers for a long time. Unfortunately, I never came across anything that had manual temperature regulation, so I decided to take whatever was available and try it. As expected, the temperature was NOT enough for toner to even melt, no matter how many times you tried.

Great, time for an upgrade.

Continue reading “USB PCB Toner Transfer machine with Web Interface”

An attiny2313 usb2gpio adapter FAIL

They say on hackaday.com they’re running out of fails for their weekly fail series. So I decided to help them out a little bit 😉
Anyway, a few weeks ago I needed a few usb-to-gpio modules to drive switch some basic stuff on and off from an MK802 dongle. Usually I take an attiny2313 and etch a board for this purpose, but this time I was short on free time to do it myself.
The schematics are well-tested a long time ago. vusb powered firmware based on antares and lunartool applet for the host side are also ready and fully debugged. What could possibly go wrong in such a damn simple project?

However this time boards (already tested multiple times when etched at home) were a failure. Mostly because I was in a terrible hurry to reroute them, replace 2.54 pins with screw terminals, add mounting holes and send them to the fab…

IMG_20131223_184343

Continue reading “An attiny2313 usb2gpio adapter FAIL”

А у нас сегодня в сортире^Wсерверной деплой ;)

IMG_20131217_234554

Второе за этот год плановое обновление моей сортирно-серверной инфраструктуры от которой Вы и получаете эту страничку. Теперь это сладкая парочка из двух Odroid-X2: iceblade && fireblade. Заодно призвал красноглазого демона присматривать за всем этим хозяйством. Этажерку еще буду наращивать по мере того, как закончу оставшееся. И надо, надо таки запилить RAID-5 и поднять LDAP…

 

Yet another router upgrade

It’s been a while since I’ve done something really… EPIC. Like, REALLY EPIC. And that doesn’t sound nice, so I decided to pick another router and make it EPIC.

This time I picked a nice Mercury MW4530R, which is known to be supported by OpenWRT trunk (No bloody Openwrt patching/hacking this time, so no pain in rebasing a patchset on every update), and for 60$ is a deal. So, I got the hardware, and set down to work. Since a few people asked this time I even took the time to record a small video of the whole build. My thanks fly out to Dmitry Zganyaiko for his awesome music.

Continue reading “Yet another router upgrade”

Antares 0.2-rc1 released!

That’s it! It’s out. After two years of slow and steady development in my free time. Antares is a free and open source (GPLv2) buildsystem bundled with library code, aimed at bare metal targets. Sounds scary? Well, consider this an arduino for kernel hackers. If you are one – you have all the regular tools here: kconfig, GNU/Make, and no need to write Makefiles from scratch or collect sparse instructions over the web – just bootstrap a project, adjust the config to your needs and go!
0.2-rc1 is the first release that can be considered (more or less) stable for every day use. To find more about what it is and how it works – check out the README in Russian or English

snapshot9

Continue reading “Antares 0.2-rc1 released!”