Follow mercenarymind on Twitter
Ubertooth: an open source wireless development platform
Written by admin   
Monday, 29 November 2010 00:00

Authors: admin announced the first release of Ubertooth, an open source wireless development platform for Bluetooth testing and research.  This is a very preliminary release, but it includes the complete hardware design for Ubertooth Zero, firmware source code, and the host code needed to perform rudimentary Bluetooth sniffing. [via]

Ubertooth: an open source wireless development platform - [Link]

Last Updated on Monday, 29 November 2010 02:38
Speedier graphics
Written by jcw   
Wednesday, 24 November 2010 00:00

Authors: jcw

The Graphics Board is going to enable a bunch of fun projects around here.

Unfortunately, the ST7565 library is a bit slow in one specific way – display updates. Since everything is buffered in RAM, most other operations are actually quite fast, but to get that data onto the gLCD takes time.

I had to find out how much time, of course. Here’s my test sketch:

Speedier graphics

All the loop does is send the same RAM buffer contents to the display, over and over again. The time it takes in microseconds is sent to the serial port, and the result is quite bad, actually:

  • 126 milliseconds, i.e. 8 refreshes per second, max!

The good news is that it’s a clear bottleneck, so chances are that it can be found and then hopefully also avoided. Sleuthing time!

The ST7565 core primitives, responsible for getting the data out to the display were coded as follows:

Speedier graphics

Guess what: the shiftOut() in the Arduino library is written with calls to digitalWrite(). That rings a bell.

Ah, yes, good OLD digitalWrite() again, eh? Of course

So I rewrote this code using fixed pin numbers and direct port access:

Speedier graphics

And sure enough, it’s almost exactly TEN times faster:

  • 12.3 milliseconds, i.e. 80 refreshes per second.

Needless to say, I’m going to leave these changes in my copy of the ST7565 library – even though that means it’s no longer general purpose since the pin assignments are now hard-coded. A 10-fold performance increase of something which really needs to be snappy and responsive is non-negotiable for me.

Here is a copy of the ST7565 code I use.

Could this bottleneck have been avoided?

The ST7565 library was clearly written as general purpose library, so making it usable with any set of pin assignments makes a lot of sense. The price paid in this case, was a 10-fold drop in performance, plus a few extra bytes of RAM used in the ST7565 class.

I’ll revisit this topic some other time, to discuss the trade-offs and implications of compile-time vs run-time logic, as well as tricks such as: putting the pin choices in a header file, using #include for source files, pre-processing and code generation, and C++ templates.

For now, I’m just happy with the 80 Hz refresh rate :)

Read more:

Last Updated on Wednesday, 24 November 2010 13:44
New STL Creation Tool: Trace Modeler
Written by Bre Pettis   
Wednesday, 24 November 2010 00:00

Authors: Bre Pettis


I’ve always daydreamed of putting things in a tub and filling it with chocolate milk one centimeter at a time and taking a picture. Then I’d do edge detection on the objects and stack them up to make a 3D model.

I don’t have to dream anymore. It appears that Trace Modeler will do just that and more! It will also automatically output STLs! Very cool!

Super mega bonus points to this project for being open source. You can download the source here!

Read more:

Last Updated on Wednesday, 24 November 2010 13:50
Plug your calculator to TV screen
Written by admin   
Wednesday, 24 November 2010 00:00

Authors: admin

Probably you are aware of these great Texas Instruments calculators like TI-82, Ti-83 and other models that can do almost all math you need. As these calculators are equipped with link port this is where hacking starts. Ben Ryves decided to build an expander that would capture screen and display it on TV based on PAL or NTSC.

Expander is based on ATmega168 microcontroller running at 20MHz. It generates video signals via simple DAC made of couple resistors. When connected, TV demonstrator captures screen each time the button is pressed unless calc is busy on something. Due to AVR RAM limits TV Demonstrator supports calculators with screens less than 96×64 pixels.

Read more

Last Updated on Wednesday, 24 November 2010 13:24
Yilane Systems Numitron Clock
Written by blog   
Tuesday, 23 November 2010 00:00

Authors: blog


I don't often build other people's kits, especially kits that don't include source code for the firmware. Most kits are too expensive and I usually think I can design something I will like better. However, the Yilane Systems YS-950 single-tube Numitron clock was sufficiently elegant and inexpensive that I couldn't resist. Availability of the kit has been intermittent, but it's worth keeping an eye on, as I understand that they will be in stock again soon.

by coreylcoreyl

Read more:

Last Updated on Tuesday, 23 November 2010 15:00
<< Start < Prev 1 2 3 4 5 6 7 8 9 Next > End >>

Page 6 of 9