Tag Archives: ARM

Fobble, a general purpose wireless breakout board

via Dangerous Prototypes

Fobble_4

Ken Boak  has been working on a general purpose wireless breakout board – Fobble:

As can be seen from the above picture it contains a number of key features:

  • A resident RFduino  Bluetooth Low Energy Module with ARM Cortex M0 processor
  • 2 layer pcb 50 x 50 mm format- with extended Arduino headers pin-out
  • An X-Bee footprint – with 0.1″ breakout headers – to add your own wireless module
  • Two push button switches – only 1 populated shown
  • Footprint for RGB 0505 LED
  • Detachable power and programmer section
  • Detachable side panels – to make 38 x 32 mm BLE Key Fob
  • 8 pin header to accept 1.3″ OLED display
  • 20mm coin cell or flat Li Po cell power – on rear of Fob pcb
  • Micro – USB connector for recharging Li Po
  • Side Prototyping areas – perforated in 0.1″ matrix
  • 7 pin and 5 pin headers to accept any RFduino accessory shields – for development work

Project info at Sustainable Suburbia blog.

Counting bits in hardware: Reverse engineering the silicon in the ARM1 processor

via Dangerous Prototypes

chip-labeled-bit

Ken Shirriff writes:

How can you count bits in hardware? In this article, I reverse-engineer the circuit used by the ARM1 processor to count the number of set bits in a 16-bit field, showing how individual transistors form multiplexers, which are combined into adders, and finally form the bit counter. The ARM1 is the ancestor of the processor in most cell phones, so you may have a descendent of this circuit in your pocket.

More details at Ken Shirriff’s blog.

Scratching Vinyl Straddles Physical and Digital Realms

via Hackaday » hardware

The life of a modern DJ is hard. [Gergely] loves his apps, but the MIDI controller that works with the app feels wrong when he’s scratching, and the best physical interfaces for scratching only work with their dedicated machines. [Gergely]’s blog documents his adventures in building an interface to drive his iPad apps from a physical turntable. But be warned, there’s a lot here and your best bet is to start at the beginning of the blog (scroll down) and work your way up. Or just let us guide you through it.

In one of his earliest posts he lays out his ideal solution: a black box that interprets time-code vinyl records and emulates the MIDI output of the sub-par MIDI controller. Sounds easy, right? [Gergely] gets the MIDI side working fairly early on, because it’s comparatively simple to sniff USB traffic and emulate it. So now he’s got control over the MIDI-driven app, and the hard part of interfacing with the real world began.

After experimenting a lot with timecode vinyl, [Gergely] gives up on that and looks for an easier alternative. He also considers using an optical mouse, but that turns out to be a dead-end as well. Finally, [Gergely] settled on using a Tascam TT-M1, which is basically an optical encoder that sits on top of the record, and that makes the microcontroller’s job a lot easier. You can see the result in the video below the break.

And then in a surprise ending worthy of M. Night (“I see dead people”) Shyamalan  he pulls timecode vinyl out of the grave, builds up a small hardware translator, and gets his original plan working. But we have the feeling that he’s not done yet: he also made a 3D printed optical-mouse holder.

We can’t wait to see more from [Gergely], and wouldn’t mind seeing some of the code behind this project either. In the mean time if all this leaves you feeling inspired to make your own DJ controls entirely from scratch, have a look at this completely DIY turntable project.


Filed under: ARM, hardware, musical hacks

Linting with Eclipse and the GNU ARM Embedded Launchpad compiler

via Dangerous Prototypes

lint-messages

Erich Styger of MCUonEclipse writes:

For a space project we have to make sure that things are not failing while our hardware orbits around the Mother Earth. Therefore we are using different static and dynamic analysis tools, and one of it is using PC-lint from Gimpel to catch as many errors and bugs as possible. For that project, we are using Eclipse with the GNU ARM Embedded (launchpad) ARM compiler and Eclipse as IDE with the GNU ARM Eclipse plugins. There are commercial plugins available for linting with Eclipse (e.g. Linticator), but with a few tweaks it is possible to lint with Eclipse free-of-charge. So this article is about how to lint an Eclipse project with PC-Lint.

More details at MCU on Eclipse site.

A development board for the STM32F042 TSSOP package

via Dangerous Prototypes

powerup

Andy Brown designed a development board for the STM32F042 in the TSSOP20 package:

Development board features

  • USB. The 042 series supports USB and although 32Kb is not a lot of space to include a USB driver and your application logic it does make sense to hook up those USB data lines and thereby enable USB device development.
  • Switching regulator. All the development boards that I’ve seen seem to use a low dropout regulator (LDO) to supply power to the MCU which means that they’re unable to supply much current to any peripherals that you’re prototyping. The discovery boards warn you not to draw more than 100mA and many of the 3rd party boards use one of the 1117 regulators which, with up to a 1A limit, look great on paper but the universally chosen SOT-223 package will burn up in smoke long before you get anywhere near that figure.
  • VDDA control.The discovery boards allow you to supply VDDA externally if required. I’d like to keep this ability.
  • Onboard 8MHz crystal. All the F0 series can be clocked from the internal high speed internal (HSI) 8MHz oscillator with an option to use an external 8Mhz crystal. I’ll include such a crystal on my board.
  • Onboard NPN transistor. I often need to use an NPN transistor as a low-side switch to control a load either requires too much current to power from a GPIO or is running from a different voltage level (e.g. 5V). I’ll include a simple transistor on this board configured ready to function as a switch.
  • A LED. Because, well, you know, blinky.

Project info at Andy Brown’s blog.

Check out the video after the break.