Micro Internet of Things Gateway (uIoT)

Revision for “Micro Internet of Things Gateway (uIoT)” created on August 26, 2013 @ 20:17:19

Title
Micro Internet of Things Gateway (uIoT)
Content
The Micro Internet of Things Gateway (uIoT) is a <a href="http://www.atmel.com/Images/doc8161.pdf" target="_blank">Atmega328</a> + <a href="http://ww1.microchip.com/downloads/en/devicedoc/39662a.pdf" target="_blank">ENC28J60 </a>solution, one of many using this combination of hardware, but still unique with its miniature size (38mm x 28 mm and 15 mm in height). The original board is designed by<a href="http://www.mikrocontroller.net/topic/87517" target="_blank"> Simon K.</a> and I have his permission to develop it further and sell my version to hobbyists.  My revisions so far include adding a micro USB plug for power purposes and re-shuffling the header so plain rectangular shields can be created more easily. I have also <a href="http://harizanov.com/2013/08/micro-iot-gateway-rfm12b-shield-update/" target="_blank">developed a shiel</a>d that plugs on top the uIoT and adds a RFM12B connectivity, a Micro SD card slot, a LED and FTDI connector option. You can set the fuses to run on the internal RC oscillator at 8Mhz, this is my recommended setup. To achieve this, I use a modified OptiBoot Bootloader optimised for 38.4kbps baud. The modified and compiled version can be <a href="https://github.com/mharizanov/RFM2Pi/blob/master/firmware/RF12_Demo_atmega328/optiboot_atmega328_384_8.hex" rel="nofollow">downloaded from my github</a> repository. The full guide of how to modify and re-compile Optboot is detailed on the Arduino forums <a href="http://arduino.cc/forum/index.php?topic=124879.0" rel="nofollow">here</a>. In order to compile Arduino sketches to work for this modified bootloder we need to add a new entry in Arduino's boards.txt. <pre>atmega328_384_8.name=ATmega328 Optiboot @ 38,400baud w/ 8MHz Int. RC Osc. atmega328_384_8.upload.protocol=arduino atmega328_384_8.upload.maximum_size=30720 atmega328_384_8.upload.speed=38400 atmega328_384_8.bootloader.low_fuses=0xE2 atmega328_384_8.bootloader.high_fuses=0xDE atmega328_384_8.bootloader.extended_fuses=0x05 atmega328_384_8.bootloader.path=optiboot atmega328_384_8.bootloader.file=optiboot_atmega328_384_8.hex atmega328_384_8.bootloader.unlock_bits=0x3F atmega328_384_8.bootloader.lock_bits=0x0F atmega328_384_8.build.mcu=atmega328p atmega328_384_8.build.f_cpu=8000000L atmega328_384_8.build.core=arduino atmega328_384_8.build.variant=standard</pre> Now we just need to select board &gt; ATmega328 Optiboot @ 38,400baud w/ 8MHz Int. RC Osc in Arduino IDE when compiling sketches. The board can be clocked via the CLKOUT pin of the ENC28J60, meaning it can run on 6.25Mhz or 12.5Mhz depending on how you set the prescaler. Upon power-up, the board always starts on 6.25Mhz and with small <a title="Using Jeelab’s EtherCard library on the Micro Web Server (uIoT)" href="http://harizanov.com/2012/10/using-jeelabs-ethercard-library-on-the-micro-web-server/" target="_blank">modification to the EtherCard library,</a> you can run on 12.5Mhz. In this case the board requires custom entries in the boards.txt, if you plan to use it in the Arduino IDE; see <a title="2boots bootloader on the uIoT: Serial + MMC bootloader in 2Kb" href="http://harizanov.com/2013/01/2boots-bootloader-on-the-uiot-serial-mmc-bootloader-in-2kb/" target="_blank">here</a>, <a title="Optiboot on the micro IoT gateway" href="http://harizanov.com/2013/01/optiboot-on-the-micro-iot-gateway/" target="_blank">here </a>and <a title="Using Jeelab’s EtherCard library on the Micro Web Server (uIoT)" href="http://harizanov.com/2012/10/using-jeelabs-ethercard-library-on-the-micro-web-server/" target="_blank">here</a> The board uses digital 10 as CS for the ENC28J60 The shield uses non-conventional pin for selecting the RFM12B module, that also requires changing 3 lines in the <a href="https://github.com/jcw/jeelib" target="_blank">Jeelib's RFM12.cpp</a> definitions; I would include a modified version in the examples on github to eliminate the need for change by the end user. I have adapted <a title="Optiboot on the micro IoT gateway" href="http://harizanov.com/2013/01/optiboot-on-the-micro-iot-gateway/" target="_blank">optiboot </a>and <a title="2boots bootloader on the uIoT: Serial + MMC bootloader in 2Kb" href="http://harizanov.com/2013/01/2boots-bootloader-on-the-uiot-serial-mmc-bootloader-in-2kb/" target="_blank">2boots </a>bootloaders for the uIoT, but using these only makes sense if you have the shield on (because of the FTDI connector) The header layout is as follows: <a href="http://harizanov.com/wp-content/uploads/2012/12/uIoT_pins.png"><img class="alignnone size-large wp-image-1318" alt="uIoT_pins" src="http://harizanov.com/wp-content/uploads/2012/12/uIoT_pins.png" width="584" height="534" /></a> [gallery ids="2870,2869,2868"] Check all my posts on the <a href="http://harizanov.com/category/uiot-gateway/">uIoT gateway</a>. Eagle design files and example sketches on <a href="https://github.com/mharizanov/uIoT" target="_blank">github</a> &nbsp;
Excerpt


OldNewDate CreatedAuthorActions
August 26, 2013 @ 20:17:19 Martin
August 26, 2013 @ 20:16:50 [Autosave] Martin
August 22, 2013 @ 12:38:51 Martin
August 22, 2013 @ 12:25:45 Martin
June 6, 2013 @ 08:59:56 Martin
April 19, 2013 @ 12:51:13 Martin
February 13, 2013 @ 17:22:11 Martin
February 2, 2013 @ 20:55:24 Martin
February 2, 2013 @ 20:49:35 Martin
February 2, 2013 @ 19:46:28 Martin
February 2, 2013 @ 19:45:20 Martin
February 2, 2013 @ 19:43:05 Martin
January 16, 2013 @ 14:14:57 Martin
December 28, 2012 @ 09:51:05 Martin
December 28, 2012 @ 09:49:23 Martin