Netduino home hardware projects downloads community

Jump to content


Most Liked Content


#39132 Netduino Plus 2 Pinout Reference Sheet

Posted by Gutworks on 12 November 2012 - 06:40 AM

I am really excited about getting my Netduino Plus 2. So I thought that in order to pass the insane long wait of 2 day shipping, that I would create a pinout reference sheet. Also, I need to have these things printed and beside me at all times to help my failing memory. One community user gave me a great idea, and suggested laminating it, which I will be doing in the near future. But before I do that please let me know if you notice any errors or would like to have anything added or changed and I will do my best to update it for you.

Just in case you're wondering, the image is intentionally large, however it makes it difficult to move around using the forum's lightbox. To open the pinout zoomed out, click here: Netduino Plus 2 Pinout

If you have found it at all useful, please let me know! And as always I would love to see what your making with your Netduino Plus 2. Posted Image

Edit: New pinout diagram Ver. 1.2
NetduinoPlus-Pinout-v1.2.jpg
* Added IOREF, ADC, and Erase pad info.

Cheers,
Steve




#38706 Introducing Netduino Plus 2

Posted by Chris Walker on 08 November 2012 - 06:07 AM

Dear Friends,

Many of you have asked for a Netduino Plus with more speed, more flash, more RAM, and more features.

Today we make that dream a reality.

Introducing Netduino Plus 2. Just $59.95.
Netduino Plus 2 Specs
Where to Buy (resellers)

Netduino Plus 2 has four times the speed (168MHz), six times the code space (384KB), and twice the available RAM (100KB+) of Netduino Plus 1.

And we didn't just make the board faster or give it more flash and ram. We also gave it a whole series of rich new features.

Features like four serial ports. Six PWM channels. And 12-bit ADC.

