You are currently browsing the project tag archives.

ISEB Mark III – Electronics Done!

Posted 2012.10.27 11.30 in Computers/Internet/Technology

I could be wrong, but I’m pretty sure that as of this morning, I’ve finished the electronics on the Integrated Sensors Electronic Bracer Mark III. (Wait haven’t I said that before?)

I’ve mounted the last electronic component. It seems to be working fine. All that remains to be done from this point, is finishing the software and the new leather bracer. And an enclosure.

The last part was the micro TV-B-Gone that I assembled a while back.

I’m pretty happy with how things have turned out, even if it has taken a few months to get to this point. It’s all self-contained and even though there are a couple wires, nothing is going to be flexing around – it’s one solid unit.

One minor challenge is the name – ISEB-6 is not entirely applicable as the Mark III has more than 6 sensors… and ISEB-8 just doesn’t roll off the tongue as well. #madscienceproblems

Mark III Rev D – It’s Alive!

Posted 2012.10.21 10.40 in Computers/Internet/Technology

The ISEB-6 Mark III revision D is alive! I put the finishing touches on the soldering this morning. All that’s left now is finalizing the software. And making the actual leather bracer. And mounting the electronics. And building a slick enclosure. And…

Ok there’s a lot more to go yet. But still – look!

Isn’t it kewl?

The only real bother I ran into was the display’s only got 3 bolts instead of 4. It’s still sturdy, the data connections are all soldered solid. The problem was when I routed all the traces, I forgot to leave room on both sides of the board for the hardware. So the top-left corner under the screen has two SMD resistors that would short against the nut, and the bottom of the board has two traces that would be cut if I counter-sunk the hole to accomodate the flat-head bolt. Bummer.

Apart from the problem with that one bolt, everything else went together fairly smoothly. Mostly.

The image below shows it almost ready for the screen – the BMP085 is in place for sensing temperature and air pressure; the ADXL345 is in place for measuring accelleration. I’ve also added a white LED to serve as a flashlight, and with some creative snipping and soldering, I fit the Lillypad Vibration motor in underneath the screen too!

When the whole thing’s done and finished, I’ll be posting everything (code, board layout, BOM, assembly) so anyone can make their own ISEB-6.

Also noteworthy: there are still two available analog inputs (A0 and A1) and three available digital IO ports – B2, C2, and C3. Expansion possibilities!

I positioned C3 near the ICSP port so one could add a SPI peripheral by using C3 as a slave select (the display is already using the default SS pin). C2 is on the sub-board with the buttons, to allow expansion there. The other three available I/O pins, along with the I2C bus and power are available at the top edge of the board for easy expansion.

Building & Testing

Posted 2012.10.20 9.59 in Computers/Internet/Technology

Last night I started the build of the latest version of the ISEB-6 circuit board. So far it’s all been surface-mount parts, but I was able to get it to this point using a standard handheld soldering iron with a fine tip.

The smallest-pitch part is the FT232R chip (USB to serial) which has 28 leads that are only 3/10ths of a millimeter across, and about 3/10ths of a millimeter between each pin. That’s basically soldering with your nose to the board, the soldering iron right next to your face, and while using a 5x jeweller’s loupe to see what you’re doing.

At least, that’s my technique.

Apart from the microcontroller and the USB chip, I’ve installed & tested the GPS module, temperature sensor, humidity sensor, light sensor, a voltage-divider for monitoring the battery charge, the voltage regulator and the LiPo charger. And of course all the sundry supporting passive components, and a smattering of LEDs.

There’s only about a half dozen surface-mount parts left to be mounted. The three remaining ICs though are tricky. They don’t have leads – they have pads on the bottom, so you can’t actually get to them with a soldering iron.

To get these soldered, I need to use a hot air tool and some luck. There’s the air-pressure sensor, an accellerometer, and the magnetometer. I’ll put them down in that order (from least-complex to most, and least-expensive to most.) and test between each one to ensure they’re working. All three use I2C so it’s pretty straightforward to test if they’re working or not.

Then the last bit of work on the circuit-board is to mount the display screen. This will require a little bit of hardware work to securely mount it with the mounting holes. It has to be last since it covers some of the other circuitry.

