LG8F328P SSOP20 mini EVB development board (HCDVBD0039)

Post Reply
admin
Site Admin
Posts: 794
Joined: Sun Aug 05, 2012 4:02 pm

LG8F328P SSOP20 mini EVB development board (HCDVBD0039)

Post by admin » Fri Jul 16, 2021 2:51 pm

Image



The LGT8F328P SSOP20 development board is intended to be a very low cost alternative to embedded Arduino boards such as the Pro Mini . Instead of using the Nanos ATMega328p, it instead features the LG8F328P (SSOP20) microcontroller. This microntroller was not only designed to be a low cost replacement for the ATMega328 but it also significantly improves on the 328s features. Most significant of which, the LG8F328P is capable of running sketches at over twice the speed of the Nano and includes other improvements such as higher resolution ADCs, a DAC, and built in unique serial number (GUID).

Supplied with 2 x 10 way straight and 1 x 5 way right-angled 0.1" pitch headers.


PLEASE NOTE: To program this board via the Arduino IDE you will need a suitable USB to 5V TTL serial adaptor. Please see the following items:


Image



HCARDU0011: https://hobbycomponents.com/usb-interfa ... rt-adapter

OR

HCMODU0076: https://hobbycomponents.com/usb-interfa ... al-adaptor



Features:

Model: LG8F328P SSOP20 Mini EV HCDVBD0039
Supply voltage: 6.5 to 12V via RAW pin / 5V via 5V pin
Supply current (VIA 5V Pin): ~18mA
Clock speed 32MHz
Flash 32K
SRAM 2K
DIO: 9 / max 13
ADC: 4 (12 bit)
DAC: 1 (8 bit)
Comparator 1
PWM Max 5
Dimensions (ex header pins): 31mm x 18mm x 3.5mm



Arduino IDE Setup Guide:

Note: This setup guide assumes that you have already downloaded and installed the Arduino IDE. If not please download and install it from the Arduino website here: https://www.arduino.cc/en/software

Adding support for the LGT8F328P development board is as easy as adding support for most other types of Arduino boards thanks to a set of board manager files created by David Buezas. To add board support to your Arduino IDE simply follow these steps:

1) Open up your Arduino IDE and click on the 'File' menu then select 'Preferences'


2) In the window that opens up locate the text box labelled 'Additional Boards Manager URLs:' then click on the open window button to the right of the text box:


Image


3) In the window that opens up cut and paste the following on a new line:

https://raw.githubusercontent.com/dbuez ... index.json


Image


4) Once pasted in, close the window and the Preferences window by clicking the OK buttons.


5) Next, in the main Arduino IDE window click the 'Tools' menu then go to the 'Board:' option and select 'Boards Manager' from the sub-menu.


6) In the Boards manager window that opens up locate the board files titled 'LGT8fx Boards' and then click on it's install button.

Image


7) The Arduino IDE will now install the board files required to support the LG8F328P board:


Image



Now plug the LGT8F328P development board into your computer via your USB to serial adaptor.

Open the Arduino IDE and click on the 'Tools' menu then under the 'Boards' menu you should find a few new board options for various LGTF328 based boards. Select the board named 'LGTF328'

Once selected set the other settings as follows:

Clock Source: "Internal"
Clock: "32 MHz"
Variant: "328P-SSOP20 (e.g. green pseudo pro mini)"
Port: The COM port assigned to your USB to serial adaptor

You are now ready to upload a sketch to your board. To check that everything is set up correctly try uploading the following blink sketch:


  1. void setup()
  2. {
  3.   pinMode(13, OUTPUT);
  4. }
  5.  
  6. void loop()
  7. {
  8.   digitalWrite(13, HIGH);  
  9.   delay(1000);            
  10.   digitalWrite(13, LOW);
  11.   delay(1000);                
  12. }

If everything was setup correctly the sketch should upload to your board and when complete its built-in LED should be blinking slowly


FAQ:

How do I use the DAC?

The DAC is available on pin D3. You can use it via the Arduinos analogWrite() function except rather than outputting a PWM signal it will instead output an 8 bit resolution analogue voltage. See example sketch:

  1. // Output a sawtooth waveform as fast as possible. (c) HobbyComponents.com
  2.  
  3. byte level = 0;
  4.  
  5. void setup()
  6. {
  7.   analogReference(DEFAULT);
  8.  
  9.   pinMode(DAC0, ANALOG); //DAC0 is pin D3
  10. }
  11.  
  12. void loop()
  13. {
  14.   analogWrite(DAC0, level);
  15.   level++;
  16. }


How do I access the built-in serial number?

The 32 bit serial number is accessed via 8 bit registers GUID0, GUID1, GUID2, & GUID3. You can access these as one 32 bit number like this:

  1. // Access the devices unique serial number (c) HobbyComponents.com
  2. void setup()
  3. {
  4.   Serial.begin(9600);
  5.  
  6.   // Assign a 32 bit pointer to the start of the serial number
  7.   uint32_t *guid = (uint32_t) &GUID0;
  8.  
  9.   // Output the serial number to the UART
  10.   Serial.println(*guid, HEX);
  11. }
  12.  
  13.  
  14. void loop()
  15. {
  16. }


Libraries, example code, and diagrams are provided as an additional free service by Hobby Components and are not sold as part of this product. We do no provide any guarantees or warranties as to their accuracy or fitness for purpose.

Descriptions and diagrams on this page are copyright Hobby Components Ltd and may not be reproduced without permission.

Post Reply