Update: ESP8266 WiFi server complete (enough)…

Photo 01-05-2015 16 19 46So a new Arduino arrived today after the connectors gave out on my older ones. It’s a cheap UNO clone and will be followed by a selection of Nano’s for various coming projects. I added support to my ESP8266 project for lightsOn, lightsOff, and setting a value for the lights on. Which can be found in the github repo. The server responds with a simple JSON string explaining the current state of the light, and can be adjusted by sending particular HTTP requests. Continue reading →

New toys! ESP8266

esp8266So it seems that since the Arduino WiFi module was a complete failure in the teasmade (well not complete, just unreliable and who wants their tea to be unreliable). I ordered a couple of ESP8266‘s. These are quite a hot topic at the moment, basically it’s just a serial port over wifi.

The intention is to control my book case lighting with them, so I want to do a few things while testing. Firstly the initial concept is to be able to send a RESTful command to turn a light on/off, Simple enough. Second I want to be able to send a value and have the lights set to that value e.g. 255 which will set the brightness. Third, I want to be able to have the ESP8266 send a RESTful command to a php test server elsewhere on the network. Finally, I want to be able to send a “status” message in JSON on request. Continue reading →

Top 10 Arduino Sensor Boards & add ons

I thought I’d put down a little list of my top 10 things I do with my Arduino boards at home. I’ve been experimenting a lot with ambient circuits, up cycling and things like that so you could say that these things are skewed towards that kind of thing.

  • UltrasonicUltrasonic Sensors – be careful with these, I bought a pack of 4 from a dodgy supplier and the MAX232 chips had a bug which causes them to overheat rapidly and they get hot enough to burn stuff. You can use these in a lot of things, I’m currently using two as the eyes for a small robot I built to keep the cat occupied.
  • PIR Sensors – these are cheap and cheerful little blighters. Ambient circuits usually require some kind of human interaction, so ultrasonic and PIR are both decent ways to do that. Depending on how you direct them and mix them they can become quite an human interaction tool.
  • Bluetooth HC-06 – With speeds up to 250kbps the HC-06 is perfect for fast remote serial ports which can be accessed easily from a computer or android device. The HC-06 unlike the HC-05 is reprogrammable, you can hack it in various ways messing with it’s internal setup for the serial port. This is the fastest and easiest way to add a radio to a remote device that I’ve found, and I’ve tried NRF24’s, RF12’s, Wifi shields and other means. These are certainly in the category of just works(tm).
  • WS2811 RGB LED Strip – Unlike the 2801 the 2811 has individually addressable LED units, whereas the 2801 has 2 LEDs per controller. It works well with the FastLED library and lets you separate the LEDs onto individual faces of a 3D shape. They’re also significantly cheaper than BlinkM’s are and much easier to obtain in large quantities.

[auction-affiliate tool=”lister”]

  • Gyroscope – If your project has any moving parts, it’s a good idea to put an accelerometer in there, it can give you feedback in interesting ways. Very useful to have on around.
  • MSGEQ7 – With no particularly easy way to say it, it’s an equaliser IC this little chip will take a sample of audio and tell you the value of it on 7 different frequency bands. It’s useful for doing things like defining colours to be illuminated in time with music and things of that nature. Microphones will need a little amplifier to get them working but it’s a genius little chip.
  • DHT11 – Another favourite of mine is the DHT11, temperature and humidity. You can connect these up to one of these mini arduino+rfm12b boards and you’ve got a thermometer and humidity sensor anywhere.
  • rfidRFID Kit – This cheap and cheerful RFID kit can be used in all kinds of ways, creating proximity based installations or interactive spaces where each object in the space has it’s own unique ID.
  • Motor shield – There are tonnes of motors laying to waste because they’re not re-used, I collect them up and put them to work when I need one so a motor shield is always useful to have. Obviously you can always bang something together with a few transistors, but a decent motor shield for testing is always handy.
  • Screw shield – always handy to have around a screw shield can save a lot of time when prototyping.

[auction-affiliate tool=”lister”]

Assembling and configuring a RAMPS with Prusa i2 (more or less)

To get what I need out of my 3D printer it was clear that the Gen7 although a great board to build was not going to be suitable for every day use.

I got myself a RAMPS and assorted add-on boards:

  • RAMPS 1.4 shield & Arduino Mega
  • LCD, SD & Click encoder combo
  • Lots of new wiring
  • An EEPROM
  • Bluetooth HC-06 module (already had this)

ramps1.4

I bought all my wiring and connectors from We Do 3D Printing via eBay.
Excellent quality of cables and arrived quickly. Continue reading →

Just a quick post… ATX to RAMPS 1.4 board

Hacking an ATX power supply to work with RAMPS 1.4 is quite dangerous… Power supplies which can give you the Amps are rare.