And after that, the leather-work begins – making a new wristband, and mounting / enclosing the circuitboard.

Testing! Pow!

Posted 2012.07.11 23.58 in Computers/Internet/Technology

All my pent-up impatience just came buzzing out all at once.

With my shiney new circuit board in ┬áhand, I started soldering up the bare minimum for testing – LiPo charging circuitry, voltage regulator, ICSP port and FTDI port. And indicator LEDs.

So far so good, the voltages were good and the LEDs worked ok. Mind you, I didn’t use the good LEDs on this. No, I already knew there’d have to be another revision because I made some mistakes on the boards…

Anyhow, power tests were passed so I added the micro-controller — an Atmel ATMega1284P — and an 8MHz resonator. Tricky soldering – the pins on the micro controller are 0.4mm wide and have 0.8mm centre-to-centre spacing. There’s 11 to a side.

My two biggest concerns at this point were that a) I might have botched up the soldering, and b) I might have totally botched up the circuit board when I laid it out.

So I plugged a programmer into the ICSP port and tested it, and presto! I had communications!

My plan was to continue using the Arduino IDE to program for this, and fortunately there was already a ‘duino based on the 1284p, called the Sanguino. Unfortunately it isn’t up to date with the latest (1.0.1) version of the IDE, and I’ve migrated everything to 1.0.1 so I ended up not using the Sanguino setup.

The only thing I did was take their 1284p bootloader, and modify it to match my board layout. Then I created my own 1284p variant in the IDE and set it to work with my customized bootloader.

I had done all that last week and without any way to test, so my first real test today was to burn my bootloader. This worked (so the microcontroller, resonator, and ICSP were definitely working correctly) but I could not write sketches from the IDE so I wasn’t sure if I had screwed up the FTDI port or not.

Further testing however revealed that my 57600baud bootloader was too ambitious for the 8MHz clock speed. At 19200baud the bootloader runs just fine, albeit slower.

So another passed test! I had working power, a working micro, working ICSP port and working FTDI port.

Next thing was to plug in a screen. That was slightly challenging as my big blunder with this board was laying out the screen at the wrong size – the holes on the board are too narrow for the holes in the screen. And I didn’t want to hook the screen up permanently since the board isn’t final. So I put in some female headers, and bent a few to fit in my misplaced pin holes.

And voilla! The screen works!

Lots of successes for a single night, but I’m not going to continue populating the board. I’ve left off all the sensors as they’re the most expensive parts (gps + compass + humidity + pressure = $85). I have to go back to the ‘drawing board’ and start fixing all the mistakes I made on the board.

I’m also running some additional tests, as I’ve noticed some problems with the ADC readings (analog, eg. temperature and voltage) that shouldn’t be happening, and I have to figure out if they are software or hardware.

Still, not bad for a single night – and it gives me stuff to work on for the next few nights.

The Fun of It

Posted 2012.06.04 22.25 in Computers/Internet/Technology, Pointless Blather

So last week I did a write-up about my ISEB6, parts of which ended up making the rounds on various maker / tech blogs. I noticed a lot of people were wondering why someone would bother doing this? Why ‘waste’ so much time, money, energy, and effort making something like this?

The simplest answer is, for the fun of it.

Sure, there’s a level of enjoyment to be had from simply having the finished product, from using it. There’s the utility of it – it was designed to do a thing, and it does that thing. There’s the sense of novelty, that one might get from any new toy, be it a cellphone, computer, tv, or whatever. In this case all that is augmented or magnified by the fact that I built it myself.

When you build something yourself, you have the sense of achievement, in seeing something through from initial concept to final build. You have the knowledge and experience gained, from learning the hows and whys and whats. And you have the pride of knowing that you made something – you set a goal for yourself, and you accomplished it.

And there’s the sheer fun of solving problems and challenges. Physical computing projects like these give you the opportunity (or the challenge) to work with very limited resources. How many functions can you include, how many features can you code, when you are limited to 32kB in which to fit your entire program? And when you have only 2.5kB of RAM in which to execute that code?

Wearable projects add two more dimensions of limitations: Size and Power. How many features / peripherals can you add without making the whole thing too big / heavy / unwieldy? And how much power does everything draw? How long will it run before you need to recharge, or do you need bigger batteries?