Features like power headers that turn on and off via code, so you can power on shields when you want to. Pins which can drive up to 25mA of current to light LEDs. And Arduino "R3" compatibility to support future shields (in addition to existing shields, thanks to Netduino Plus 2's 5V digital I/O tolerance).

And because there's so much room in flash, we've added OneWire and Time Server directly into the NETMF firmware. We've left quite a bit of space for future features.

This board is built to last, to get even more feature-rich over time.

You might notice that we swapped out the 6-pin ICSP header for a 10-pin MiniJTAG header. The goal is to enable developers to compile their own firmware using GCC--and debug both native and managed code at the same time. If you need the ICSP header for a shield, simply sandwich a MakerShield in the middle: it'll route the ICSP pins for you.

There are a lot of microcontroller features which we can expose through software updates. We'll be leveraging OTP and could expose the Watchdog timer, and I know that more than a few users will want to hack away at the exposed CANBUS peripheral.

We're really excited about the new gen2 hardware (both Netduino Go and Netduino Plus 2). They both have a long life ahead of them including even more functionality to help you realize your dream projects and commercial endeavors.

There's so much more to cover... Please enjoy your Netduino Plus 2 boards, and let me know your questions!

Chris
Secret Labs LLC

P.S. Commercial customers -- we're not leaving you behind. Netduino Plus 2 is designed to be a drop-in replacement in most circumstances, and we can still make Netduino Plus 1 boards for you.

Attached Thumbnails

  • netduinoplus2.jpg
  • netduinoplus2_angle.jpg



#34487 Application Development on the STM8S

Posted by Nevyn on 31 August 2012 - 11:13 AM

For a few months now I have been writing a series of blog posts on using the STM8S chip with the aim that I may actually get to the point where I can show how to develop a module using the chip. The series has been titled The Way of the Register since I had a few problems with the STD Peripheral Library produced by ST and moved on to direct register access on the chip. Each article in the series takes a distinct task and describes how to achieve the task using the STM8S. Where possible, full project and source code for the IAR environment is included. All of these examples use the STM8S103F3 chip. If you are using other chips (say the STM8S Discovery Board) then you will also want to have a look at the post on Converting The Way of The Register Examples in order to work out what you will need to do in order to convert these examples. You can find the series on The Way of the Register page. I have covered the following topics so far:

 

Converting STD Library Code to use Direct Register Access on the STM8S

Going from using the STD Peripheral Library on the ST processors can be a little bewildering. This article attempt to guide you through the process of converting you code from using the STD Peripheral library to using registers.

 

Simple GPIO

Toggle a single GPIO line to produce an approximate square wave signal.

 

Configuring the System Clock on the STM8S

 

Configure the system clock to use the internal HSI oscillator running at 16MHz. Generate a square wave signal using a GPIO line and show how the frequency of the square wave can be changed by manipulating the clock divider.

 

External Interrupts on the STM8S

Capturing user input through a switch using the STM8S.

 

Using the UART on the STM8S Microcontroller

Learn how to setup and use the serial port on the STM8S to generate debug information or control serial devices.

 

Generating a regular signal using Timers

Here we will learn how to use one of the timers on the STM8S to generate a square wave signal.

 

Generating a PWM signal on the STM8S

In this article we look at generating a PWM signal using channel 1 of Timer 2 on the STM8S.

 

Interrupts on the STM8S

An overview of how interrupts works on the STM8S

 

Single Pulse Generation and Timer 1 Counting Modes These two articles take a look at Timer 1 and show how to generate a single pulse of a known length and also suggest some modifications which can be made as a exercise to show the different counting modes available on this timer.

 

Single mode ADC Conversion

Setup the ADC to perform a single conversion and then use that value to control the properties of a PWM signal and hence control the brightness of the LED. I have also converted a number of the sample programs to us not only my own reference platform but also the Variable Labs Protomodule and the STM8S Discovery boards.

 

STM8S SPI Slave

This post sets up SPI on the STM8S using hardware chip select. The data exchange is restricted to single bytes.

 

STM8S SPI Slave (Part 2)

This post adds buffering to the SPI data exchanges and uses software controlled chip select to determine when data transfer should be started.

 

STM8S SPI Slave (Part 3) - Making a Netduino Go Module Building on the previous two SPI posts, this one implements a simple GoBus comms protocol allowing module developers to create simple modules using the STM8S.

 

Transmitting Data Using SPI Master Mode

Using the master mode of the SPI interface on the STM8S to control the brightness of 16 LEDs connected to the TLC5940 16-channel PWM controller IC.

 

Storing Data in EEPROM on the STM8S

Writing a small amount of data in the EEPROM area of the STM8S in order that the data can survive a device reset or loss of power.

 

Using the Auto-Wakeup Feature on the STM8S Discovery Board

Using the Auto-Wakeup feature after a predefined time period of up to 30s.

 

STM8S Independent Watchdog

Adding an independent watchdog to detect software failure/locks.

 

Hope that you find this useful,

Mark

 

Edit: Converted the headings into links to the original posts.

Edit: 8th Oct 2012 - Added details on four additional posts.

Edit: 19th Nov 2012 - Added details about two SPI posts.

Edit: 26th Nov 2012 - Add the Module post link and information.

Edit: 1st Dec 2013 - Added links to two new posts, SPI master data transmission and storing data in EEPROM.

Edit: 20th Jun 2014 - Added a link to the Auto-Wakeup article

Edite: 21 June 2014 - Added link to Watchdog post.




#54711 New: Netduino Update application

Posted by Chris Walker on 16 December 2013 - 11:26 AM

I'm happy to announce the immediate availability of "Netduino Update", a powerful new PC application which makes it easy to upgrade Netduino mainboards to the latest firmware.

This new application works with Netduino 2, Netduino Plus 2 and Netduino Go.

To use Netduino Update, you'll need the ST DFU drivers pre-installed on your machine. You can get these by installing ST DFU Tools 3.0.3.

The new process for upgrading a Netduino is much simpler than the fairly technical STDFU process previously required. Here's what it looks like:

Step 1
Detach your Netduino from your PC. Press and hold your Netduino's pushbutton while plugging it in via USB; this will put it in bootloader mode.

Step 2
Run "NetduinoUpdate.exe". Your Netduino, now in bootloader mode, will appear in the app.
Posted Image

If your board shows up as an "STM Device in DFU Mode", click the "Options..." link. This will pop up the options dialog. Select your board type and close the dialog.
Posted Image

Step 3
Check the box next to your board and press the "Upgrade" button. After upgrading, your board will automatically reboot into NETMF and disappear from the Update app.
Posted Image

Step 4
If you're using a Netduino Plus 2, use MFDeploy to re-enter your MAC Address as usual.

We will be adding a feature in Netduino Update which gets rid of this extra step in the near future. It will require a newer version of Netduino firmware.

One more feature
We snuck one extra feature into Netduino Update.

Sometimes developers can get boards into an unknown state, generally when an app has opened an invalid pin or otherwise locked out the debugger. We wanted to make it super-easy to erase a malfunctioning app.

If you ever run into this problem, just put your board into bootloader mode and run Netduino Update. Click on the "options..." link next to your board and check out the Tools tab.
Posted Image

Just press "Erase App..." and a few seconds later your board will be back to normal. This feature doesn't kick your board out of bootloader mode, so you'll need to detach and re-attach your board after erasing the app. Unlike "upgrade", this won't wipe out network or USB settings.

Next steps
We plan to include Netduino Update in future Netduino SDK installers. But first we wanted to give the community a chance to spin the tires. And we would love feedback on the application, notes on additional features you'd love to see, etc.

We've been working on a ton of software and a few accessories for Netduino this year. Netduino Update is the first major release--with more goodies to come :)

BTW, Netduino Update is open source, licensed under the Apache 2.0 license. I'll post the source a bit later this week.

Thank you, and enjoy!

Chris


#40283 Managing Peripheral Power

Posted by Arron Chapman on 27 November 2012 - 04:10 AM

The Ethernet part (ENC28J60) alone on the N+2 consumes 150 mA, that along with the on-board led and potentially a uSD card could contribute to quite a bit of waste. If you plan on running your project off of a battery, you obviously want to get the power consumption down as low as you can. I've written up a small class with a single static method, and a single enum to make the process of turning off the peripherals easy.

Usage;
//Turn off the Ethernet controller
PowerManagment.SetPeripheralState(Peripheral.Ethernet, false);
//Turn off the uSD Card
PowerManagment.SetPeripheralState(Peripheral.SDCard, false);
//Turn off the Power LED
PowerManagment.SetPeripheralState(Peripheral.PowerLED, false);

//Turn On uSD Card
PowerManagment.SetPeripheralState(Peripheral.SDCard, true);


I don't have the public source code repositories up for Variable Labs just yet, so I've attached the source below.

Attached File  PowerManagment.cs   3.13KB   147 downloads


#44859 Netduino Plus 2 Firmware v4.3.0 (beta 1)

Posted by Chris Walker on 04 February 2013 - 05:37 AM

Version: 4.3.0 Beta 1 (version 4.3.0.0 beta 1)

This firmware requires use of the .NET Micro Framework v4.3 SDK and Netduino 4.3.0.0 SDK.

With this firmware, you will have the following resources available for your code:
384KB Flash
100KB+ RAM

This firmware includes the following updates:
1. .NET MF 4.2 QFE2 and 4.3 bug fixes

This firmware does not include:
1. Newest lwIP networking stack from .NET MF 4.3. This will be added in an upcoming release.
2. SecretLabs.NETMF.Hardware.Diagnostics.dll. This will be added in an upcoming release.

This firmware also includes the previous updates:
1. Bug fix: SPI clock 'idle high' setting now supported
2. Netduino Plus 1 projects can be upgraded without changing HardwareProvider
3. Now compatible with legacy SecretLabs AnalogInput and PWM classes
4. Bug fix: SPI chip select timing corrected
5. Bug fix: PWM frequency corrected
6. New: more reliable rebooting during deployment
7. Static IP now works (in addition to DHCP default)
8. MAC Addresses are now loaded by TinyCLR
9. Additional I2C bug fix--pins now forced into proper configuration

To find the current version of your Netduino firmware:
1. Go to the Start Menu > Programs > Microsoft .NET Micro Framework 4.3 > MFDeploy
3. Plug your Netduino into your PC using a Micro USB cable.
4. In the Device section at top, select USB instead of Serial. Your Netduino should appear in the drop-down; if not, select it.
5. Select the Target menu, Device Capabilities option.
6. In the output box, find the "SolutionReleaseInfo.solutionVersion" value. This is your firmware version.

To flash this firmware:
1. Detach your Netduino
2. Press and hold your Netduino's pushbutton while plugging it in via USB; this will put it in bootloader mode.
3. Erase the firmware on your Netduino using the STDFU Tester v3.0.1 application
> a. Select the "Protocol" tab
> b. Press the "Create from Map" button
> c. Select the "Erase" radio button option
> d. Press the "Go" button
> e. Wait for erase process to complete
4. Flash the attached .DFU file using the ST DfuSe Demonstrator v3.0.2 application (included with STDFU Tester)
> a. Locate the "Upgrade or Verify Action" pane (bottom-right pane)
> b. Press "Choose..." and select the attached DFU file
> c. Check the "Verify after download" option
> d. Press "Upgrade". It will take a few minutes to update your Netduino.
> e. Detach and reattach your Netduino (power cycle) or press "Leave DFU mode"

After flashing, to set your network settings using MFDeploy:
1. Select the Target > Configuration > Networking menu. Re-enter your IP address settings and MAC address.

Enjoy, and please let us know if you run into any troubles.

Chris

Attached Files




#35924 GoBus 1.5 Protocol Analyzer Plugins for Saleae Logic

Posted by Matt Isenhower on 24 September 2012 - 11:00 PM

To help build and debug the new GoBus 1.5 protocol, I have created a pair of protocol analyzer plugins for use with the Saleae Logic software. There are two versions of the analyzer: one for GoBus over asynchronous serial, and one for GoBus over SPI.

After installing the new Netduino Go firmware and Shield Base firmware released earlier today, you can use the serial analyzer to view the protocol between the Netduino Go mainboard and the Shield Base module. Using a breakout board (for example, the GoBus Breakout Module), simply connect your logic analyzer to GoBus pins 4, 5, and GND and you'll be able to capture and view the serial GoBus traffic between the module and the mainboard. (On the GoBus Breakout Module pins 4 and 5 are labeled with the STM8 functions SWIM and NRST.)

Download: Beta 1
Includes compiled files for Windows and Mac OS X, as well as the source code for both analyzers.

Here's what the analyzer looks like:
Posted Image
When you zoom in you can see a few more details about each byte:
Posted Image
Here's what the SPI analyzer looks like. At the moment I only have sample ("fake") data to display but it should work correctly with actual GoBus SPI traffic when that is available :)
Posted Image

Installation:

Windows:

Copy the following files:
  • GoBusAsyncSerial.dll
  • GoBusSPI.dll
to the Logic Analyzers directory: C:\Program Files\Saleae LLC\Analyzers

If the GoBus analyzers don't show up within the Logic software, make sure you have the Microsoft Visual C++ 2010 Redistributable Package installed. This can be downloaded from: http://www.microsoft...ls.aspx?id=5555

Mac OS X

Copy the following files:
  • libGoBusAsyncSerial.dylib
  • libGoBusSPI.dylib
to the Logic Analyzers directory: /Applications/Logic.app/Contents/Resources/Analyzers

Right click Logic.app and select "Show Package Contents" to access the "Contents" folder.

Limitations:
  • The analyzers currently only support CRC8 frames. This is due, in part, to CRC8/16 being a transport setting that is not indicated within each packet. This will be fixed in the future, either from a change in the protocol or through a setting in the analyzer.
  • The SPI analyzer currently uses the Enable line to determine frame length (and therefore where the CRC byte is located) as well as where each new frame begins. This could cause issues if the Enable line is not cycled between frames.
  • For both analyzers, the CRC value is only displayed and not actually verified by the analyzer. The CRC value in simulated data is not accurate and will always be set to 0xFF.
  • I haven't worked on the export function yet, these features are purely for displaying GoBus traffic at the moment. That will be fixed later :)

Enjoy, and let me know what you think! :)

