CW2's Content - Netduino Forums
   
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.

CW2's Content

There have been 148 items by CW2 (Search limited from 26-June 23)


By content type

See this member's


Sort by                Order  

#59897 LLVM Based Optimizer for MSIL

Posted by CW2 on 25 August 2014 - 05:20 PM in General Discussion

There is one very interesting comment (the first one) for channel9 Visual Studio Team Interview Fun with the Interns: Santiago Fernandez on LLVM Based Optimizer for MSIL, which mentions SharpLang - a .NET (MSIL) compiler front-end for LLVM. Has anyone had a chance to play with it already? Any thoughts?




#59190 Netduino Plus 2 : double.ToString failing on home built firmware 4.2.2

Posted by CW2 on 13 July 2014 - 11:15 AM in Netduino Plus 2 (and Netduino Plus 1)

If I remember it correctly, Yagarto comes with libraries that do not have support for double (and 64-bit integers, so long.ToString() does not work correctly either). You'd need to build custom toolchain with newlib configuration options --enable-newlib-io-long-long and --enable-newlib-io-long-double.

 

Alternatively, you can use GCC Tools for ARM.




#59343 NP2 IRF510 MOSFET

Posted by CW2 on 22 July 2014 - 12:35 PM in Netduino Plus 2 (and Netduino Plus 1)

What kind of load does the transistor switch? What is the current?

 

IRF510 can switch ~1A at VGS = 5V, but I am a little bit suspicious about that "...to open the circuit enough..."

 

You can use any general purpose/small signal BJT (2Nxxxx, BC5xx) or MOSFET (e.g. BS170) to control the power MOSFET. In special case (e.g. very fast switching) you might need a dedicated MOSFET driver IC.

 

IRL510 is the variant with lower gate threshold voltage (<2V), it can switch 1A at VGS > ~2.75V.




#56625 Source Control for Porting Kit and netduino

Posted by CW2 on 04 March 2014 - 04:41 PM in General Discussion

There are certainly more ways how to do it, based on personal preferences and development workflow, but you'd probably need to set up a few branches - I usually use something like this: 
master  O-- ...                                                         --[My 1.0]...
         \                                                                   ^
netmf     \--[NETMF4.3]--[NETMF4.3QFE1] ... [NETMF vNext]                   /
                                \                        \  (merge)        /
netduino                         \--[SL 4.3.1] ...    [SL vNext]...       /
                                          \                              /     
