Archive for the ‘Electronics’ Category

The Arachnio is something I’ve been working on for a few months, and it’s now up on Kickstarter! The subject line is the elevator pitch — it’s the first Arduino Micro variant with onboard WiFi, via the increasingly popular ESP8266. It’s pin and software compatible with the existing Arduino Micro, and only slightly larger to accommodate the antenna. Naturally, it’s entirely open source (unlike other Arduino variants with on-board WiFi, such as the Yun).



The Arachnio

The Arachnio

Putting WiFi together with the Arduino, especially in a small, low power package, is a really natural fit. For example, every Arduino-powered robotics or LED project is made immensely cooler by having the capability to control it from your smartphone baked right in.

Since the Arachnio is small and low power, it also makes a great brain for a remote sensor. The fact that it’s an Arduino variant makes the programming simple and the wealth of on-board peripherals make it straightforward to connect most common sensors. WiFi lets your remote sensor connect to your phone or tap into the Internet to get the data back to you.

Including both the ESP8266 and the 32u4 on a single board provides a much more useful package than either one alone. The capabilities of the ESP8266 and the 32u4 complement each other nicely. Here are some of the advantages of the Arachnio over an ESP8266 module alone:

  • More GPIO — The Arachnio has more than twice as many GPIO pins available as any ESP8266 module.
  • More ADC — The Arachnio has twelve usable analog to digital channels versus a single channel for an ESP8266.
  • Hardware PWM
  • Dedicated hardware I2C and SPI interfaces
  • Full Arduino library compatibility 
  • Native USB — The Arachnio’s ATmega32u4 provides a full speed hardware USB interface. The Arduino environment provides libraries that make the USB function as a serial port, a mouse, or a USB keyboard.
  • Breadboard compatible — The Arachnio’s headers are on 0.1″ centers and narrow enough to fit into standard breadboards with room to plug jumpers in on both sides.

And of course the ESP8266 provides WiFi and, for more advanced users, a more powerful processor to use for more computationally intensive tasks.

All of the vital statistics can be found on the Arachnio product page.

I decided I also needed a couple of expansion boards available immediately in order to really make it sing. The first is of course a prototyping board, the ArachnoProto.

ArachnoProto with Arachnio and supports

ArachnoProto with Arachnio and supports

The ArachnoProto is designed to fill the same role as an Arduino protoshield. It has two large prototyping areas, a programming header,  mounting holes for 3mm screws, two LEDs and a pair of push buttons.

You can tell this is a prototype because the board house managed to mess up my logo on the board.

There’s also another less obvious feature here, which is that this board has been assembled with bottom-entry headers on the underside. The upshot of this is that the assembled Arachnio + ArachnoProto is much thinner than with conventional headers. These headers are included with every ArachoProto.

The Arachnode is designed to give users a way to quickly build flexible and independent sensor and network nodes. It has a solar battery charger, a real time clock, a microSD card slot, and an optional crypto module.

I just got a new release candidate board which has some tweaks arising from the testing we’ve been doing, mostly to improve fit and clearances. This is the first one that’s really feature complete, since I’ve been focusing on the Arachnio rather than the Arachnode for most of my development. I haven’t had time to assemble the new ones, but here’s the bare PCB:

Arachnode bare board

Arachnode bare board

One of the things I’ve enjoyed doing that I wish more Kickstarter creators would do is post Instructables for the Arachnio. I’ve only got two of them up so far, but they address questions that people have asked me about using the Arachnio.

Please don’t forget to back the Arachnio on Kickstarter so we can make it a reality!


Thanks to gorgeous weather here in Seattle yesterday, I was able to get some great pictures of the ArachnoProto and Arachnode prototypes.








According to the USB Battery Charging Specification, a device plugging into a USB port to charge may find itself connected to a source that is capable of data transfer as well as power, or it may be connected to a source that provides power only. If the source supports data, the device is expected to do a trickle charge only, but if the source does not support data, the device may draw more current because the source is likely to be a wall socket. (More detail on Wikipedia.)

So those of us who use USB car chargers with our Android phones really want the phones to charge as fast as possible. Unfortunately, most car chargers do not short the data pins together, which is the spec-compliant way to indicate that the power source does not support data. It would seem that this gets past manufacturers’ QA because the iFail devices apparently ignore the spec and draw as much current as they want, regardless of the state of the data pins. This leaves Android users stuck with trickle charge off their car chargers, unless they go out and buy a specialized charge-only USB cable which shorts the data pins.

For those of us who want a car charger that supplies 1+ amps without needing a special cable, the Mediabridge dual port high output charger is easy to take apart and add solder to short the pins, and this post shows how to do it. I wrote this up because I’ve done it at least 3 times so far and I always forget the fastest way to put it back together. I am indebted to this review of the charger model in question.

Read the rest of this entry »

Ethernet Switches For Sale

Posted by lklafleur on 16 July 2011

Lots of ethernet switches!!! Used for things like gaming parties, so 50 of your closest friends can come over and play WoW. Or Quake. Maybe some StarCraft. You know, bring your tower and CRT. Perhaps your basement gold mining operation. Also for dorms, boarding houses, sweatshops, 419 scams, and other places where a multitude of unwashed masses are kept. Which is different than your aforementioned LAN party. Can buy as a set (if you have lots of friends) or as individual units (if you.. well.. don’t).

