Level converter lets you use 5V hardware with 3.3V ARM chips

I’ve got a fair amount of equipment on hand for prototyping 5V projects. The problem is that I’m working mostly with ARM chips these days and that stuff is just sitting around gathering dust. I recently hit Mouser and started looking for what’s available when it comes to level converters. Most of them are either one-way, or have a pin that needs to be toggled to switch direction. But I found one chip that is bi-directional and sounds fantastic. TI makes the TXB0108. It’s got eight channels, one side of the chip works with 1.2V to 3.6V, the other side works with 1.65V to 5.5V. This is perfect, and will even let me prototype with some of those 1.2V EEPROM chips I bought by accident. Join me after the break to see the breakout boards I made and a quick test of the hardware.

Continue reading

How to expand the internal memory of your Android device

I have this Samsung Vitality phone which I picked up from a Best Buy sale last year for $50. Better yet, it came with a Bluetooth speaker that I didn’t need and I managed to net $28 by selling that on eBay. I love the thing, it’s not a high-powered device, but it works for web browsing and email. There is just one problem, it only has 137 MB of internal storage. And when I got it, most of that was already used.

I was visiting my friend Linus this week and he told me I could expand that by adding some of the SD card memory. We tried it but couldn’t get it to work. But I gave it another go today and figured out how to use ClockworkMod along with INT2EXT4+ to do the deed. Now, as you can see, I have twice as much free internal storage as the phone is supposed to ship with.

This should be possible with any Android device. Join me after the break and I’ll tell you how to make it happen for your phone.

Continue reading

Snake game on an ARM microcontroller

I’m starting to get accustomed to using an ARM chip and wanted to do a small project. I’ve always enjoyed playing the game of Snake, but never programmed it myself. I present to you Snake on an ARM Cortex-M0 microcontroller.

I’m using the STM32 F0 Discovery board along with a Nokia 3595 cellphone screen. The hardware SPI on the ARM chip makes it pretty easy to address the display. But I’ve written the program to be display agnostic. Keep reading for more details on the programming choices I made.

Continue reading

Load capacitors for Binary Burst clock crystal

Earlier in the summer I was talking to Bob Baddeley at a Sector67 meeting about my clock problems with the Binary Burst clock. I’m a little bummed out that I didn’t dig down and find the recommended application circuit for the RTC before I sent the board off for production. Bob suggested that it wasn’t a deal-breaker that I didn’t use a clock crystal with the same load capacitance, but that adding capacitors might fix the problem.

Continue reading

My first ARM project

I’ve been trying off and on for years to get into ARM development. But my insistence on using FOSS for development has proven a difficult hurdle to overcome. But recently I acquire an STM32F0-Discovery board when they were offering samples. I’m proud to say I managed to get to a point where prototyping for the hardware on a Linux box is easy. I’ve written a bit about it here, and have posted a basic template (including Makefiles) in a github repository.

Above you can see my first working project. I ported it over from an AVR project, it’s the discovery board driving a Nokia 3595 LCD screen. It’s nice to have a microcontroller which is already at the 3V levels this display expects. Right now I’m addressing it via software, but I plan to migrate to hardware SPI and look into generating video. We’ll see.

One of my other near-term plans is to put up a quick post about how to use my template to compile the STM example code. I found that the image shipping on the boards is just a bit different from the source they provided in the firmware package.