Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Multiple questions from someone thinking about picking up a netduino


  • Please log in to reply
3 replies to this topic

#1 steven6282

steven6282

    New Member

  • Members
  • Pip
  • 2 posts

Posted 17 July 2012 - 06:18 PM

I've been playing with arduino projects for a year or so now. I'm starting to get to the point where some of my projects could really use a little more oomph behind them. I had one person recommend the netduino plus to me. For example, right now I'm working on a project that uses a small 2.8" TFT LCD, and with an Arduino Mega, there is a noticeable delay when clearing the screen as it cycles through every pixel on the screen to recolor it. So my first question, if it takes a 16 mhz Arduino Mega ~.5 seconds to clear this screen, how fast do you think a netduino can do it? Another thing, there doesn't look like there have been any real developments on new netduino products recently? It looks like the original Netduino and Netduino Mini are at least 2 years old, and the Netduino plus at least 1 year old. They all could possibly be older I'm just basing it on how far back I can find comments about them. When I first found out about Netduino I was really hoping to see a Netduino Mega type thing. From my understanding this ARM7 chip has the potential for a lot more IOs than the paltry 20 available on the Plus currently, and it looks like the mini has even fewer. Are there any plans to release better boards any time soon? Also on the subject of LCDs, I know an arduino isn't capable of driving larger LCDs themselves. Would the ARM chip in the netduino be approaching capabilities of doing this or is it still not powerful enough? Although I don't think there are enough pins on the netduino plus since a lot of the LCds I've seen have require 24 pin connections. I guess it would depend on how many of those connections are GND and power connections. Even still using up the majority of available pins just to drive the LCD would suck and leave very few pins for peripheral sensors, leds, buttons etc. I know I can use a multiplexer for some of this, and I've seen references to SPI concerning this, but honestly have not researched into it very much since the Mega I use usually has enough pins to handle most things I'd want. Finally, is it possible to build a lower cost bare bones implementation of the netduino? The mini is 30 dollars, and the cheapest I've found the same ARM7 chip for is 20 so that isn't really much cheaper. Are there any other cheaper chips that would work (kind of like the ATTiny chips for arduino)? The mini also worries me with the limited pins on it as well, it would be an ideal form factor for small projects, but even small projects can use up a lot of pins if they need sensors, wireless communication capabilities, and data logging on an sd card or something like that. I'm sure I will think of more questions later, but this is enough to get started :)

#2 Nobby

Nobby

    Advanced Member

  • Members
  • PipPipPip
  • 70 posts

Posted 18 July 2012 - 02:21 AM

The most notable contrast between Netduino and Arduino is that the Netduino's arcitecture is based around the Microsoft .Net Microframework where as Arduino's are programmed with machine-code(C code interpreted then compiled) targetted at the cpu instruction set of the Arduino. Essentially the Netduino and Arduino are the same connectivity-wise, they just have different development platforms. The biggest issue you are having with LCD stuff usually stems from bandwidth limitations of the bus technology you use to communicate with the LCD. For example -I2C/TWI is limited to 100kHz -SPI is somewhat similar -7/11 Pin interfaces to LCD controllers. These are usually text LCDs though -UART/TTL/RS232 have good bandwidth but devices are rare Most LCDs are SPI or I2C/TWI. For large numbers of pixels, clearing a screen, pixel-by-pixel, is slowed down by the bandwidth of your interface. That's why most devices have a single instruction for clearing a screen with an optional colour. If you need to do large rectangle fills etc, it's painfull. You could look at the Gameduino which is designed for doing complex/detailed video operations on a severely band-limited interface. It only has a VGA output on it though and it's pretty much useless for anything but making video games. I tried to use one for displaying a GUI but the API is too high level to do simple things outside the scope of sprite rendering. Another option to consider is the emergence of many colour LCD controllers. They're intermediate devices that have larger bandiwdth but consume quite a few pins on the AVR. With the way these consumer development platforms are diversifying these days, you have so many options. Unfortunately, unless you have experience with the devices and their APIs, it takes a very long time to find what you want through research without having to spend money. In your case, I could heavily recommend the Netduino plus for your LCD, SD card and other needs. The only problem is you might find .Net framework/C# development a pain in the arse compared to AVR studio, Codevision AVR or some other ANSI C compiler and IDE.

