Monthly Archives: August 2013

Weekly Report August 25 2013

I got my STM32F2 to jump to the built-in system bootloader. Also figured out that the default function for sending out SWO debug messages will freeze my code if no debugger is attached, which is kind of stupid but I fixed it with a simple check. Last week I got blocking UART working, this week I got non-blocking UART working.

It’ve got a TUSB2036 chip that won’t start the oscillator for the 6 MHz crystal, but sometimes it does start. This is holding up the Xim clone project.

I’ve begun 3D modeling the KSP Kontroller, the parts are going to be super expensive but industrial, it’ll look pretty cool.

I’m working a lot on XMEGA stuff, it seems to be great if you need complex behaviour at a low speed. It’s got peripherals with as much (or more) features as most ARM Cortex M chips, but still uses 8 bit instructions and capped at 32 MHz. No oscillator required for full speed USB because the internal oscillator can be auto-calibrated using USB SOF.

Weekly Report August 18 2013

I’m going to document stuff I’ve learned every week, new stuff I’ve obtained, small progress I’ve made, etc.

How to design exposed conductive traces meant for silicone keypads: http://www.abatekgroup.com/designguide/04Electrical.html

I obtained a nRF51822-DK, a Bluetooth dev kit using Nordic’s nRF51822, which is a ARM Cortex M0 microcontroller with a built-in 2.4GHz radio transceiver. Once you own the kit, Nordic gives you access to the software you need, which is kind of annoying.

Successfully used my J-Link EDU with Eclipse and GDB, along with GCC ARM Embedded. I’ve done Eclipse + ARM before but this J-Link I got a few weeks ago. I got some code that can use SWO for debug/trace output and it works great with the J-Link as well.

Realized that the bootloaders between different STM32 chips have slight differences and it makes their own bootloading utility not work with certain sub-families. So I’ll be forced to write my own bootloader utility and hope that their documentation on the protocol is correct.

Got a new Netduino Plus 2, looks great, not as many pins as I’d like but the hardware features (especially Ethernet, that plastic RJ-45 jack is a great choice made by the designers) are worth it.

The STM32W stamp I made is finished (a breadboardable STM32W chip), no firmware or testing yet. PAN1326 breakout is done but no firmware yet. My “Xim clone” is made and firmware can do serial output so far. There are plenty of hardware I’ve built already without firmware…

Finished playing Uncharted 2. It’s better than Uncharted 1, the gameplay actually felt better than both Tomb Raider and The Last of Us, story was above average.

These weekly posts will only contain information that I want to/able to disclose.

Arduino library to bring USB serial to XMEGA

https://github.com/frank26080115/LufaXmegaSerial/

I’m working on a XMEGA-A3BU Xplained board, along with Arduino IDE. (normally I’d stay away from anything related to Arduino but this time I’m forced). I connecting a FT232 for debugging is a pain so I modified LUFA and turned it into an Arduino library, so I can use print and println for debugging.

USB Descriptor and Request Parser

I wrote a tool to parse some USB data. You put in the data packet into the tool, and it’ll translate it into something you can understand.

CLICK HERE TO USE THE TOOL

The reason why I made this tool is because some USB traffic sniffers do not perform parsing on USB packets (especially the freeware ones), but the binary data can still be obtained. This tool will traverse through the binary data, and translate it into something human-readable, using the official documents from USB.org. The three types of data this tool can handle are “USB Standard Descriptors”, “USB Standard Requests”, and “USB HID Report Descriptors”.

The “parse USB HID report descriptor” function is the reverse of the (horrible) “HID Descriptor Tool” provided by USB.org, and the display format is very similar.

Because USB devices are generally embedded devices, this tool is designed with the C programming language in mind. The output can be imported as an array initializer.

I was frustrated when I couldn’t find a tool for this, so I wrote it in hopes that it will become useful for everybody looking for such a tool.

Review: SeeedStudio Bluetooth Multimeter

I just received my SeeedStudio Bluetooth Multimeter.

I’m not going to talk about the measurement specifications and capabilities, because they are clearly stated, and you should decide for yourself if the specifications and capabilities meet your needs. This review will be more focused on the usability.

The enclosure is made with split Continue reading

Nehebkau, Laptop Controlled Keyboard and Mouse

I got my Raspberry Pi. I do not have an ethernet connection or Wifi dongle available, or an extra keyboard. I don’t have any Bluetooth either. I needed a substitute keyboard to use the Raspberry Pi.

For fun, I designed a little USB device, actually it has two USB devices on a small board in the shape of a stick. Two USB capable microcontrollers are on this circuit. One will connect to the Raspberry Pi, and behave like a keyboard and mouse. The other will connect to my laptop. My laptop will run software that captures keystrokes and mouse events. The laptop will tell the microcontroller what to do, so when I press a key on my laptop, the Raspberry Pi thinks the same key is pressed. (and the same with the mouse)

Continue reading

Bioscience Business Card

I am a big fan of creative business cards that actually represent who you are and what you do. In 2012, I was a coop student working for a biotech company in Ottawa, Spartan Bioscience. I wanted a card that is relevant to biology, and that got me thinking about microscopes.

Side note: this card is mentioned on The Wall Street Journal (click for the article & video), but she only mentions it briefly, she interviewed me about my other USB business card and I told her a bit about this card as well. This took place literally on the day I finished making this card.

card_on_notebook_thumb[1]

It is supposed to look like a microscope slide with a drop of blood. It says “use a microscope to see my DNA” on it.
Under a microscope…

under_microscope_thumb[1]

Continue reading