I had hard time finding it in a local computer shop. When I found it the clerk said “the Windows one ….. finished” But I wanted the Linux one “mhhhh….the white one is sold out !”, he said then. What the … this is not a Mac, “I want it blue !” I said.

At last he gave up and handed me the small treasure box.

Not a cheap computer, 300 Euro – no way to find it for less -  this could be a great present instead of a super sleek mobile phone.

This one worked out of the box immediately, the WLAN connected immediately to my access point, just set the encryption mode and key. My HP printer connected immediately : I just followed the instructions from a good forum and could print the test page in 10 minutes overall .

Made a few more hacks like getting rid of the Acer desktop and took out the XFCE desktop and made some others hack.

I had hard time getting my Bluetooth at work but I was sure linker3000 would make it and today, Oct 4, he posted an update with drivers and instructions ! I love this Linux community. Now I have my GPS receiver Holux GPSlim240 send its messages to the console !

Next step : have Processing run, as for now I’m getting the following

java: xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
./processing: line 17: 23577 Aborted   java processing.app.Base

Mini prototyping circuit for Arduino

Rapid prototyping circuits like Arduino are a great resource when it comes to testing a design without having to worry about the setup of the base to test the design on. The same applies to the devices to be attached to Arduino itself : most of the times the I/Os are potentiometers, pushbuttons, LEDs, displays, IR emitters and receivers and sensors in general. And I don’t want to bother with soldering when the the source code (the ’sketch’) is there ready to run.

That’s why I developped and setup a few circuits ready to go with Arduino or general microcontroller based circuits : they come complete with wires, plugs to connect the Arduino and a few safety devices useful to protect the circuit and Arduino from possible wiring and programming errors. Connecting a switch in parallel to an output instead to an input might break the microcontroller or switching the three leads of a potentiometer might break it.

Many of my circuits are based on the original mini PCBs coming from consumer electronics, that’s why I never dispose or completely dismantle scrap TVs or printers on VCRs and all of the electronic devices I scavenge or get from friends (real friends ! ). I always save small PCBs with switches, motors and else together with the wiring and connectors.

The IR receiver in the picture above is on the original PCB froma Sony TV. The LED could be connected through an SMD transitor on the back of the pcb to the IR receiver to monitor the IR receiver output for received IR pulses.

The same for the IR emitter : a small LED on the collector of the transistor provides for a monitor of output IR pulses.

A better view of the schematic is here.

Mini prototyping circuits for Arduino

This is an example of protection device where the wiper of the potentiometer has a resistor in series : in case the wiring is switched and the wiper is incorrectly connected to a supply rail, the power supply is not shorted through the potentiometer burning the pot and possibly the power supply. Voltage drop across the resistor is not much of an issue as Arduino’s inputs leak very little current.

A capacitor at the wiper helps filter out wiper’s electric noise.

A better schematic is here.

The same for the pushbutton : however connected, no more than 5/220A (i.e. 20mA) are allowed to flow across the pushbutton (or an Arduino’s output pin). The board with the switches comes from an HP printer: as a bonus three LEDs are sitting there on the board along with the connector and wiring leads. The golden pins are from some PC board : heat shrink tubing helps keep the solder firm and lasting. This for male plugs.

Female sockets can be made easily with dismantled wire-to-PCB connector contacts and, again, heat shrink tubing.

Mini prototyping circuits for Arduino On the left an RGB led with resistors (inside the heat shrink tubing. The piezo sensor on the right is a vibration/hit sensor. It doubles also as a piezo emitter. The schematic is here.

My R/C tank, radio & tank

This is the radio controlled tank I’m designing around the Tamiya track & wheel set (p.n. 70100) and the relevant Tamiya twin motor gearbox (p.n. 70097).
I’m not detailing the model tank design, though I’m available if you ask, rather I’d like to show you the details of the motor controller I designed to convert the digital radio receiver PPM output pulses to a PWM drive suitable for the two Mabuchi FA-130RA the twin gearbox is equipped with.

This is a video of the tank in action.

My R/C tank, side view

And a kill cam video…

The video gives some hints on how it works together with output waveforms.

The microcontroller (Atmel ATtiny24) monitors the two servo outputs of the radio receiver and measure the pulse lenghts.
The pulse length is then converted to a 0% – 100% PWM pulse output. The dynamics expansion is achieved through a one-time calibration : the two radio control sticks controlling the left and right tracks are pushed and kept full forward then ‘max’ button is pressed : the maximum input pulse lenght is measured and a coefficient is inferred and stored to EEPROM.

Then the sticks are pulled and kept full backwards and the ‘min’ button is pressed and the minimum pulse lenght is measured and a second coefficient is evaluated and stored in non-volatile EEPROM memory.

These two EEPROM-stored coefficients are nonvolatile and they are retrived at power up and used to expand the dynamics. The trimming operation can be repeated if necessary.

If the motors behave weirdly after trimming, probably the two buttons have been switched in the operation, e.g. max button pressed while setting minimum.

My R/C tank, the electronics

In the picture above the two small buttons are top left.

The two calibration buttons can be replace by two small berg contact of the kind found on PC motherboards for configuration.

The microcontroller uses no crystal quartz as the one time calibration compensates for the internal oscillator tolerance.

The brdige driver I took from an HP printer. Allegro Microsystems have many equivalents in different and smaller packages : should you need directions, just ask.

The schematic and the source code is here. The HEX to be burnt into the ATtiny24.

The code was developed with Atmel’s AVR Studio 4.

This whole work is licensed under Creative Commons 3.0 license : Non-commercial, Share alike, Attribution

Alessandro Lambardi – 2008 , some rights reserved