Matt


#1174 Netduino Fritzing part

Posted by CW2 on 23 August 2010 - 08:39 PM

Attached are zip archives with custom Netduino, Netduino Mini, Netduino Plus, Netduino 2 and Netduino Plus 2 parts for popular prototyping tool Fritzing. The breadboard layout matches the official Rev.A boards for all variants.

Enjoy Posted Image


Edit 2010-11-30: Added Netduino Mini version 1.0. Use 'variant' combo box in the Inspector window to switch among Netduino boards. You may need to restart Fritzing after import for changes to take effect.

Edit 2010-10-04: Added Netduino Plus version 1.0.

Edit 2010-09-09: Updated to version 1.1 - Corrected logo font (thanks Chris), improved pin names (alternate functions) and descriptions (max output current), added USB logo to the connector.

Edit 2012-11-24: Added Netduino Plus 2

 

Edit 2013-01-15: Added Netduino 2

Attached Thumbnails

  • Netduino-Breadboard-zoom200.png
  • Netduino-Schematic.png
  • NetduinoPlus-Breadboard-zoom200.png
  • NetduinoMini-Breadboard-zoom200.png
  • NetduinoMini-Schematic.png
  • NetduinoPlus2-Breadboard-zoom200.png
  • Netduino2-Breadboard-zoom200.png