I’ve seen a few comments that basically asked, why not just strap a smartphone to your wrist? The simplest answer there is, that’s not what I wanted. That might work for some people, of course. Find something that someone else has built that’s close enough, or good enough, buy it, settle for it.

Why settle though? I live in a world where if you want a specific product to do something the way you want it, if noone else has built exactly what you want, you build it yourself. Build it yourself and you have exactly what you want, the way you want it. And if it ever breaks, you have the know-how to fix it.

(A close runner-up is, buy something that’s mostly there, then hack it to make it perfect. Add those features, fix those functions, and get exactly what you want that way.)

Stuff does break of course. Especially when you’re building and experimenting and learning, all at the same time. Sometimes it’s part of the fun of the challenge, sometimes it’s less fun but you still roll with it. Last week the OLED screen died, I never figured out why but luckily I had a spare so I just replaced it.

Two days ago the Micro-USB port snapped off the LiPo charger. I consider that a component failure since it’s supposed to withstand plugging and unplugging. I didn’t have a spare charger board, so I’ve contacted the manufacturer to ask about a replacement, and in the meantime I did some delicate solder-surgery to enable me to keep using the broken one, for now. (That was less-fun.)

And since that write-up last week, I’ve made a dozen revisions and upgrades to the software, changed / improved some of the leather work, switched out the dull dark hardware for shiney brass, and added brass snap closures to keep it on my wrist instead of the elastic string I had started with. I still plan to redo the top leather layer to make it more attractive.

That’s part of the fun too – projects like these are never really finished. You can go on improving them, enhancing them, upgrading them, until the next big idea comes along.

Integrated Sensors Electronic Bracer

Posted 2012.05.27 23.34 in Computers/Internet/Technology, Hobbies

Introducing the Integrated Sensors Electronic Bracer (6), or ISEB6, a wrist-mounted sensor platform.

A comfortable wrist-worn leather bracer, that provides: time & date, compass heading, Exposure Value for photography, positional data, walking tracker (distance, time, average speed), galvanic skin response data, local temperature and humidity data, “alarm-clock” functions (alarm by time or countdown seconds alarm), and simple illumination / flashlight functionality.

The ISEB6 is powered by a small / lightweight Lithium-Polymer battery, running up to 48 hours usage on a single charge, and with a simple & fast on-board recharging system.

The ISEB6 is based around Sparkfun’s Pro Micro development board and Adafruit’s SSD1306 OLED display screen. The number six in the name refers to the number of sensors integrated into the bracer. It contains the following sensing circuitry:

  1. Illumination is measured with a TLS2561 digital luminance sensor.
  2. Magnetic fields are measured with an HMC6352 digital magnetometer.
  3. Location is detected with an MTK3339 GPS module.
  4. Humidity is measured with an HIH4030 analog sensor.
  5. Galvanic Skin Response is measured with a simple resistor dividor and gold-plated electrodes inside the bracer.
  6. Local temperature is measured using the on-board temperature sensor in the ATMega32u4 microprocessor.

In addition, the ISEB6 also utilizes two voltage sensors, but as these only monitor its own internal status they are not counted among the ‘listed sensors’.

Read more »

Oh. My. Goodness.

Posted 2012.05.20 7.51 in Computers/Internet/Technology

I have to confess, when I soldered the final power connection and this came to life on my wrist, I kind of geekgasmed a little bit.

Yes, I mounted the parts and did the final soldering with it already on my wrist. It was the only way to be sure things would have the right fit and feel. And it was damn fun too, despite being awkward – soldering iron in my right hand, holding the solder in my teeth, keeping my left hand still…

In the photo above, it’s still ‘just’ the bare circuitry and power supply mounted to a leather bracer. There is still some debugging to do of the software. And I have to finish the exterior.

When completed most of the goodies will be hidden under a top layer of leather, with openings of course for the screen, light sensor, etc. but the idea is that the delicate parts will be protected.

The only thing it doesn’t have yet, is a proper name. It’s kind of a wrist computer, except it’s not really a computer. I’ve been jokingly refering to it as the Wrist-mo Comp-ulator. I’m not sure I want that name to stick.