my-netduino-changes                        \[Change #1]--[Change #2]... /
This allows me to have complete reference of the official .NET Micro Framework codebase (it would be easier if the Microsoft team decided to use git on CodePlex) and also vendor firmware releases. Every new release is simply added to the appropriate branch, then you can decide what changes will be merged where, if at all. Similarly, development of modifications (features, bug fixes, whatever) happens in a dedicated branch and the finished work will be merged where needed - although it might sound a little bit complicated at first, it is actually very easy to do, especially in git.



#58403 Mythical "Golden Reset Pad"

Posted by CW2 on 26 May 2014 - 04:04 PM in Netduino Plus 2 (and Netduino Plus 1)

The erase pad is available only on the first gen Netduinos - it is connected to the [AT91SAM7] microcontroller ERASE pin, which enables you to perform full flash memory erase. Netduino gen 2 [STM32F] microcontrollers do not have this feature, you have to erase the flash memory via software (DFU utility or using a programmer).




#57132 Accessing the Timer/Counter block

Posted by CW2 on 26 March 2014 - 08:38 AM in Netduino Plus 2 (and Netduino Plus 1)

Well, there are no classes for direct timer access in the current version of .NET Micro Framework, mainly due to the fact that the managed (C#) code is interpreted and running considerably slowly than native (C++) code. IIRC simple pin toggling loop on Netduino gen. 1 can achieve ~10 kHz. Even if you were able to access the timers, you would not have much time to run managed code in the interrupt handler (if at all).

 

What do you want to do?




#60173 Where are the COM ports located on the board?

Posted by CW2 on 21 September 2014 - 06:35 PM in Netduino Plus 2 (and Netduino Plus 1)

You'd need Cadence Allegro Viewer to view the brd file, it has different format and is not supported by Eagle. You can view the pin assignment in the schematics (pdf).




#59975 Analog Input Limits

Posted by CW2 on 03 September 2014 - 06:16 AM in Netduino Plus 2 (and Netduino Plus 1)

The easiest way to measure 5 V on 3.3 V analog input is to use a voltage divider. For precise measurements I think you'd need to use an external specialized IC (ADC) that communicates via a digital interface such as I2C or SPI.

 

Notes:

  • Netduino cannot measure voltage higher than analog reference (Aref), which is limited to operating voltage, which is 3.3 V.
  • Netduino 2 analog inputs are not 5 V tolerant, the absolute maximum allowed input voltage is 4 V.



#60299 Max Power of Vdc Rails

Posted by CW2 on 30 September 2014 - 07:04 AM in General Discussion

5V

 

All Netduino-s use MC33269DT-5.0G (datasheet pdf) linear regulator (LDO), which has "Output Current in Excess of 800 mA".

 

3.3V

 

Netduino gen 1 use 3.3V variant of the same LDO (MC33269DT-3.3G), which means max 800 mA, but it is connected to 5V LDO, so the effective max current will be smaller, due to losses.

 

Netduino gen 2 use DC/DC converter based on ST1S12GR (datasheet pdf), which has output current 700 mA (again connected to 5V LDO, so the effective max current will be smaller due to losses).

 

The 125 mA limit applies to microcontroller pins, not power rails. You have to subtract current consumed by Netduino onboard circuitry (30 ~ 100 mA) from the regulator output.




#61573 How to compile the firmware without networking support (plus 2)

Posted by CW2 on 09 February 2015 - 11:42 AM in Netduino Plus 2 (and Netduino Plus 1)

Alternatively, you could simply build and flash Netduino 2 firmware on your Netduino Plus 2 board.




#56283 PT100

Posted by CW2 on 22 February 2014 - 09:20 PM in General Discussion

Short answer: the PT100 is a resistive sensor, so you cannot connect it directly to an analog input.   Long answer: You'd have to use at least a voltage divider circuit, so you can measure the voltage drop over the sensor and make sure to use low current - usually up to [only] 1 mA, to prevent sensor damage and also reduce self-heating. PT100 is a precision sensor and getting accurate measurements require non-trivial circuits - for example, PT100 has about 20 ? difference in temperature range 0 - 50°C, which at 1 mA translates to 20 mV; also the parameters of microcontroller's ADC has to be considered. I'd recommend you to do some more research and have a look at articles like PT100 sensor - help a beginner? or Can't get a precise reading with PT100 temperature sensor. You might end up with the bridge configuration plus op-amps, or a specialized IC...




#59561 Help with I2C

Posted by CW2 on 05 August 2014 - 11:48 AM in General Discussion

If I understand it correctly, the RTC works fine, but the LCD does not? You said the RTC has I2C pull-ups - do you use external pull-ups when the LCD is connected alone?

 

Have you checked the LCD module IC PCF8574 datasheet to verify the communication protocol is implemented correctly?

 

What is the LCD module supply voltage? In case of 5V, do you use level shifter to ensure proper logic levels from Netduino 3.3V outputs? PCF8574 logic high minimum voltage when powered by 5V supply is 0.7*VDD = 0.7*5V = 3.5V, so 3.3V is not enough (Arduino is 5V, so that would explain why it works).

 

...but have received ZERO replies, accordingly I am trying here.


It is not unusual to get a reply after a few days, especially when asked during a holiday season; and the probability gets lower for special hardware setups, too general and hard to troubleshoot issues ("it does not work"), without providing at least circuit schematic (photo of the actual wiring even better), the code etc. It's not the community does not want to help you, but there are just too many unknowns...




#59537 Assembly code

Posted by CW2 on 04 August 2014 - 06:08 AM in Visual Studio

Well, there is no assembly generated for the application - it is compiled [by .NET compiler, either C# or VB.NET] to assembly (.dll) which contains Common Intermediate Language (CIL), formerly called Microsoft Intermediate Language (MSIL). The current implementation of .NET Micro Framework does not have Just-In-Time compilation (that produces native assembly), the intermediate language code is interpreted.

 

You can use tools like ildasm.exe (part of the .NET Framework SDK, also installed with Visual Studio), .NET Reflector or any of its alternatives to view the contents of the .NET assembly, including the intermediate language disassembly.




#59431 Visual Studio 2013 official support yet?

Posted by CW2 on 29 July 2014 - 05:53 AM in Netduino Plus 2 (and Netduino Plus 1)

I think the most recent is comment by Sal Ramirez on the official .NET Micro Framework blog (posted on 7/11/2014):
 

Yes, we are working on Visual Studio 2013 support and we should have preview bits to release to the community soon, likely in the next few weeks.




#59482 LCD panel from old 8.5" Philips TV (a085fw01 v7)

Posted by CW2 on 31 July 2014 - 06:36 AM in General Discussion

IMVHO it will be rather hard - as you can see in the datasheet, the LCD requires complex driving signals with precise timing (e.g. tCPH is 99 .. 107 ns) and multiple voltages (for an overview how to drive LCD with a microcontroller have a look for example at AN658). You'd also need some serious tools for troubleshooting, like oscilloscope and/or logic analyzer.

 

There are microcontrollers with dedicated (hardware) LCD drivers, e.g. STM32F427/37, which makes it a little bit easier, but still it is going to be a lot of work...

 

Much easier is to use the existing driver board from the TV and hope it has some usable interface. Almost certainly undocumented, so you'd need to decode the protocol...




#57784 Has anyone successfully used a HS1101 humidity sensor?

Posted by CW2 on 27 April 2014 - 08:24 AM in Netduino 2 (and Netduino 1)

You should be able to use TristatePort for that:

// Initially set to input mode
var port = new TristatePort(Pins.GPIO_Pin_D0, false, false, ResistorModes.Disabled);

port.Active = true; // set to output mode
port.Write(true);
...
port.Active = false; // set to input
port.Read();

Note: In your original code, you'd have to dispose the port object before another one can be created - add RCtime.Dispose() before ... = new InputPort(...).




#61685 I2C on original netduino not reading multiple bytes

Posted by CW2 on 21 February 2015 - 07:58 PM in Netduino 2 (and Netduino 1)

You'd need special I2C methods that support repeated-start condition, as described in http://forums.netdui...rt-bit-support/




#60406 Tic Toc

Posted by CW2 on 13 October 2014 - 04:48 PM in General Discussion

I have seen it in the other forum. Impressive, to say the least! Hats off to the electronics team  :P




#59417 IE support with this forum software - copy and paste doesn't work

Posted by CW2 on 27 July 2014 - 06:01 PM in Netduino Plus 2 (and Netduino Plus 1)

Internet Explorer 11 - Copy Paste issue

It seems to be a problem of the text editor the forum uses (CKEditor) - it was not IE11 compatible until version 4.3, which was released after IP.Board 3.4.6 (the actual version running the forum) shipped; it should be fixed in IP.Board 4.0.0.




#60125 Building custom Netduino Mini

Posted by CW2 on 16 September 2014 - 08:55 AM in Netduino Mini

To get some ideas, have a look at the schematics (pdf, from the downloads page), there is also board file (for Cadence Allegro Viewer, does not work in Eagle). The microcontroller is AT91SAM7X512-CU.
 
However, AT91SAM7 is rather old and there is no 4.3 firmware - you might want to consider a more recent microcontroller, such as Cortex-M3/M4, which are very popular.
 
Community member Juzzer has done some amazing work regarding custom designed boards, also see his posts in GHI forums.



#59675 Powering the Netduino model 1

Posted by CW2 on 12 August 2014 - 06:18 AM in Netduino 2 (and Netduino 1)

Does the board have its own regulator for being powered between 7 and 9 volts via the barrel connector?

 
Yes, there is MC33269DT-5.0G linear regulator (datasheet pdf). It has typical dropout voltage ~1 V (max 1.35 V at 800 mA), which means you have to provide at least ~6.5 V input to have stable 5 V output. Absolute maximum input voltage is 20 V, the recommended ~7 - 12 V range is to minimize power losses - the higher input voltage the higher power has to be dissipated as heat.




#59984 Safe code to convert byte[4] to float

Posted by CW2 on 04 September 2014 - 06:19 AM in General Discussion

The BitConverter class was added in .NET Micro Framework 4.3.




#59770 Small update from the .net MF team

Posted by CW2 on 18 August 2014 - 07:51 PM in General Discussion

Fingers crossed  :P




#60753 DateTime in NativeEventHandler()

Posted by CW2 on 19 November 2014 - 07:44 AM in Netduino Plus 2 (and Netduino Plus 1)

The time resolution on gen 2 Netduinos is 1 µs.

 

The microcontroller has many timers with multiple capture/compare channels, unfortunately this functionality is not exposed in the current implementation of .NET Micro Framework. For precise measurements you'd need to add the functionality to the firmware or abuse any of the existing hardware modules (UART, SPI?).




#58666 VC0706 Adafruit camera and Netduino Plus 1

Posted by CW2 on 10 June 2014 - 05:43 PM in Netduino Plus 2 (and Netduino Plus 1)

How exactly are you converting the source string? Base64 is not simple substitution, it converts three octets (bytes) into four 6-bit encoded characters, using some bit manipulation.




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.