Attached Files




#53288 Nokia 5110 LCD

Posted by Peter Forstmeier on 20 October 2013 - 04:33 PM

Hi List,

i have connected my Nokia 5110 Display to the N+2 and can write some text to the Display.

If i write  a_str, and later on b_str, both strings are start at Location (0,0) and overwrite each other

Is there any idea how to

a)Clear the Display

B) Write text at a given Location

c) Change the Font height

 

 

 

Thanks

Peter

 

 




#41558 NooM's Playground

Posted by NooM on 14 December 2012 - 02:47 PM

heres my little playground.
it contains:
netduino mini
102x64 lcd - spi
9dof imu sensor module + barometric sensor - i2c
128kb eeprom - i2c
temerature sensor - analog
trackball connected to pcf8574 - i2c
mcp23017 - i2c
4bit 7 segment (not connected atm)
sd-card slot - spi
real time clock (drifting a lot, like 2-3 secs an hour ...) - i2c
cp2102 usb-uart bridge
ftdi usb-uart bridge
max232
one step up and one step down module for 3.3 and 5v power supply

not on the sceen: joystick and led matrix module.

soon ill add a spi master <-> spi master wireless chip (NRF24L01+)
maybe some pIR chips (but well, they work without netduino/uC also)

next month plans:
i2c camera module (to save some pictures on the sd card) - not doable
bluetooth module - i hope i can get it to programm my netduino w/o cable (!) - working
ENC28J60 network module (spi) - dont have ethernet cable right now
TEA5767 fm radio (i2c) - todo

