Summary of element14 Roadtest Challenge: Wireless Power Solution

Fun video with demos:

Train at 1:05 (I got a bit carried away), Qihuahua at 2:23

Tech details:


Hello! The last months I haven’t posted anything on this blog, which is a bloody shame. However, I’ll compensate with this blog post. A few months ago a fellow Tkkrlab member told me about his project to let a remote controlled LEGO train run via a web interface. He had this up and running, but got tired of constantly changing the batteries and started looking at wireless charging systems. Around the same time, element14 started a RoadTest with a combined Wuerth / TI demo kit for their new industry standard Qi wireless power transfer solutions.  I applied for the RoadTest, and was happy to be selected as a candidate to try out this new hardware. But…. then element14 changed the rules, and instead of a regular ‘RoadTest’ (use the hardware & write a review) this became a Roadtest Challenge; a design competition between 6 candidates. You can find the element14 blog posts here, but I’d like to make a personal summary on this page. Below the progress of two months designing and hacking!
Continue reading

Open Power Functions

I’ve been working a lot at my Lego Power Functions receiver, I’ll summarize what’s been going on:
– I’ve had a lot of trouble with the motor driver; during development I added some series resistors to the motors I used, which kept the driver running at all input conditions; now I’m trying the real LEGO motor, I run into some issues with a driver IC. I can’t sort out how to solve them, so I’ve replaced the motor driver IC. This unfortunately means that the solderability of this board has moved to ‘undoable for people without hot air guns’.
– I’ve asked LEGO whether I would be allowed to sell this design, and with some restrictions, I am! Hooray! Maybe I can a little money with this, that would be very cool….


2D glasses

My girlfriend and I both get a headache from watching movies in 3D. Unfortunately, a lot of animation (Pixar, Disney) movies are not shown in 2D anymore. When I found really cheap 3D glasses online I ordered a pair to do an ‘optical hack’; I swapped the left glass of one with the right of the other so I’ll be looking at the movie for the right eye, and my girlfriend is looking at the movie for the left eye.


It works! But… I viewed most of the movie in 3D anyhow with the glasses supplied by the cinema. Looking at 2D doesn’t give you the fancy bonus of 3D animation, but stresses the fact that you’re sitting in the cinema wearing sunglasses. The colors aren’t bright enough, and everything is a bit brownish. Also, the filter doesn’t block the other image 100% , so you end up with a faint dropshadow. Probably that also happens with the ‘normal’ 3D cinema glasses, which explains the headache; your brain is constantly processing unclear information. Next time I’ll rent the DVD 😉
One question that remains with me: is a lot of improvement possible in image quality when using better / more expensive glasses? Please comment…

Open Lego Power Functions RC

At this moment I’m working on making an open source Lego Power Functions receiver, with the same functionality as the ‘normal’ infrared receiver, but with some extra features:

  • Servo output
  • Xtra small size (standard 2×4 Lego brick)

How did this get started?

Some months ago my nephew asked Lego Power Functions for his birhtday, and it triggered my interest immediately. Motors, batteries, LED lights in combination with LEGO, that sounded like what I had been doing with my brother years ago (he building the lego, me adding lights and sound and locomotion). After searchin a bit on the internet I found that LEGO has ‘opened’ the standard they use for the infrared protocol, and published a nice pdf with protocol info. So far, no one has made an open source receiver. I thought it would be interesting to see if I could  squeeze the receiver into a standard brick, and then let others build new and amazing constructions with that brick. Back to my roots: me doing electronics while someone else uses those electronics to build nice LEGO contraptions!

What is the status?

I’ve coded most of the protocol, only the ‘timeout’ feature has to be implemented. I’ve used an Atmel Attiny44A as microcontroller, and a TSOP4136 infrared receiver. I can now succesfully receive the two modern remote controls, still have to test the old fashioned train controller. Servo output is now also working on my prototype. I still have to finish my design, see how well the code behaves and measure some features of the original receiver to better mimic its behaviour in cases that are not -completely- described in the protocol document

What are plans for the future?

I’ve ordered PCB’s for a final / better prototype including motor controller, and I want to test that before making any sources public. When I’m happy with the performance I’ll open source everything: schematic, board file, firmware and my design considerations. Also, I’m planning to do some writeup on the codes used by several transmitters.

Are you looking for help?

Well, maybe someone could help me build a nice LEGO vehicle using (and showcasing) the small form factor. You’d need to house a battery, a 2×4 LEGO brick and any motor / servo to your liking.

Can you show us something?



Stay tuned for more!

Debugging a micro servo

Recently I bought some VERY cheap micro servo’s. And as the saying goes: “if it looks to good to be true: it probably is”. I bought 2 ‘Micro servo 9g’ servos for 8 Euros including shipment, and on arrival both worked like a charm. After 2 days one of them started spinning around like crazy, and I wondered if I could repair it.


The first thing I looked for was trying to get the motor to stop turning while the servo was opened and all the gears were removed, just by turning the potmeter manually. The motor kept on turning. I took a closer look at the electronics:

As you might see (pictures were taken with telephone camera through my son’s magnifier glass) pin 1 isn’t soldered at all! I soldered this pin, and the servo started acting somewhat normally again AFTER receiving it’s first update.


Somehow the gear that attaches to the servo ‘slips’ in this broken servo. At startup it tries to find its center point, but I see the gears turning and turning, although the end stop of the potmeter should prevent the servo from turning further. When I rotate the shaft manually (without gears) I could not force through the end stop.

You get what you pay for

Did I get what I paid for? YES! I do have the servo working somewhat again, and for the price I paid that’s quite a lot. I’m always interested in how these things can be made so cheap. The reasons I’ve seen in this example are a very low cost carbon strip potmeter, a chinese motor driver chip (KC5188) used without the external FETs that are recommended (? or obligatory ? I’ve copy-pasted some text from the datasheet to Google translate to try to understand something of the IC). Mechanically, the grease used looks and feels more like lard than ‘normal’ grease, and in this case the output gear obviously is not attached well to the output shaft. Furthermore, 5 wires are hand-soldered between the motor, potmeter and control electronics, which makes me think WHO can solder 5 wires in such tight space for so little money…..