ATX-RAMPSHere’s a nifty solution. A simple ATX power to RAMPS intermediate board.

Plug in an ATX 24 Pin power connector and two of the 4 pin molex power connectors (preferably from a dual rail supply). Wire them up to the output molex with the bottom pin of the output molex supplying the power for the heated bed.

The 5V and PS-ON pins can be wired to the RAMPS 1.4 to offer auto-power on (if like me you’re making a bluetoothy remote printer).

Download the Fritzing sketch here.

With this board, next time you blow up an ATX power supply, you don’t have to go through the process of hacking another one… Which increases the chances of electrocution each time…

24Mesh’N Quick Update

Just a quick note to say I’m almost finished with the majority of the 2.4Ghz mesh network classes. These are pretty solid classes at this point with a few minor missing features. I’m hoping to release something really useful really soon.

Goblin Teasmade Upcycle: Part 2

After the first stages were completed, that is, designing the new wiring situation and wiring the internals. The contraption now looks something like this

The wiring pattern was explained in the last post. So the things you see beyond the mentioned pin patterns are the wires for the i2c devices (ghetto pixel, and DS1307 RTC). The RTC is used to keep the time internally, there are some interesting points to consider about the clock face itself and how it will maintain time. More on this later…

Stage 5 – Building a Web UI.

The code for the Web UI can be found here on github. Obviously when you’re serving files from an Arduino via the SD card you want to keep the files as small as possible. After running ImageOptim and minifying the javascript and css It probably all comes in under 150kb. Which isn’t much but is still enough to make the poor Arduino struggle… The HTML code should be runnable in any browser and there’s a neat little clock UI that should make you feel good to watch.

Obviously, you don’t have a teasmade on your network, so unfortunately you won’t be getting a nice cup of tea out of it. Sorry.

Things to note on the Web UI are

  • Moving the cursor over the clock shows the kettle and teapot and their states behind it.
  • Pressing the right hand button makes tea… Well, I’ll mark that as WORKSFORME heh.
  • Pressing the left hand button turns on the light.
  • The freakin’ clock hands animate!!

Continue reading →

3D Printer updates… Why not use aluminium plate?

I’ve ordered a bunch of parts for my 3D printer, essentially to get it up to printing standards without difficulties with the controller etc… So yeah I bought a RAMPS 1.4 and a new arduino mega, and an LCD screen, all new wiring and some fresh PLA on a spool.

I also got to thinking about my warped x-carriage and what could be done about it. My first thoughts were to purchase a new one from 3D Hubs, but having a custom one printed was quite expensive. So instead, I looked at the thing for a while and concluded that I should just cut a replacement from aluminium. This isn’t difficult, aluminium is a very soft metal, it can usually be guillotined or cut with a junior hack saw or jigsaw. I’m opting for the jigsaw. I’m working on a template and once I’m ready to I’ll upload it to thingiverse.

Simply put the aluminium plate x-carriage will be made out of 3mm aluminium and will have 3 or 4 CNC bearings to keep it on the runners. In the middle I’ll cut a 2cm hole and drill holes for the extruder mechanics to fit on. This also made me consider the bed and what can be done with it. So I’m going to look into replacing the bed on the printer with an alu plate probably 4mm with 4 CNC bearings in. That will sit directly underneath the bed heater plate with some foam insulation between to keep the PCB stiff in the middle. I need to get some bending tools to make this right, as I want to have a fan holder and a built-in end stop tag for opto-endstops.

I’m looking for a 700W PC power supply if anyone wants to donate me one? There are a lot of these laying around that people don’t need and I’d rather not create more junk for the giant trash pile if possible to avoid.

Goblin Teasmade Upcycle: Part 1, The Teardown

Here's what the smart home used to look like - Goblin TeasmadeDo you remember the Goblin Teasmade? The device was a mechanical and electrical marvel, however very likely responsible for many a house fire, and probably entirely unsafe by todays standards. The teasmade was the epitome of the must have device for the middle class home of the 1960s, it even featured in the Queen music video for “I Want to Break Free“.

As I’m not shy of a challenge I decided to upcycle a 1963 model into a new fangled, Internet of Things device which can make tea over the web.
Continue reading →

Experiments with mesh networks

I’ve started building a mesh network in C++, it’s a small library intended for use on Raspberry Pi and Arduino. Currently I want to support one kind of radio, an NRF24L01+ which you can get pretty cheap on ebay.

These radios provide us with a Layer 1 (Physical) of a OSI network but to build a functional mesh network we need a Layer 2 (Data link, addressing) and Layer 3 (Packets), once we have those two layers we need a Layer 4 (Segments, connection management) then onto the final layer, Layer 5 (Data).
Continue reading →