ill make better pictures as soon as i get my hands on a real digicam, not webcam as of now


everything now is working ofc Posted Image
(except the imu, need more code for them, in progress!) - imu working (at least i can read the basic values)


greetings


// edit: some video of my compass in action.
atm it sends its data per uart to pc, gets rendered there in xna

its on my old led matrix




//edit: COBS and a simple UART transport system added
// cobs is just ported from original author // damn - link is gona and i dont have it anymore :(

//edit multi I2c and temerature sensor code added, its a smooth sensor, change history lenght to //make it faster

 

//edit: i now hooked up my rgb matrix :)

its only 3bit color, but still impressive

 

https://www.youtube.com/watch?v=siBAG85j6Co

 

 

 

i also designed an app with that i can create images in color for it, its still in progress

(i klick the pixels, it shift to the next aviable color, a button to save it to a file is missing)

 

i also made a small "testbench" wich connect per uart to my netduino, and is capable of read/write register for a specified device (in that case my gyro sensor)

 

//edit: change in uart.cs its better now > it waits till it actually received the data it expects

uart class deleted for now, it has a memory leak

 

//edit: drivers for the mcp3201 added - 12 bit external adc.

also the uart bug seems to only affect stm32, have to look further into that.

 

// edit: uploaded a fixed version of realtimeclock (ds1307)

Attached Thumbnails

  • Bild39.jpg
  • rgb_designer.png
  • testb2.png

Attached Files




#26360 Introducing Netduino Go

Posted by Chris Walker on 04 April 2012 - 08:29 AM

Dear Friends,

You asked for a Netduino with more speed, more flash, and more RAM.

You asked for a Netduino with more GPIOs, more serial ports, more analog inputs, and more PWMs.

Some of you aren't yet comfortable picking up a soldering iron, or you don't want to spend your time calculating resistor band colors. You want a plug-and-play Netduino.

We've been listening. And together with several members of the Netduino community, we've been crafting radical new hardware.

Today, we introduce a Netduino with more speed, flash, and RAM. And a Netduino with support for more GPIOs, serial ports, analog inputs, and PWMs. And today, we introduce a plug-and-play Netduino.

