Almost every PIC project has to deal with implementing some kind of a user interface. Buttons, LEDs, LCD display – the hardware is not trivial to add and the result is far from user friendly. What’s more, you have to walk up to the unit to interact with it. This is far from ideal – a rolling potato gathers no couch.
An Ethernet based SBC (Single Board Computer) is one solution. Such an SBC will at the very least have an Ethernet connection. It should have the ability to host a web server. The code for this should be available. Writing one from scratch is way beyond my abilities. With the web server must come a large amount of flash storage, not a few KB but hundreds of KB.
Once you have an Ethernet based SBC, you can hook it up to a home network that already has a wireless access point. This means any device in the vicinity – a laptop, smartphone or tablet – can interact with the unit. You can use a browser to interact with the unit. This can be as slick a user interface as you want – a far cry from a few buttons and LEDs. The browser is an additional powerful processing environment with the use of javascript. The SBC software can be relatively simple. Just a few urls implemented as ajax calls in the browser.
This should allow the code to be distributed between the SBC (written in C) and the browser (written in HTML/javascript). Fortunately, I am equally comfortable with either environment.
For my USB projects, I am a great fan of the Modtronix SBCs. They are compact and have a very good daughter-board solution making it very easy to prototype an application. When you are done with the project, pull out the daughter-board and chuck it in your junk box. The SBC can be reused and if you want your old project back just pull it out and plug it in. Having the circuit on a separate board beats using a proto area on the SBC. But when it comes to Ethernet, their SBCs are a bit clunky. Instead of using the modern PIC chips that have built-in Ethernet support, they have an external chip. This makes it a bit harder to move from prototype to final PCB. An external chip just makes the design unnecessarily complex.
Summary
SBC | Features | Cost AU$ |
Size | Pros | Cons |
---|---|---|---|---|---|
Olimex PIC-WEB | CPU:18F67J60 Flash:256KB |
$38 | 60x65mm | Nice connector for daughter-board Fairly compact |
|
Olimex PIC Micro-WEB | CPU:18F67J60 Flash:256KB |
$50 | 30x50mm | Small size | D connector interface |
Olimex P67J60 | CPU:18F67J60 Flash:256KB |
$38 | 80x100mm | Large size SIL connector |
|
Microchip PICDEM.net2 | CPU:18F97J60 Flash:32KB |
$165 | 114x140mm | Plenty of peripherals | Huge size Higher cost |
Sure Wifi Web Server | CPU:24FJ256GB106 Flash:SD Card |
$60 | 46x63mm | Wifi support SD card storage |
Not in 18F family No external connector |
Modtronix SBC66EC | CPU:24FJ256GB206 Flash:32MB |
$70 | 54x58mm | Great daughter-board solution Large Flash |
Not in 18F family External ethernet chip |
Comparison of Ethernet PIC SBCs
All PIC based Ethernet SBCs use some version of the Microchip TCP/IP stack. Among other features, it has a web server. These web pages can be served from the spare space in the program memory or an external EEPROM. The web pages can be downloaded from the ethernet connection using a utility or a browser.
I will focus on the two things I am keen about. A compact size and the ability to use a detachable daughter-board.
Olimex PIC-WEB
There are a few other options to choose from. To start with, the one I opted for – the Olimex PIC-WEB. I have the Rev B but now they are up to Rev C.
It is based on the PIC 18F67J60 with 128K of program memory and 3.8K of RAM. It has an additional 256KB Flash chip for the web pages. It costs about AU$38. The board is a compact 60x65 mm. The PICKit2 can be connected to a connector on board. A 34 pin header brings out a whole bunch of connections. A PCB mounted connector can be used to build a daughter-board.
Olimex PIC-MicroWEB
Another intriguing option is the Olimex PIC Micro-WEB.
The hardware is similar to the PIC-WEB except the whole thing is packed into a shell for a 25 pin D connector. Prototyping around a D connector is a lot more inconvenient than a 0.1 matrix connector.
Olimex P67J60
Yet another Olimex option is the Olimex P67J60.
This has the same hardware as the two previous Olimex boards but this one is filed under protoboards. This is probably because of the large prototype area. It also has a 0.1" connector that may be a bit awkward to use with a daughter-board. Because of the proto area, the board is quite large - 80x100 mm.
Microchip PICDEM.net2
There are a few other options from Microchip itself. One of them is the PICDEM.net2 board.
It is chock full of peripherals like buttons, LCD. It is based on a PIC 18F97J60. It has both on board ethernet and an ENC28J60 chip. It has a 32KB EEPROM. There is a small proto area. I have one of these but haven’t got around to using it. It has a connector - the PICTail which can be used for a daughter-board. Compared to other SBCs, it is huge. It goes for a pricey AU$165.
Sure Electronics Wifi Web Server
A new option I noticed surfing ebay is the Sure Electronics Wifi Web Server. It is based on the 24F family rather than the 18F family (the one I am familiar with). The great thing about this unit is that it has wifi. This means no Ethernet cabling is required to the SBC. It also uses an SD card providing large amounts of storage and easy means of transferring the web pages on to it. Most laptops have an SD slot and memory card readers are common. This is definitely worth a try.
The SBC is based on a PIC24FJ256GB106 with a Microchip MRF24WB0MB WiFi transceiver. It measures 63x46 mm and costs AU$60. It has no external connector making adding custom circuitry impractical.
Modtronix SBC66EC
Modtronix has the SBC66EC.
Typical of a Modtronix board, it has a compact form factor with great daughter-board support. Unfortunately, I am not looking at moving out of the 18F family yet.
Conclusion
I have a project in mind for the ethernet SBC which I will outline in the next blog. I am going for the Olimex PIC-WEB. It is relatively small. It uses the PIC 18F family that I am comfortable with. It has a connector suitable for a small daughter-board. I have had one lying around in my collection that I will finally get to use.
Some images of SBCs taken from the respective manufacturer's web sites
No comments:
Post a Comment