HomePage
Firewing is a modular hardware and software development system based around powerful Microchip microcontrollers. With either 8, 16 or 32 bit versions, you will be able to realise many great projects using the free Firewing compiler.
The Firewing compiler can be downloaded for free. You can program a Firewing board in pretty much any language that supports 8, 16 and 32 bit Microchip devices, but here at the nest we like to use the Firewing language. The language syntax is similar to that used by VB.NET, so it's really easy to use. Don't let the fact that it based on the VB.NET syntax fool you, the Firewing compiler does not generate interpreted code! It's a true compiler, based around the powerful GCC toolsuite. If you have any questions or would like to know more about Firewing, then please get in touch via the forum. If you would like to make a contribution to this site, for example, write and article or post some sample code, then you can find instruction on how to do so here. Any contributions you can make would be most welcome.
Getting Started
Learning the Firewing language is very easy, just download the free compiler and take a look at some sample code or some articles. The language reference guide can be found here and don't forget to take a look at some of the built in libraries. If you have a Firewing main board then here is some information on installing the USB drivers. You will need to do this in order to program and communicate with your main board.
Shields
A nest favourite, the Arduino compatible LCD Plus shield. In addition to the LCD screen it has a DS1307 Real Time Clock (RTC), DS18B20 temperature sensor, a microSD card slot, 5 button keypad and also a light sensor. Many LCD shields use a standard Hitachi based HD44780 compatible LCD which is larger than the physical shield. So it either hangs over the shield or you have to make the shield larger to accommodate the LCD. There is nothing wrong with doing this, but it has always kind of bugged me that the shield footprint has to be different from the base board. Well, not with the LCD Plus, it fits perfectly on a standard shield footprint and also uses a standard HD44780 interface! It's really readable as well, especially with the back light switched on. Incidentally, you can control the backlight brightness using a single Firewing instruction. Or use the LCD+ light sensitive resistor to control the backlight brightness - really cool! The shield pin outs can be found here and you can download a schematic from here. Some sample code using this shield can be found here.
The microSD shield data logging shield is an Arduino compatible unit with an onboard DS1307 Real Time Clock (RTC) with battery backup. The addition of a micro secure digital (SD) card slot -makes this shield ideal for data logging applications. The prototyping area is based around the standard Firewing shield that provides a double sided prototyping area with paired holes. The shield pin outs can be found here and you can download a schematic from here. Some sample code using this shield can be found here.
The GPS SD shield is an Arduino compatible unit which has an embedded antenna and tiny footprint GPS module. It also has a built in UART, making communicating with this device a breeze. The GPS shield also has a built in Secure digital (SD) card slot, which allows you to transform your shield into a GPS data logging solution. The pin outs can be found here and the schematic can be downloaded from here. Check out this article - it has a nice CSV to KML utility which people may find useful if wanting to render data in Google Earth.
The XBee SD shield is an Arduino compatible unit that has an onboard microSD card slot. The prototyping area is based around the standard Firewing shield that provides a double sided prototyping area with paired holes. The board also has all the circuitry to support wireless bootloading. You can find an article showing how to configure the shield for XBee wireless programming. Just press F10 in the Firewing IDE and your code will be compiled, assembled and then sent over XBee to your remote Firewing main board and programmed in! It really is as easy as that and opens up many possibilities communicating with remote projects. Range is pretty impressive too, considering the thick walls that sound the Firewing development nest. The board also enables you to switch the XBee RX and TX pins to D0 and D1, or to pins D2 and D3. Both of these pin sets support hardware UART on the Firewing board. The pin outs can be found here and you can download a schematic from here.
I thought it worth mentioning in a little more detail the Firewing prototyping board used when developing shields. It's a great double sided board with a prototyping area comprised of paired holes, based on a design by Matt. Paired holes are an extremely useful feature, as many prototyping boards just have single holes which can make connecting wires to components a real pain sometimes. However, with paired holes, you now have somewhere to solder the component and solder a connection wire. The paired links are exposed which means you can easily break them if required. In addition, the board has a collection of surface mount pads with break out areas making this a very comprehensive board indeed. You can also squeeze a small mini breadboard (the ones with 170 tie points) onto the prototyping area and use the headers to break out from. I used a black breadboard and it looks really nide! Small as the breadboard area is, it's fantastic for testing out small circuit ideas. I used one of Matt's LED breadcrumbs to develop an interrupt driven PWM library - what a time saver the breadboard with breadcrumbs turned out to be!