#3 steven6282

steven6282

    New Member

  • Members
  • Pip
  • 2 posts

Posted 18 July 2012 - 03:00 AM

The LCD I'm using is a small 2.8" TFT with resistive touch screen built in, on a shield. Bought it at radio shack but this is it's product page: http://www.seeedstud...l?cPath=132_134 It has no built in clear function that I can find so when "clearing" the screen it has to color ever one of the 76800 pixels on the screen =/ There isn't currently any library support for the Netduino for this, unless the pin layout is the same as the Seeeduino, which it may be. But that isn't a big deal anyway I can figure out the library. I'm actually a full time developer and toy with the electronic hobbies on the side, so programming in .Net is nothing to me. I've coded in .Net plenty before. Another limitation I'm now butting my head up against playing with my arduino some more tonight... memory. I wrote a nice little controls library for this LCD I'm playing with so it would be some what object oriented and easy to create entire screens of controls with minimal coding. Unfortunately having an elaborate class with lots of features uses up a lot of memory, and I've gotten so used to working on desktops with gigs of ram, that I quickly ran into the 8KB wall on this Mega 2560 that I'm using lol. Even after going back and converting all of my booleans and ints that I could to bytes, I can't create more than around 200 controls (each one has about a 35 byte footprint). So that completely blows up my idea of coding in Screens of controls and able to just call which screen I need to draw in the GUI. I can probably get by if I create and clear the controls on the fly instead of storing all the screens in memory initially, it just slows the operation down that much more doing it that way :( Honestly, after doing some research today, I think I'm more likely to go with a Maple or mBed device over the netduino. Both expose a lot more pins, and both have more powerful chips. Not to mention the Maple is cheaper than the Netduino plus. The netduino plus does have more SRAM memory than the Maple though, 20KB on the Maple is still kind of small for really elaborate libraries, it has less than the mBed (LPC1768). Both look to have very little community though from what I can see. I don't know, going to have to do some more research but maybe it's time for me to just leap completely out of the mainstream development platforms and look into heavier duty stuff. I stumbled accross this today, and while I've got to do some more research on it, it looks pretty nice. Really powerful processor and really cheap. I've got to figure out what the downsides to it are lol. http://www.mouser.co...zZXDc5BN%2b9qEw

#4 Nobby

Nobby

    Advanced Member

  • Members
  • PipPipPip
  • 70 posts

Posted 23 July 2012 - 01:50 AM

Having a look at that LCD, it is indeed a parallel interface and requires a butt-load of pins. It does afford the ability to drive the display faster than TWI/SPI. There are available devices called LCD Backpacks. They're designed to connect to parallel LCDs like this and you can interface with the backpack via UART/TWI/SPI depending on the archtecture of the backpack. The other option you have is something like Codevision AVR. I starting using this about ten years ago as it was probably the best prototyping IDE around at the time(productivity-wise). They have lots of advanced LCD libraries now and broad support for various LCD models. The code generation engine can create a base-code project for you to get started quickly with your LCD. You can designate the ports you want to use on the AVR either for direct connection or connection via a backpack. They even have an IDE for creating bitmaps, controls and icons to embed in your projects. Even though I still use Codevision AVR for various small things, I've moved all prototyping for commercial products to Netduino products. It's cheaper for me to buy netduino and spend a fraction of the time developing. You might want to check out the Netduino Go as well. They designed it with the purpose of exposing more connectivity and memory than the Netduino Plus. Once they have developed the RJ-45 module I'll most likely move to that platform.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.