Best of all, these are all the same board.

Introducing Netduino Go. Just $49.95.
http://www.netduino.com/netduinogo/

Netduino Go has four times the speed (168MHz), six times the code space (384KB), and twice the available RAM (100KB+) of Netduino Plus.

And with Netduino Go, we've virtualized all the peripherals. So you simply pick what you need and plug it in. Each module has a small microchip which works together with the mainboard.

Want to use a relay? Just plug it in. Need six RGB LEDs? No problem. How about a touchscreen? One cable, plug and play.

Alongside Netduino Go, we're introducing a very cool accessory. We call it the Shield Base. You plug it into your Netduino Go and it provides you with the latest Arduino pinout, 6 PWMs, 6 ADCs, and a handful of GPIOs. To use it, you just create InputPorts, AnalogInputs, etc. using the standard NETMF classes.

It's like freedom, in the form of electrons.

All Netduino Go hardware is production hardware. We're shipping the production Shield Base hardware with early beta firmware so that we can get wide feedback on this new virtualization technology. And to say thank you for beta testing the Shield Base, we've temporarily upgraded its 128KB-flash MCU to a full-blown 512KB-flash 120MHz Cortex-M3 microcontroller. You can connect it to power and a USB-TTL serial cable and use it as a traditional Netduino if you'd like as well--while enjoying its 3 serial ports and other new enhancements.

Both the Netduino Go and the Shield Base run production versions of .NET MF 4.2 QFE1 (RTM).

We are introducing the first six modules today (button, rgb led, potentiometer, shield base, nwazet relay, and nwazet touchscreen). Next up are Piezo Buzzer, Ethernet, and SD Card modules--coming soon. Several dozen modules will ship this year...and we welcome you to build your own as well. More on that separately.

Last but not least... Microsoft Research created a nifty technology for researchers to prototype electronic devices. We appreciate that they open sourced their platform, called .NET Gadgeteer. So we created a compatibility mode for Netduino Go which lets you use most S-U-X Gadgeteer modules with Netduino Go. Bluetooth and XBee modules, Temperature+Humidity sensors, GPS modules and more are all available today. There are some limitations--we'll create a thread to discuss and to provide drivers.

You may have some questions about the new hardware. We will try to answer them here as best we can. And we'll be talking more about Netduino Go and doing Q&A at next week's O'Reilly webcast.

I'm looking forward to seeing your creations using Netduino Go!

Chris
Secret Labs LLC

Attached Thumbnails

  • NetduinoGo.jpg



#12351 MotorShield driver

Posted by Chris Walker on 21 April 2011 - 12:54 PM

There are definitely some ladies who frequent the forums. But they're vastly outnumbered by the gentlemen, so perhaps they don't speak up often (or don't disclose their gender). [ That said, ladies...you are welcome in this community. The guys are friendly. And if they aren't, just let me know ;) ] Chris


#12040 Easy multiplexing with the Netduino

Posted by Stefan on 12 April 2011 - 09:39 PM

If you want to skip the blah blah blah and only want to see something or download the schematic and source, scroll to the bottom of this article :)

From the moment I got my Netduino microprocessor board I was thinking, what are it's limitations, and how can I work around them? One of the most obvious limitations is the amount of Input/Output (I/O) ports. This image shows what the board is capable of.

Posted Image

I wanted to look a way around this limitation with quite some success. By adding multiple bitshift IC's it's possible to get virtually unlimited I/O-ports. The only limitation in this is the clock speed, but I haven't reached this limitation yet.

I've used two kinds of IC's, a serial-in/parallel-out, called 74HC595, and a parallel-in/serial-out, called 74HC165. They can be used in chains, so by adding more IC's, you won't need to use more I/O ports on the Netduino board. In my example below I got 32 I/O ports by only occupying 5 I/O's on the netduino.

The schematic is quite simple, I used buttons with pull-up resistor to represent of inputs and leds to represent outputs. The basic idea is that every added IC adds 8 Input or Output ports.
You can see it working at Youtube.

Posted Image