Contact HBL.stuff@gmail if you’re interested!

Example Switch

12 x HP ProCurve Switch 4000M boxes each w/ one switch engine module with varying number of 10/100 ethernet modules and gigabit fiber modules.
Ethernet modules are 10/100 Base-T Module and come with 8 ethernet ports

6 ethernet modules + 1 “100Base-FX Module” ($55)
8 ethernet modules (0 fiber) ($70)
10 ethernet module (fan is missing) ($80)
5 ethernet modules + 1 “100Base-FX Module” ($50)
6 ethernet modules + 2 “100Base-FX Module” ($60)
1 ethernet modules + 1 “100Base-FX Module”+ 1 unidentified fiber module ($30)
1 ethernet modules + 1 “Gigabit-SX Module” ($30)
1 ethernet modules (no faceplates) ($20)

2 x 9 ethernet module + 1 “Gigabit-SX Module” ($80)
2 x 4 ethernet module + 1 “Gigabit-SX Module” ($40)

we have a box of HP ProCurve Switch 4000M switch engine modules (one free with each purchase)

Fisheye Switch

we also have:
1 x HP ProCurve Switch 1600M
with a “1000Base-FX Module” and 16 x 10/100 ethernet ports

1 x HP ProCurve Switch 1600M
with 16 x 10/100 ethernet ports

1 x hp procurve switch 2512
12 Ethernet ports + holes for transceiver ports (nothing there)

1 x Cisco Systems Catalyst 5509 rack containing:
1 x WS-X5530
1 x WS-X5224, 4 ports of 1000 Base SX gigabit ethernet
6 x WS-X5012A
1 x 10/100 Mbsp ethernet, 12 ports

Posted in: Electronics  

Mad science garage sale!

Posted by 3ricj on 8 March 2011

Hackerbot Labs of Seattle is having a garage sale!
We are a community of people with a passion for science and a bunch of stuff we need to get rid of.

When? This Saturday, 03/12/11. We open at noon and go until 6pm.
Where? Hackerbot Labs: 4660 East Marginal Way S. We are right next to Arena Sports on the intersection with South Alaska Street.

Some items:
* EEG machine w/ time plotter
* Gorilla suit
* ethernet switches
* microwaves
* rockets
* HV giant capacitors!!!!!
* audio equipment
* data card printer
* ethernet switches
* misc. servers and computers
* microscopes
* wifi equipment
* surgical lights
* extension cords!!
* mouse balls
* weather balloons
* kiln
* mystery box!
* centrifuge
* telescopes pelican cases
* diathermy machine
* high voltage power supplies
* tools
* lots of books, technical engineering and other kinds
* a powerful and impressive Hitachi mill. and also deadly.

The Laser Box

Posted by Gnewt on 1 March 2009
This is a long-exposure photo of me being scanned by the laser.

Parts list:

  • OpenDMX USB dongle

A while ago I was given a SHINP CL-16RGY by 3ric, to play with. We had no software for it, no experience with the box, and no clue what we could make it do. Here’s the story of what I did to make it work, and what we’re going to use it for in the future.

First, I needed to install a driver the Enttec Open DMX USB dongle. This is how we send signals to the laser. The first bit of info I found was here, a tutorial on exactly the USB dongle we have. One problem: it’s for a Linux box. I have a Windows laptop. I fired up my Ubuntu virtual machine and got to work.

Compiling the driver was fairly easy. Mentioned in the tutorial I linked to is a driver from All I had to do was run a git command, make, copy the driver into the right directory, and then depmod. Voila, plugged the dongle into my laptop and it was recognized by Ubuntu as /dev/dmx0. Perfect! Next step was figuring out how to send it commands. I found some sample code somewhere (though unfortunately I can’t remember where). It looked like this:

#include <stdio.h>
#include <string.h>
#include <fcntl.h>

int main()
  unsigned char buffer[513];
  int fd;

  memset(buffer, '\0', 513);

  fd = open("/dev/dmx0", O_WRONLY, 0);
  while (1) {
    write(fd, buffer, sizeof(buffer));
The CL-16RGY from

This worked to prove that the driver was working. The laser box has a little green LED on the back which signifies DMX512 data being received. It was blinking furiously. I thought “well, since it’s receiving data, everything after this will be easy.” I was very wrong. The manual told me that certain channels controlled certain things (channel 1 for X position, channel 2 for Y position, etc), and I assumed that the information would be correct. No. Of course not. It can’t be that easy.

I nearly gave up the project at this point. The terrible layout of the buffer was pissing me off. After a while though, I found a Windows DMX program. It didn’t work how I would have liked it do, but it let me adjust the channels in realtime, so I could figure out what things were. I squealed with joy (on the inside, of course) and took note of which channels corresponded to which functions. At the time, my code was in Python, so I edited the Python file and ran it. LAZOR WORKING! I tried editing a few of the channel values to make sure I was editing the correct positions in the buffer, and it worked just like it should.

My code at this time was in Python though, and I wanted the end result in C. I pretty much recreated the same code in C, implemented getopt, and cleaned up the code. It ended up being beautiful! Here is the sourcecode, a binary, and the CL-16RGY manual: