Hi folks.

Just wanted to drop a quick note that I'll be on summer holiday from 8/17 to 8/23/2013. I'll be in Shenzhen taking in the geekery with some friends which will not only provide me with a nice break but also hopefully give me inspiration for my next designs. Sorry for the inconvenience and the shop will be open from 8/23.



I’m proud to announce the release of two new designs, the Arashi Ethernet Gateway for both 2.4 GHz and 900 MHz wireless sensor networks. There’s quite a bit of history for me with this design. Back when there was a meltdown at Fukushima Dai-Ichi in Japan, I grabbed some Wiznet W5100 ICs and put together a circuit that connected to and uploaded radiation data to servers on the internet. This eventually became a design I called the NetRad and was one of the first DIY geiger counters to be uploading radiation data publicly to the internet during the Fukushima crisis.

01 02

In Tokyo Hackerspace, we deployed a few of them when Sean Bonner emailed me to ask me for links to the data and if I wanted to help a fledgling group that he and Joi Ito were working with called RDTN. Later on, Sean, Joi, me, Bunnie, and a cast of others started working together and Safecast was born .


Here's a shot of one of our first meetings together in Tokyo with Bunnie, Aaron Huslage, Sean Bonner, Joi Ito, Ray Ozzie, and a bunch of people from Keio University.

I just packaged up and released chibiArduino v1.01. This release mainly includes support for some new boards that I'll be releasing shortly. The first board will be an 802.15.4/Ethernet gateway that can be used to connect a chibi based local sensor network to the internet. That should be released within the next day or two. The next round of boards coming out afterwards will be long range boards that have powered RF front ends. I'll be explaining more about these boards soon as well.

There is also a bug fix in this version of the stack. A race condition was found in the transmit function. When a frame is transmitted, the radio state machine is put into a transmit state. However if the radio is busy receiving a frame, the state machine won't transition to the transmit state properly. The fix was to check to make sure no frames were being received before transitioning to the transmit state. 

The release links can be found on the chibiArduino page here :)

A few months ago, I was having a conversation with my friend Nami, who works at a company called Loftwork . Loftwork is a design services firm and also the parent company of Fabcafe in Tokyo. She asked me if I wanted to help out with a project in the company to create a Makers group. The main goal of the group was to find DIY solutions to improve the office. They didn’t have a lot of experience in making things themselves so they asked me and a friend of mine, Joe Moross from Safecast, to help out.

One night over a Loftwork dinner that I invited myself to, we were talking about what projects were needed for the group. Nami and the other members proposed an office improvement project to detect when the women’s toilet was occupied. At Loftwork, the majority of the workers are female. On each floor, there’s a one-toilet men’s bathroom and a one-toilet women’s bathroom. Since there are a lot of women working there, the women’s bathroom is often occupied and the girls keep having to get up from their desk, check the toilet, and if its occupied, have to walk back to their desk. Hence, the Loftwork Womens' Toilet Sensor Project was born.

I finished a debugging session yesterday where I had to hunt down a troublesome bug in the chibiArduino stack. It was first brought to my attention last week by a user of the chibiArduino stack who couldn't figure out why it would hang sometimes. He was running four devices with each device broadcasting every 0.1 seconds. It unwittingly created a an interesting stress test in the form of a broadcast storm with an average packet being sent and received by each node every 25 msec. This exposed a problem that I hadn't encountered before, which is strange since I feel like I've used the stack quite a bit.

Before I begin, I'd like to announce that there's an update to the chibiArduino stack with a bug fix in it. You can get it by going here. The rest of this post is long and somehow turned into a story about the hunt for this bug so I'm making the announcement at the beginning for those not interested in hunts for nasty bugs :)

Hi everyone.

I'll be transitioning to a new forum over the next few days and have locked the current forum. Forum spam has gotten out of control and the original forum software I used (Fireboard Forum for Joomla) has very poor controls. When I first started this site, I never considered spam since I barely got any traffic. Since then, traffic has gotten much heavier and I've had to upgrade my hosting account multiple times. The forum transition should be happening this week and it's the start of a site makeover. I'll write a post describing more about it, but suffice it to say I now know what I want in terms of website software whereas things were haphazard when I first started FreakLabs.  More to come later, but sorry for the inconvenience. Forum should be back up by the end of the week.

Whew! I can't believe how much work it was to coordinate the software release of the library and hardware release of the boards together. There was documentation flying all over the place, furious coding, testing on multiple OSes, screenshots, long photography sessions, and somewhere in there, hardware and software testing. I'm glad I did it though because I've been wanting to release a new version of the Freakduino for a long time. Seriously, I've been wanting to do it since 2011, but a series of events changed my whole life. Ha ha ha...

Whew! Just got back from vacation in the US visiting family and also getting the chance to see the Bay Area Maker Faire for the first time. Actually, it was my first Maker Faire outside of Japan and it blew my mind. The scale of the projects were just on a different level compared to Maker Faire Japan. Projects in Japan are much smaller, mostly because we can’t fit three story fire breathing, steel dragons inside our tiny cramped apartments.

I was on the train coming back from the airport last night when I saw an interesting article at Make Magazine called Why the Maker Movement is Here to Stay. The author, Ken Denmead, discusses an article written on the tech blogging site gigaOm about Sparkfun. Actually, the gigaOm article starts out being about Sparkfun, but towards the end, the author generalizes Sparkfun’s business and business model into the recent surge in popularity of the maker movement. To be honest, I probably wouldn't have thought too deeply about that article except that Ken made some interesting points that got me thinking. In the latter part of the gigaOm article, the author makes an effort to end on a thought provoking note:

"To me, and for others watching the maker movement unfold, SparkFun is a chance to answer what is an important question. How big can the maker movement get?"

Hi everyone.
The FreakLabs store will be on holiday from 05/15/2013 to 06/03/2013 and the shopping cart will be disabled. I'll be traveling to the US to attend Maker Faire and also visit family and friends. I'm really excited since it will be my first Maker Faire and also a welcome holiday for me. Looking forward to the recharge and hopefully to get some new ideas for interesting projects:)
I've had my Casio G-Shock for about 8 years now. In that time, it's run out of batteries on me a few times. The first time, I spoke with a shop and they said they had to send it in to Casio to have the battery replaced. The cost would be around $70 and take about two weeks. I then asked if I could replace it myself and they said it was impossible. I checked on the internet and the batteries are CTL1616 rechargeable Lithium Ion watch batteries. At the time, they were impossible to buy online so the only option was to send it in to Casio. Now, you can get them on eBay and Amazon, but they cost $15/each.

With the workshop closed out, the next two days were reserved for deployment and installation of the sensor nodes. The night before, I had modified the code the participants were using to harden it a bit for an actual deployment. The main thing I added in was a watchdog timer and protection against a few failure scenarios. The main ones I was concerned about were if the software hangs, if it fails to get an IP address, and if it fails to get a connection. I added in an 8 second watchdog timeout for code hangs and also would trigger a reset if the device failed to get an IP address or had a connection failure three consecutive times.

That morning, I had a short meeting with everyone to brief them on what the code changes were and how the deployment would go. I explained the changes I made to the code they worked with and why I made them. Unfortunately, we didn’t have time in the labs to cover more advanced topics like watchdog timers, timestamping, and power management. That would need to be saved for future workshops. After the discussion, we packed up our supplies and headed out to the site.


I had one free weekend after arriving at Dharamsala. I contacted Mikey from Air Jaldi, one of the workshop organizers, and he took Jacinta and I around for a site survey and also to discuss the workshop agenda.

The workshop consisted of three major parts. The first part was the actual workshop to teach the participants about sensor networks using Arduino. The second and third parts were actual sensor network deployments at the Tibetan Childrens Village (TCV) and Sarah Tibetan Center for Higher Learning. In both deployments, we’d deploy sonar water level sensors to measure the water level in storage tanks fed by nearby streams, then upload the levels to Cosm servers.

I finally arrived in Delhi, India and the first thing I noticed was that immigration was opulent. I was a bit nervous because I was there on a tourist visa but had a huge amount of wireless electronics in my suitcase. If customs checked me, it’s likely they would have confiscated most of the electronics and rendered the workshop useless. Luckily, they didn’t and I was allowed to proceed to the exit. Customs always freaks me out, mostly because I usually have a lot of strange electronics gear in my suitcase.

It was now about 1am outside of the Indira Gandhi airport in New Delhi and it seems like India hits you like a ton of bricks. The sights, sounds, and smells are all in your face. Taxi drivers were all over the place trying to hustle me into their cabs. The first taxi driver quoted me 1200 rupees (~$24) to get to my airport hotel. After talking to multiple drivers, I got the price down to 400 rupees (~$8). After arriving at my hotel, the guy at the front desk said 200 rupees was on the high side to get to the hotel since it was right next to the airport. That kind of calibrated my expectations which meant that I was in a high ripoff zone. I later found out that it’s to be expected for foreigners in Delhi.