Then we get at the code part. Connecting stuff is one thing, making it work is another. The Netduino is filled with code compiled from C# and uses the .NET MicroFramework.
This framework has a couple of built-in classes, for example, OutputPort, InputPort and InterruptPort. I made copies of those built-in classes to work with the bitshift IC's, so usage would be a simple as the rest of the framework.

The only difference is that we need to define the IC setup first. So we got two input IC's and two output IC's. We define the connected chains first:
Ic74HC165Chain ChainIn = new Ic74HC165Chain(SPI_Devices.SPI1, Pins.GPIO_PIN_D10, 2);
Ic74HC595Chain ChainOut = new Ic74HC595Chain(SPI_Devices.SPI1, Pins.GPIO_PIN_D9, 2);
Both IC chains are connected to the Netduino's SPI bus (Pins 11 to 13) and use a different Chip Select-pin, in this example pins 9 and 10. Both chains contain 2 IC's.

When the chains are defined, we have to make interfaces for the IC's. This is done by this:
Ic74HC165 IcIn1 = new Ic74HC165(ChainIn, 0);
Ic74HC165 IcIn2 = new Ic74HC165(ChainIn, 1);
Ic74HC595 IcOut1 = new Ic74HC595(ChainOut, 0);
Ic74HC595 IcOut2 = new Ic74HC595(ChainOut, 1);
The enumeration starts at 0 as you can see. 0 is the first IC in the chain, 1 the second, 2 the third, etcetera.

Now we can define our Input/Output/InterruptPort classes. They have the same parameters as the regular classes except for the first one, which defines the IC it's connected to:
InterruptPortShift Button0 = new InterruptPortShift(IcIn1, Ic74HC165.Pins.GPI_PIN_D0, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeBoth);            
OutputPortShift Led0 = new OutputPortShift(IcOut1, Ic74HC595.Pins.GPO_PIN_D0, false);
Here we defined an InterruptPort and OutputPort using bitshift registers. From this part, the code which follows is exactly the same as it would be using the onboard I/O ports.

Credits
I wouldn't have done this without the help of two very nice guys in the Netduino Community: Mario Vernari and CW2. Thanks again :)
The schematics are made with the free tool Fritzing. Should also be mentioned since the tool is a great help!

Download source at http://netmftoolbox.codeplex.com/


#7782 MetaDataProcessor.exe WINE notes

Posted by Brian Jepson on 16 January 2011 - 11:44 PM

Here are some preliminary notes on running MetaDataProcessor.exe on WINE. This will let Linux and Mac users run the version of MetaDataProcessor.exe that comes with the .NET Micro Framework. Eventually we'll want to port MetaDataProcessor to portable C, but this will work in the meantime.

This takes the compiled assembly from the C# compiler (Linux instructions; Mac instructions), minimizes it to fit on the CPU, and gives you a PE file that can load dynamically or bundle into a hex file for MFDeploy. It is not a complete solution for compiling or deploying to Netduino on Mac and Linux, but is one of a few steps in that direction.

  • Install Wine
  • Configure wine by running winecfg at the command line.
  • Download the winetricks utility (http://wiki.winehq.org/winetricks)
  • Use winetricks to install the following libraries/packages: vcrun2010, vcrun2008, dotnet30
  • Copy the "le" versions of mscorlib.dll and Microsoft.SPOT.Native.dll into your working directory (where you plan to invoke MetaDataProcessor.exe from).

For your convenience, I have attached a zip file containing these DLLs (as well as some that are needed by the Mono compiler, including a couple of Netduino-specific DLLs) and MetaDataProcessor.exe from NETMF, which is an open source project distributed under the Apache 2.0 license.

Now you can run MetaDataProcessor.exe like this (all on one line):

wine MetaDataProcessor.exe -loadHints mscorlib mscorlib.dll -parse ASM.dll -minimize -endian le -compile ASM.pe

If MetaDataProcessor.exe is somewhere else, change Tools/ to point to its location. Also, replace ASM.dll with the DLL you want to process and ASM.pe with the name of the desired PE output file.

Attached Files




#56640 Micro-JSON for Netduino (and PC)

Posted by Mario Vernari on 05 March 2014 - 12:36 PM

In case you need a lightweight and simple JSON parser and serializer...

http://highfieldtale...etduino-and-pc/

Good luck!




#55466 Netduino and FTDI EVE Board

Posted by Mario Vernari on 18 January 2014 - 06:23 PM

Work in progress...no sources yet! The very first demo of a Netduino Plus 2 connected to a FTDI EVE Board with a 5" TFT Display. http://highfieldtales.wordpress.com/ http://cetdevelop.codeplex.com/ http://www.ftdichip.com/ More demo to come...  




#40401 A Moon Phase Clock

Posted by patduino on 29 November 2012 - 04:02 AM

I’m not sure about you – but ever since watching the Apollo 11 mission in 1969, I’ve been obsessed with the moon. Combine that with my obsession for cool electronic gadgets and Netduinos, and you get the following project: a Moon Phase Clock. And what better time to post this project than during a full moon!

I thought it would be fun to make a clock that showed the current phase of the moon. The project turned out nicely and is currently mounted on the wall of my wife’s first grade classroom. The students are fascinated by it and refer to it often. See Figure 1.

Operation: The shapes of the moon (i.e., the lunar phases) are caused by the light shining on the moon and the position of the Earth relative to the sun and moon throughout the lunar cycle. For my moon, I decided to have 8 lighted segments; which allows me to depict 16 different moon phases, from a New Moon (fully dark), to a Full Moon (fully lit), and back to the New Moon again.

As described in http://www.moonconne...on_phases.phtml the synodic period, or lunation, is exactly 29.5305882 days. It's the time required for the moon to move to the same position (same phase) as seen by an observer on earth.

For my project, the 29.5305882 day synodic period is divided into 16 clock phases, each 1.8456617625 days; or 44 hours 17 minutes and 45.176 seconds; or 159465.2 seconds long. My clock uses a counter to keep track of the time, and advances to the next phase after each 159465 second interval.

Construction: I used an old wall clock for the chassis and put a picture of the moon under the plastic front as shown in Figure 1. The face of the clock is segmented into 8 sections, each with a pair of bright LEDs, as shown in Figure 2.

For the electronics, I used a Netduino Mini mounted on a Radio Shack circuit card. Each of the 8 LED moon phase segments is powered by a GPIO output pin connected to an NPN transistor. The Phase Advance switch shorts a GPIO input pin to ground to allow me to set the clock. This is shown in Figure 3.

On startup, the software initializes its program variables, performs a simple LED test to verify that the lights work, sets the clock to a New Moon (no lights lit), and starts a counter to keep track of the time. When the time for a phase elapses (159465 seconds, as explained above), the software advances the phase and turns the next LED segment on or off, depending on whether the moon is waxing or waning. The user may also advance the phase by pressing the Phase Advance button. The code is included in Attachment 1.

Attached Thumbnails

  • Figure 1 - Moon Phase Clock.jpg
  • Figure 2 - Segmented Clock Face.jpg
  • Figure 3 - Electronics.jpg

Attached Files




#39055 4.2.1 with Nwazet DAQ and Touch Screen

Posted by Chris Walker on 11 November 2012 - 10:43 PM

Moderator note: Just a quick request to make sure we all keep things civil here. The Netduino community is a happy (and even family friendly) place where people come to enjoy their passion and belong to a community of fellow enthusiasts. I know that everyone means well...but we don't want Ulrik or others to feel insulted or alienated. Let's keep this thread limited to helping ensure that [nwazet Touch Display users get updated drivers (or a firmware update if there's a bug in the NETMF firmware) so they can continue enjoying the use of their [nwazet product. If we get too far off topic or insults start hurtling, one of the moderators will close the post. We hardly ever have to moderate that way, but we need users to feel safe and know that they're appreciated here. Chris


#36984 Nwazet Go Pro Kit

Posted by Nevyn on 10 October 2012 - 07:36 PM

HHHMMMnnn That cost me around US$250 + $$(Dymo labels) total around $US300

If you don't like it then don't buy it but at least take the time to appreciate the product for what it is and the hard work that has been put in to it.

Regards,
Mark


#101 Yet another supported shield question (GPS)

Posted by remotewizard on 06 August 2010 - 07:04 PM

Any thoughts as to whether I can use a SparkFun GPS shield and receiver (GPS-09817 / EM-406A ) with the Netduino/Net MicroFramework? Amazon reports my Netduino is in transit - I can hardly wait! Thanks for offering such a nifty product.


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